• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025机器人产业趋势论坛报名
传感器

一种快速验证改良设计的比较方法

  2001年02月25日  

在集成电路设计过程中,经常要用到本文描述的一种比较新旧设计的方法,它可以借助现有设计来实现新设计的验证。对不同功能的设计进行比较时,本文介绍了一种管线方法,(中国)集成电路设计和测试工程师可以借鉴这种新的测试方法,用于功能相近的集成电路的改良设计。

Steve Wilson

咨询工程师

Yuri Tatarnikov

技术经理

Intrinsix公司设计中心

在设计过程中,经常会遇到这样的情况,当你刚完成一个新版本客户端小组件控制器的设计,该客户就决定在他们所有的新设计中使用Verilog工具重新设计。因此,在你着手新项目之前,首要任务是把旧的HDL??L%B4%FA%C2%" target="_blank">VHDL代码转换为Verilog代码。你怎样证明转化后的设计是正确的呢?

又比如,你的老板正在阅读他喜爱的EDA杂志,并对“设计复用”特别感兴趣。你的下一个设计任务是,在保留旧功能的前提下,为现有的设计增加新功能。你怎样有效地做到设计复用呢?

第一种情况可以考虑采用形式验证技术, 但第二种情况就不能采用形式验证。

形式验证工具如Avant!的Chrysalis就能够计算证明两个设计是否相同。然而这些工具还不完美,它们比较昂贵,而且不能满足大型设计的要求。

然而,你也可以使用原始测试程序来验证新设计,对于给定的激励,新设计的每一个有效输出都要和过去的设计匹配,本文将介绍一种获得成功应用的设计方法。

对同一个设计的两个不同描述进行比较是人们经常采用的方法。例如,航天飞机在设计中使用了多级冗余设计。这种冗余设计包括硬件和软件两部分。在系统的软件方面,主控制计算机运行一组软件,根据一个中断驱动的优先级方案完成给定的任务。同时,一台运行分时操作系统的后备计算机运行独立的最小软件包,但不执行起飞和降落管理任务。当这两个系统到达相互的检查点(check-point)时,要比较系统是否同时达到该检查点,这个检查点系统类似于下面描述的比较方法。事实上,该方法可以用于调试两个软件系统。

大型复杂设计通常要用高级语言编写一个关于该设计的算法描述,这个描述为基于RTL的设计导出测试向量,当输出向量不匹配时,其差异就表示存在设计问题。当所有的向量都匹配时,就表明设计一致,可以进入生产线。

比较方法

两个版本的模块输入和双向端口都应该连接到原始设计节点,并用测试基准的输入向量驱动。

跟原设计一样,旧模块的输出将保持连接,同时新模块输出连接到比较器的另一侧。运行时比较器也接收旧模块的输出(图1)。当采样比较器的输出时,要用一个“有效”信号将数据从一级转移到下一级,该有效信号对评估样本的质量是必不可少的,它应该同步执行。

两个设计都应该使用完全相同的方法激励。当验证输入来自另一个测试模块的情况下,将旧的设计输出作为新设计的输入。你需要正确的输入,并且假定旧的设计最初是经过验证的。

如果你面临两个不同HDL语言设计的转换时,如果HDL语言是Verilog和VHDL,那么可以采用功能相当强的模拟环境如Mentor Graphics公司的Model Tech环境,该环境可以轻松处理对采用两种HDL编写的模块的仿真。

一旦所有新的测试模块经过全部测试程序验证,你就可以证明对于给定的、由旧的设计测试程序表示的输入集合,新旧设计的输出完全相同。

对于信号运行在模块之间的情况,需要验证新设计的输出是否可以驱动新设计的输入,且最后的输出是否相同。这可以通过每次只对一个模块交换新设计的输入源,并且重复执行测试程序来实现。当你完成了旧设计到新设计的转换过程,你就完成了对新设计的全面测试。

新方法的优点

上述方法有几个优点:1. 两个设计之间的差异在模块级就可立即发现;2. 不需要其它昂贵的工具;3.其它工具不具备这种功能。

由于在新旧设计之间执行循环比较过程中,测试基准都能检测每次发生差异之处,不仅能识别错误信号,而且可识别时钟失效,因此仅需跟踪逻辑图便可确定两个设计的差异,然后校正差异并继续进行比较。

这种方法要增加更多的测试代码,使得测试基准的自检在仿真环境内就能完成,而不再需要其它工具支持。当新旧设计的功能不同时,可以利用管线功能(pipe-lining),此时形式验证方法不适用。

实际应用情况

我们的一个客户最近遇到了这一问题,由于不能使用自动转换工具,因此要把VHDL代码手工转换为Verilog代码,这就要验证近7000行代码。虽然设计工作量不大,但也很可观。

完成模块转化之后,它将与原始VHDL模块并联在一起,并且在所有模块输出之间增加一个比较器。转换过程中就开始测试。如果运行测试程序时发生比较错误,每个比较错误都能得到追踪并加以校正,最后我们在这个并联配置中通过了所有的测试。

下一步,改变一个模块,新设计的输入作为其输入。所有比较器保持不动,再重新运行测试程序一次。重复这个过程,直到新设计的所有新模块的所有输入都轮流充当一次输入。此时,我们已经获得了符合测试基准的同样设计,借助于这种方法,可以直接完成比较。这样可以非常清楚比较的进展情况,并且相当精确地控制工作进度。

另一个实例是客户有一个大型设计,我们使用一个数据路径设计工具来重写几个模块。这个数据路径工具自动插入管线以达到所需的速度目标。新的经过改良的设计以门级和行为级Verilog模块开始比较。

工具的行为级输出与原始设计并联。原始设计的输出根据管线的长度进行延迟,两个向量每个时钟周期比较一次。测试程序在该并联设计上运行,一旦遇到问题即予以纠正。比较方法不仅仅对最初调试有帮助,而且在描述新设计的正确性时很有帮助,因为测试程序还没有用于硅片生产过程。经过转化后的设计成为极好的设计基准。

我们已经两次将这种方法用于不同功能的设计,它具有简单而便宜的优点。在确定新设计的调试进展情况方面它也用得很不错,因为在遇见设计错误的时候,你就已经知道有多少功能测试合格。

Yuri Tatarnikov是Intrinsix公司设计中心的技术经理。他是俄罗斯VHDL用户组的创立者和总监。Steve Wilson是Intrinsix公司设计中心的主要咨询工程师。


最新视频
伊顿Bussmann:百年品牌 以创新驱动发展   
欧姆龙光电传感器E3AS | 角度特性演示:高反光不锈钢工件稳定检出   
研祥金码
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
优傲机器人新品巡展 NVITATION 邀请函
优傲机器人新品巡展 NVITATION 邀请函

优傲机器人将于2025年6月5日在北京亦庄举办新品巡展活动。届时,您将有机会近距离品鉴优傲新品成为首批见证 UR15 中

2025中国智能制造发展论坛报名邀请函
2025中国智能制造发展论坛报名邀请函

6月4日,2025中国智能制造发展论坛聚焦“数智创新赋能产业升级”与“绿色低碳构建可持续生态”双核议题,汇聚政府机构、全

在线会议
热门标签

社区