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

在芯片功能验证中,仿真波形一直是调试的重要手段。通过观测分析波形,工程师可以推断代码是否正常运行,电路的功能是否正确,设计是否满足预期。波形解决了芯片验证调试中可观测性的问题,虽然单独依赖观测波形不足以解决调试的所有问题,但是波形是一个最基本的手段。很多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

阅读全文,请先
您可能感兴趣
面对AI时代带来的差异化趋势、软件应用及开发时间长、软硬件协同难、高复杂度高成本等挑战,国产EDA仍需不断探索和创新。
通过机器学习技术,EDA工具可以获取更精确的模型来预测设计中存在的问题,如布线拥塞、信号干扰、热效应等,从而为用户提供更准确快速的指导,避免后期返工。
该小组汇集了国内外领先的芯片及IP、嵌入式开发工具、操作系统等厂商,形成强有力的组织,使命是通过一站式功能安全认证服务,帮助企业提升认证价值,满足IEC 61508、ISO 26262等国际功能安全认证标准,从而更高效地达成功能安全要求。
在ICCAD 2024主峰会上,中国半导体行业协会集成电路设计分会理事长魏少军教授带来“中国芯片设计业要自强不息”主题报告演讲,深入解读了过去一年中国IC设计业的发展机遇与挑战,权威分析中国IC设计业各环节的主要数据及其背后的意义。
近日,华为终端BG CEO何刚在和紫牛基金创始合伙人张泉灵的对话中表示,华为Mate 70系列每一颗芯片都有国产的能力。此外,日前在深圳宝安中学的一场讲座中,华为终端BG 董事长余承东也自豪地宣布Mate70实现了芯片的100%国产化。
常情况下,英特尔的CEO在65岁时退休,而现年63岁的基辛格突然被退休,让市场感到意外。为了确保平稳过渡,英特尔董事会立即着手寻找新的CEO人选……
目前,智能终端NFC功能的使用频率越来越高,面对新场景新需求,ITMA多家成员单位一起联合推动iTAP(智能无感接近式协议)标准化项目,预计25年上半年发布1.0标准,通过功能测试、兼容性测试,确保新技术产业应用。
中科院微电子所集成电路制造技术重点实验室刘明院士团队提出了一种基于记忆交叉阵列的符号知识表示解决方案,首次实验演示并验证了忆阻神经-模糊硬件系统在无监督、有监督和迁移学习任务中的应用……
C&K Switches EITS系列直角照明轻触开关提供表面贴装 PIP 端子和标准通孔配置,为电信、数据中心和专业音频/视频设备等广泛应用提供创新的多功能解决方案。
投身国产浪潮向上而行,英韧科技再获“中国芯”认可
点击蓝字 关注我们安森美(onsemi)在2024年先后推出两款超强功率半导体模块新贵,IGBT模块系列——SPM31 IPM,QDual 3。值得注意的是,背后都提到采用了最新的FS7技术,主要性能
近期,多个储能电站项目上新。■ 乐山电力:募资2亿建200MWh储能电站12月17日晚,乐山电力(600644.SH)公告,以简易程序向特定对象发行A股股票申请已获上交所受理,募集资金总额为2亿元。发
投资界传奇人物沃伦·巴菲特,一位94岁的亿万富翁,最近公开了他的遗嘱。其中透露了一个惊人的决定:他计划将自己99.5%的巨额财富捐赠给慈善机构,而只将0.5%留给自己的子女。这引起了大众对于巴菲特家庭
12月18日,珠海京东方晶芯科技举行设备搬入仪式。插播:加入LED显示行业群,请加VX:hangjia188在10月31日,珠海京东方晶芯科技有限公司发布了Mini/Micro LED COB显示产品
12月18 日,据报道,JNTC与印度Welspun BAPL就车载盖板玻璃的开发及量产签订了投资引进业务合作备忘录(MOU)。资料显示,JNTC是韩国的一家盖板玻璃厂商。Welspun的总部位于印度
扫描关注一起学嵌入式,一起学习,一起成长在嵌入式开发软件中查找和消除潜在的错误是一项艰巨的任务。通常需要英勇的努力和昂贵的工具才能从观察到的崩溃,死机或其他计划外的运行时行为追溯到根本原因。在最坏的情
近期,高科视像、新视通、江苏善行智能科技等企业持续扩充COB产能。插播:加入LED显示行业群,请加VX:hangjia188■ 高科视像:MLED新型显示面板生产项目(二期)招标12月18日,山西高科
LG Display  12月18日表示,为加强OLED制造竞争力,自主开发并引进了“AI(人工智能)生产体系”。“AI生产体系”是AI实时收集并分析OLED工艺制造数据的系统。LG Display表
 “ AWS 的收入增长应该会继续加速。 ”作者 | RichardSaintvilus编译 | 华尔街大事件亚马逊公司( NASDAQ:AMZN ) 在当前水平上还有 38% 的上涨空间。这主要得益
上个月,亿万富翁埃隆·马斯克谈到了年轻一代的生育问题。他强调生育的紧迫性,认为无论面临何种困难,生育后代都是必要的,否则人类可能会在无声中走向消亡。他认为人们对于生育的担忧有些过头,担心经济压力等问题