优秀的性能可以保证工具的流畅度,而调试的效率也有助于提升工具的用户体验。波形系统只是仿真调试工具中的一个部分,调试工具还有很多很多其他的核心技术,比如代码和电路图调试等。但是观测波形是验证工程师最常用的一种手段,作者希望通过介绍波形系统中的一些基本技术让用户将来选择工具时更加有针对性。同时也希望验证工程师能利用好工具,提升工作效率。

在芯片功能验证中,仿真波形一直是调试的重要手段。通过观测分析波形,工程师可以推断代码是否正常运行,电路的功能是否正确,设计是否满足预期。波形解决了芯片验证调试中可观测性的问题,虽然单独依赖观测波形不足以解决调试的所有问题,但是波形是一个最基本的手段。很多FPGA和硬件设计工程师都将仿真波形看作是硬件调试的示波器或者逻辑分析仪。

数字电路中的波形通常由四值逻辑表示,包括:1 - 高电平,0 - 低电平, X - 不定态,Z - 高阻态。

当然,为了降低复杂度,有些仿真系统简单地忽略不定态和高阻态,仅使用二值逻辑表示。波形系统就是将仿真数据通过可视化的方式显示出来。高级波形系统需要更多功能,包括对协议事务级(protocol transaction),混合信号(mixed signals),文本输入输出(File I/O)等功能的显示。目前的大部分EDA厂商工具,都将波形系统都嵌入在各个仿真器和调试工具中,成为紧密结合的一部分。

业界的有多种波形格式,除了VCD是一个公开的标准格式之外,其他商业性质的各具特点,在性能和功能上各有优缺点。目前业界最普遍使用的是C2工具,它具有非常高效的数据压缩率,用户界面也非常友好,但是在大型设计上数据加载还是稍慢,底层优化有待进一步改进。C1工具操作性稍显复杂,人机界面的易用性还有很大的提升空间。B工具中规中矩,它和A工具在数据压缩率上都不能和C2工具相比。下列表格列出各自的一些特性。

波形系统在芯片验证中至关重要,设计验证工程师在使用波形调试的时候,对EDA工具有很高的期待,也提出了很多具体的要求。本文将探讨波形系统的三个关键技术,通过这些具体的技术细节理解,工程师可以深入的了解波形系统的性能和易用性,以便将来选择工具时做出更好的判断。

性能指标:良好的压缩率和内存管理

一个IP可能包含着数千万个的信号,这些信号随时间产生的数据量是巨大的。如果在波形系统中不对数据进行有效的压缩,而只是简单的随时间来记录波形数据,这样最终的数据量将是巨大的。即便在目前磁盘价格日益下降的今天,这样的数据量对于一个复杂IP或者SOC的调试来说,这种大量的磁盘空间积聚也是无法接受的。一个巨大的波形不仅仅对磁盘空间产生各种挑战,最大的问题还在于当调试器调用这些数据的效率。

业界比较通用的波形开放标准是基于VCD (Value Change Dump)格式的,这个格式是基于IEEE1364标准的,也就是VerilogHDL标准中定义的一个用文本方式存储波形的数据格式。这种格式主要是记录波形的名称,对应数值变化的时间点,和数值变化量。他的最核心的思想是只在Value change(VC)的时候做数据和时间点记录,而在没有VC时候不做任何记录。

由于它不用记录每个时间点的波形数值,从某种意义上来说也有一定的数据压缩效果。但即便如此,在一个复杂IP中产生的VCD文件尺寸也可能超过几百GB,由于是文本数据格式,工具在读取文件索引数据上效率也不高,因此,在大型设计中利用VCD做波形调试,会遇到很多性能瓶颈。

各大EDA商业公司都有自己的波形格式。虽然具体的标准都是私有的,但大致都是基于数据库的方式来存储和管理波形数据。这些数据不仅仅是存储,还会进一步地压缩和优化,以便减少磁盘开销,并让工具更有效地读取和管理数据。由于波形是调试的重要工具,各大EDA厂家都有针对波形的压缩技术,对调试器的图形波形界面都做了优化,方便用户的使用,最大程度提高调试的效率。然而,除了关键的压缩技术之外,对工具来说还有一个重要的特性就是内存管理技术。

一个调试工具的内存管理技术决定了这个工具的可用性和易用性。在当下大量数据交互的仿真技术领域,优秀的内存管理技术对工具而言至关重要。简单的来说,内存管理就是工具需要数据放置在磁盘或者内存中寻求一个平衡点,或最优化的比率。

过多的数据放在磁盘,每次工具在加载波形时候会非常缓慢;过量的数据加载到内存,会造成内存爆炸,让整个服务器运行缓慢,从而也导致效率和用户体验下降。

有个笑话,说某工程经理特别要求工程师必须在中午12点开始加载波形调试,加载过程中内存基本耗尽,服务器无法做其他事情,吃完午饭午休后,工具完成波形加载,工程师就可以看波形开始调试工作了,这样就可避免时间浪费。这个笑话虽然经不起仔细推敲,但是它反映了某些工具在内存管理上的缺陷和不足,会导致严重的性能问题和降低用户体验。无论如何,一款好的调试工具都要解决或者避免这些问题。

调试的有效性

除了上述提到的底层核心技术以外,对于波形工具技术本身来说,它必须具备几个关键应用层面技术:仿真器的高效配合,以及场景级(scenario)和事务级(transaction) 操作类型的表示。虽然波形非常直观地反映了设计内部的信号变化,但是设计本身是RTL,而且是信号间有相互关联,因此调试不能仅仅依赖于观测波形,很多时候工程师需要仿真器的配合让调试变得更加有效。

RTL和测试平台(testbenches)在运行后,其实本身很类似通用软件代码运行过程,很多工程师在观测波形变化的时候也希望能了解代码的执行情况;同样在代码调试的过程中,很多时候需要理解代码的执行过程和相对应的信号变化。这个时候对仿真器的单步动态调试可以配合波形变化,工程师可以直观的了解某段代码的执行过程和信号变化。这种类似软件单步调试的方式也是芯片验证中常用的手段之一。

信号驱动追踪(signal driver tracing)是一种常用的调试技术,它通过某个信号查询它的驱动源头。当用户在波形界面上发现信号在某个时刻出现问题后,用户可以追踪这个信号的驱动源,这样调试类似结果到原因(effect and cause)推导过程,大大加强了调试的有效性。通常信号的源头可能不是单一而是多个,用户可以选择在波形界面来观测多个源头,也可以通过仿真器和调试器的配合来选择使用代码或者电路图(schematic)方式进行观测。这种信号溯源技术需要仿真器和调试工具的有机结合,底层也需要高效数据库的支持。

事务级视图(Transaction Viewer)。在复杂设计中大量的信号里厘清数据真实含义是非常困难的,用户往往需要参考几十个信号的量的变化来确定数据类型和操作。例如,一个AXI协议的读写操作涉及到的信号可能有20多个。完成一次读写需要用户在一段时间内观测大量信号的变化,这种操作效率低下,不利于长时间的调试过程。Transaction viewer可在图形界面提供更高层次的视角,让用户直观地了解这些transaction的数据类型和定义,而不需要再从底层信号分析数据。有了这个工具,用户可以快速分析调试数据,包括enum type, class based transaction, sequence item等等。当然,要实现一个transaction可视化,还是需要仿真器配合,以及代码的一些额外工作,比如使用验证IP (VIP),或者使用SystemVerilog等高级建模语言描述。

交互界面的流畅度和易用性

波形工具和其他的验证工具不一样,它是一个频繁和用户交互的图形界面,这些交互体现在用户的鼠标键盘操作和对图形长时间的肉眼观测;和大多商业软件或者移动App一样,这个工具需要用户长时间操作和交互,用户体验成为了波形工具至关重要的一个因素。用户体验通俗来说就是工具的流畅度和易用性。加载波形的速度,波形窗口缩放的响应,代码和波形相互对应(cross-probing),波形比较与合并等,都可以看成是工具的流畅度的体现。

工具的流畅度,除了工具自身的优化,主要还取决于上面谈到的数据压缩和内存管理的优化。一个好的波形工具应该能让工程师很快上手操作,而不需要花费时间学习或培训。简单的功能可以快速地通过菜单选项实现,复杂的功能也可以开放数据接口,让用户编程操作。

总结

上述谈到的几点其实都是相互关联的。优秀的性能可以保证工具的流畅度,而调试的效率也有助于提升工具的用户体验。波形系统只是仿真调试工具中的一个部分,调试工具还有很多很多其他的核心技术,比如代码和电路图调试等。但是观测波形是验证工程师最常用的一种手段,作者希望通过介绍波形系统中的一些基本技术让用户将来选择工具时更加有针对性。同时也希望验证工程师能利用好工具,提升工作效率。

作者:David Hwang,芯华章科技产品市场总监

责编:Amy Guan

阅读全文,请先
您可能感兴趣
拍卖标的包括三项域名以及15项软件著作权和14项专利。其中,三项域名的起拍价为13879元,15项软件著作权和14项专利的起拍价为15550元……
Rambus的HBM4控制器IP还具备多种先进的特性集,旨在帮助设计人员应对下一代AI加速器及图形处理单元(GPU)等应用中的复杂需求。这些特性使得Rambus在HBMIP领域继续保持市场领导地位,并进一步扩展其生态系统支持。
一直听说x86指令集天生做不了低功耗,真的是这样吗?这篇文章着重谈谈酷睿Ultra二代是怎么考量低功耗的,有没有可能做到低功耗...
对于股价波动的原因,寒武纪表示,除了公司经营层面的因素外,还可能受到其他因素的影响。寒武纪还提醒投资者,应甄别信息来源,具体情况以公司公告为准。
此次财报也从侧面反应了半导体行业在AI业务上的强劲增长势头,但同时也暴露出非AI业务增长乏力的困境。
今年的CadenceLIVE中国用户大会上,Cadence谈到在芯片领域之外,数据中心、生命科学、航空航天等系统设计领域的仿真技术应用相当有限,这对Cadence而言是重要的市场机会。与此同时AI技术的发展,也在推动着市场前行...
• 得益于西欧、关键亚洲市场和拉丁美洲市场的增长,以及中国品牌的持续领先,全球折叠屏手机出货量在2024年第二季度同比增长了48%。 • 荣耀凭借其在西欧特别强劲的表现,成为最大的贡献者,成为该地区排名第一的品牌。 • 摩托罗拉的Razr 40系列在北美和拉丁美洲表现良好,为其手机厂商的出货量贡献了三位数的同比增长。 • 我们预计,头部中国手机品牌厂商的不断增加将至少在短期内抑制三星Z6系列在第三季度的发布。
AI技术的发展极大地推动了对先进封装技术的需求,在高密度,高速度,高带宽这“三高”方面提出了严苛的要求。
奕斯伟计算2024首届开发者伙伴大会以“绿色、开放、融合”为主题,从技术创新、产品应用、生态建设等方面,向开发者、行业伙伴等相关方发出开放合作倡议,加速RISC-V在各行各业的深度融合和应用落地,共同推动RISC-V新一代数字基础设施生态创新和产业发展。
2024年 Canalys 中国云计算渠道领导力矩阵冠军厂商分别是:阿里云、华为云和亚马逊云科技(AWS)
点击蓝字 关注我们德州仪器全球团队坚持克服挑战,为电源模块开发新的 MagPack™ 封装技术,这是一项将帮助推动电源设计未来的突破性技术。  ■ ■ ■作为一名经验丰富的马拉松运动员,Kenji K
文|德福很多去成都旅游的朋友都有个疑惑——为什么在成都官方的城市标志上看不到熊猫,而是一个圆环?其实这个“圆环”大有来头,它被唤作太阳神鸟,2001年出土于大名鼎鼎的金沙遗址,距今已有三千余年历史。0
周二,捷普科技(Jabil)官员与印度泰米尔纳德邦代表团在泰米尔纳德邦首席部长MK Stalin的见证下,签署了一份备忘录。MK Stalin正在美国进行为期17天的访问,旨在吸引新的投资。MK St
天眼查信息显示,天津三星电子有限公司经营状态9月6日由存续变更为注销,注销原因是经营期限届满。该公司成立于1993年4月,法定代表人为YUN JONGCHUL(尹钟撤),注册资本约1.93亿美元,
会议预告向世界展示中国最具创新力、领导力和品牌化的产品与技术!9月27号,“第6届国际移动机器人集成应用大会暨复合机器人峰会”将在上海举行,敬请关注!逐个击破现有痛难点。文|新战略半导体行业高标准、灵
‍‍‍‍上市PCB厂商竞国(6108)日前出售泰国厂给予陆资厂胜宏科技后,近日惊传台湾厂惊传12月前关厂,并对客户发布通知预告客户转移生產,最后出货日期2024年12月25日。至於后续台湾厂400名员
在苹果和华为的新品发布会前夕,Counterpoint公布了2024年第一季度的操作系统详细数据,数据显示, 鸿蒙操作系统在2024年第一季度继续保持强劲增长态势,全球市场份额成功突破4%。在中国市场
近日,3个电驱动项目迎来最新进展,包括项目量产下线、投产、完成试验等,详情请看:[关注“行家说动力总成”,快速掌握产业最新动态]青山工业:大功率电驱项目下线9月5日,据“把动力传递到每一处”消息,重庆
随着汽车智能化升级进入深水区,车载ECU(域)以及软件复杂度呈现指数级上升趋势。尤其是多域、跨域和未来的中央电子架构的普及,以及5G/V2X等车云通信的增强,如何保障整车的信息与网络安全,以及防范外部