0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Deterministic ICE的介绍和研究

西门子EDA 来源:djl 2019-10-12 08:49 次阅读

Deterministic ICE中也许已完美地将电路内仿真 (ICE)与基于软件测试的虚拟环境相结合。

需要指出的是,ICE模式曾经是硬件加速器的第一种部署方式。在这种模式中,硬件加速器需要插入物理目标系统上的插孔,以此代替待开发的芯片,从而利用实时数据支持运行和调试硬件加速器内部映射的被测设计(DUT)。

与ICE模式相比,笔者更喜欢虚拟环境模式中的部署,且该模式拥有基于软件的测试环境。与寄存器传输级 (RTL) 相比,它是在更高抽象层次上进行编写的,以此代替物理目标系统。(参见下表)。

正如意大利的一句流行说法:“让凯撒得到他应得的”。或者如美国的一句流行语,“即使对不喜欢的事物也要公平对待”。显然,ICE最大的好处就是可以通过真实流量来运行DUT,进而减少耗时并且避免测试平台创建过程中可能出现的错误。赶紧在实际应用中全面施行这一流程吧。想必,要在模糊的设计区域里寻找令人厌烦的隐匿错误,实际应用会比任何基于软件的测试平台都更为有效。

ICE的另一个独特性在于它能支持与目标系统连接的自定义和专有接口,而该目标系统基于的高度机密IP内容是硬件加速仿真的终端用户绝无法向外界披露的。将这种方法与创建和调试测试平台比较。如果出现错误,设计人员最后总是会问:“这是测试平台错误还是设计错误?”很显然,调试测试台会延长验证任务的总分配时间,而用于验证的时间从来都是不够的。

关于Deterministic ICE的介绍和研究

ICE验证方法伴随着众多问题,其中大部分问题源于该方式的硬件本质。这些问题包括缺乏灵活性、有限的复用性、存在潜在不可靠性以及各种影响部署的不便性。更别提,ICE还会产生额外成本以及功耗,这些可通过虚拟方式降低或快速消除。

其中最突出的一个问题就是:当调试DUT时,它缺少确定性或者可重复性。

设计调试

设计调试是无法提前规划的一种探寻过程。这是因为,错误往往因为未知的原因,在未知的地方和时间,出其不意的出现。

如果将其应用于包含大量嵌入式软件的几亿门片上系统 (SoC) 设计时,调试过程需要较长序列。为了在硬件或者软件设计中找到隐藏于未知角落的错误,这些序列需要运行,即使不是几十亿次,也得是几百万次的验证周期。

在以上示例中,存在三个关键未知因素:地点、时间和事由。这三个因素足以延误整个测试计划的进度,即便该计划已经过深思熟虑。请谨记,在竞争如此激烈的市场中,若一项生命周期为24个月的新产品延期一个月上市,那么它将造成 相当于潜在总收益12%的损失。若产品生命周期为12个月,如现代智能手机,其潜在损失将大幅增加,约占总收益的25%或四分之一。

潜在的损失足以说明验证解决方案的价值所在。

硬件加速仿真就是此项任务的最佳选择。硬件加速器的性能极为快速,与硬件描述语言(HDL)软件仿真器相比,其执行和调试速度高出了几个数量级。事实上,它们的快速执行速度便是它们的设计初衷。对于疑似隐藏设计问题的区域,它们即便在运行了几十亿次周期之后,仍能快速缩放。

虽然相较于基于软件的验证解决方案,硬件仿真价格更高昂,但在从每个验证周期来看,它们却是最便宜的验证引擎。

ICE 调试问题

然而,在ICE模式中调试芯片设计会显得过于繁琐而又令人沮丧。这是由于物理目标系统缺少确认性以及可预测的行为,从而妨碍了错误的发现并延长了发现时间。

使用硬件加速器追踪DUT的错误,就需要基于特定时间触发,全速地把每个设计寄存器的活动捕获到追踪存储器中。追踪存储器容量很有限,仅能容纳几百万次周期的波形深度,这相较于几十亿次全速运行的周期是非常少的。

关于Deterministic ICE的介绍和研究

连续运行时,会在不同的时间/区域内显示相同的设计错误或者根本不显示任何设计错误。

因此,用户为了找到自己感兴趣的调试窗口和转储正确的波形最终需要进行多次——很可能是数百次的运行。由于ICE模式行为具有随机性,每次运行都可能会在不同的时间点内检测出相同的错误,甚至更糟糕的是,根本检测不出任何错误(参见上图)。它具有随机性。很显然,在ICE模式中复现错误是一项挑战,其对于快速找到错误根源至关重要。

来看下SoC大量使用第三方IP的例子。经常,一个能单独工作的IP核在内嵌于SoC时却无法工作。利用ICE模式对深埋于DUT的IP进行调试可能会导致验证团队没日没夜地加班。

Deterministic ICE

于是,问题变成了:是否可让ICE的调试环境具有确定性?很高兴,答案是肯定的。

如果设计人员在精确序列中的首次运行中,捕捉到激励和响应,然后移除物理目标系统(内在非确定性)并不断回放激励,那么调试环境将具有可重复性和确定性。这就称为Deterministic ICE。

基本上,这种方法是将物理ICE环境转变为等效的虚拟环境,从而让设计人员获得虚拟环境的所有特征和功能优势。它们可以检查断言与覆盖率收敛、执行低功耗分析和功耗估计,并进行嵌入式软件调试。

当需要专有接口时,ICE模式是硬件加速仿真用户的唯一可行方案。值得庆幸的是,Deterministic ICE能帮助设计人员避免众多问题,改善ICE模式不那么吸引人的形象。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5305

    浏览量

    119921
  • 存储器
    +关注

    关注

    38

    文章

    7444

    浏览量

    163558
  • 加速器
    +关注

    关注

    2

    文章

    791

    浏览量

    37721
收藏 人收藏

    评论

    相关推荐

    ice插座式滤波器的作用

    随着物联网、智能家居等技术的快速发展,越来越多的设备将接入网络,形成复杂的电磁环境。在这种情况下,ice插座式滤波器的重要性将更加凸显。
    的头像 发表于 09-19 10:13 223次阅读

    pico-ice:RP2040 plus Lattice iCE40UP5K FPGA 开发板 介绍

    pico-ice是一个小型、低成本的开发板,带有Raspberry Pi Pico RP2040微控制器和 Lattice 半导体 iCE40UP5KFPGA 。它带有独立的闪存、低功耗SSRAM
    发表于 06-28 15:45

    技嘉RTX 4070 Ti SUPER Eagle OC ICE冰猎鹰显卡评测

    3月正是开学季,技嘉作为专注板卡大厂,在这个时候带来了4款基于GeForce RTX 40 系列的EAGLE OC ICE冰猎鹰显卡,分别对应RTX 4070 Ti SUPER、RTX 4070 SUPER、RTX 4060 Ti 与RTX 4060四款芯片。
    的头像 发表于 03-06 10:00 2176次阅读
    技嘉RTX 4070 Ti SUPER Eagle OC <b class='flag-5'>ICE</b>冰猎鹰显卡评测

    ICE3PCS01G PFC工作异常,开机功耗大,不能升压的原因?

    ICE3PCS01G PFC工作异常,开机功耗大,不能升压。我想是不是ICE3PCS01G PFC PCB地走线没走好,帮忙看看
    发表于 03-04 08:32

    请问PSoC MiniProg在PSoC Designer5.4上可作为ICE仿真器使用吗?

    大家好! 请问一下,PSoC MiniProg在PSoC Designer5.4上可作为ICE仿真器使用吗?
    发表于 01-31 06:51

    Nuvoton的M2351板子,尝试启动Debugger时,显示ICE设备找不到怎么解决?

    ,能从串口看到输出。可是在尝试启动Debugger(Nu link Debugger)时,显示ICE设备找不到。
    发表于 01-17 08:23

    NuEdu M451的Nu-Link-Me更新过后,电脑就无法辨识USB ICE 怎么解决?

    NuEdu M451的 Nu-Link-Me 更新过后,电脑就无法辨识USB ICE
    发表于 01-17 08:17

    NUC505安装USB ICE驱动一直无法安装成功怎么解决?

    之前安装过M0的LINKME驱动正常,将NUC505的DEMO板插上后提示安装USB ICE驱动,一直无法安装成功,求指教。谢谢!
    发表于 01-17 06:05

    keil出现ICE Cmd error Wait mcu reset timrout怎么解决?

    keil出现:ICE:Cmd error:Wait mcu reset timrout Error: Flash Download failed-Target DLL has been cancelled 请问怎么解决
    发表于 01-16 06:19

    可以通过ICE-1000向BF707中烧写程序吗?

    我写了个简单的程序,可以使用ICE-1000仿真,现在我想把程序写入到spi-flash中,不知道怎么操作,请大家指导一下,谢谢!
    发表于 01-12 07:21

    ADSP21469仿真器HPUSB_ICE插入电脑时,电脑提示不识别的原因?

    用的是ADSP21469评估板,之前使用的时候一直没有问题,最近仿真器HPUSB_ICE插入电脑时,电脑提示不识别(unknown device),不知道哪里出了问题,希望给于帮助,非常感谢
    发表于 12-13 08:32

    请问ADZS-USB-ICE仿真器支持CrossCore Embedded Studio吗?

    ADZS-USB-ICE仿真器 支持 CrossCore Embedded Studio吗?
    发表于 11-29 06:54

    ADZS-HPUSB-ICE和仿真器ADSP-HP5301CE连接21489 demo板报错怎么解决?

    使用仿真器:ADZS-HPUSB-ICE和仿真器ADSP-HP5301CE连接21489 demo板,都出现了的问题。
    发表于 11-29 06:51

    ice-2000烧录sharc程序失败是为什么?

    今天使用ice2000烧录软件,产生以下错误: 目标阴影模拟器/EZ-KIT Liites 经由ICE-2000的ADSP-21489平台 ADSP-21489 处理器 核心核心0 驱动程序
    发表于 11-28 06:41

    CCES无法通过仿真器ICE-1000连接到目标处理器ADSP_21571怎么解决?

    所使用的开发环境是CCES,CCES无法通过仿真器ICE-1000连接到目标处理器ADSP_21571,所使用的是调试接口是JTAG,调试例程是CCES的自带例程,求解答,谢谢。(下图是CCES报错截图)
    发表于 11-28 06:41