Cadence Verification Suite四大金刚的出场顺序

2017-05-09 Tensilica技术社区 (http://tensilica.eefocus.com/)
分享到:

四大金刚
1
本次技术研讨会,Cadence重点推荐了其Verification Suite(验证套件),包括四大金刚(图中的四块红色矩形),分别是:
JasperGold,形式验证和静态检查(Formal and Static)工具;
Xcelium,新的动态仿真(Simulation)引擎;
Palladium Z1,硬件仿真器(Emulation);
Protium S1,FPGA原型验证(FPGA Prototype)环境。
 
下面,先简单介绍各套件的作用和特点。
 
JasperGold
 
JasperGold包含形式验证和静态检查。在【WT1.3】关于形式验证,你所不知道的一文中,已经介绍了形式验证的基本概念,这里再简单介绍一下几个基本概念。
 
静态验证:不进行实际的动态仿真,可以在没有验证平台的情况下,基于静态的代码,得到逻辑是否存在缺陷的验证方法。
 
形式验证:一种静态验证方法,包括“特性检查”,以及“等效性检查”。
 
特性检查:检查逻辑功能是否满足某特性。一般使用断言描述特定设计Spec,工具自动通过数学的方法计算,判断是否满足断言要求,以证明设计功能的正确性。例如,设计特性为FIFO在任何情况下,都不会产生full 的情况,就可以用断言描述该特性。如果逻辑正确,那么断言判断full 信号不置位,如果逻辑错误,则断言判断full 信号置位。
 
等效性检查:检查两套逻辑功能是否一致。一般的场景为比较两个网表的功能一致性,例如综合网表和插入DFT 以后的网表的等效性。而JasperGold 则支持检查两个RTL代码版本的等效性。例如,给逻辑添加Clock Gating 的场景,我们需要保证,当设置添加了Clock Gating 的逻辑为Clock 使能时,添加和不添加Clock Gating的两个代码版本,逻辑功能是等效的。
 
静态检查:有点类似于(但不同于)Lint 的功能,例如Jasper Gold 可以做设计的连接性检查,检查模块A的端口是否和模块B的端口正确连接;或者检查哪些逻辑代码是不可达的,不需要分析相关代码为什么代码覆盖率不达标。
 
由于JasperGold是形式验证和静态检查的工具,其特点是无(或轻)验证平台,只需要投入少量精力,就可以完成对逻辑功能的基础性检查。因此,JasperGold 特别适合逻辑交付早期使用,可以很快发现一些,特别是控制类相关的逻辑BUG。在研讨会上,Cadence的专家将该过程定义为“RTL Designer Signoff”,即设计工程师完成编码后,先做简单的形式验证,通过后,代码的质量就可以得到明显的提升。
 
备注:这里说的是Designer Signoff,而不是Formal Signoff,我不支持仅做Formal 验证,就可以投片的观点,动态仿真还是必不可少的。
 
由于JasperGold 是通过大量的数学运算,来判断特性、等效性,以及进行静态检查的,因此,当逻辑规模特别大时,就不适合使用了。一般推荐形式验证和静态检查在逻辑规模较小或适中的情况下采用,即Unit 级,以及Block 级,最多到Sub-Sys 级。
2
 
说明:该图片版权归WT所有
 
Xcelium
 
3
 
Xcelium 被称为第三代仿真器,是Incisive 的替代者。
 
Xcelium一般被重点提及的特性为“multi-core”多核并行仿真,其实,通过研讨会,我了解到,Xcelium即使在单核情况下,也有很大的性能提升,这点在一般的宣传材料中是没有提及的。至于Xcelium 的新特性,本系列的后续介绍文章,会详细介绍,本文就不过多说明。
 
对于Simulator而言,即使通过多核仿真加速,其仿真速度仍然达不到M Cycle/s级别。一般,我们会在Simulator上进行从Unit 到Sub-System的仿真,以及安排少部分的System一级的仿真,用于调试环境。但当涉及到更大规模的软硬件协同验证时,我们更倾向于使用速度更快的仿真工具,如Emulator 或FPGA Prototype。
 
Palladium Z1 vs Protium S1
 
Palladium 系列的Emulator 和Protium 的FPGA Prototype,都是为了仿真加速的需求,应运而生的仿真工具,仿真速度都达到了M Cycle/s 级别,而且逻辑规模也较大,完全可以支持全芯片,甚至板级(多芯片联合)的仿真。
 
Palladium Z1:硬件仿真器。逻辑代码,以及可综合的验证平台,通过特殊的硬件接口,下载到硬件仿真器上执行。由于硬件仿真器的并行特性,仿真速度一般至少可以达到1M。而且Palladium由专用芯片实现,可以方便的dump 波形,Debug能力较强。
 
Protium S1:FPGA Prototype,即FPGA 原型验证。逻辑代码,以及可综合的验证平台,通过特殊的硬件接口,下载到FPGA 单板上执行。由于FPGA 的性能更高,仿真速度一般可以达到6M,即硬件仿真器的5~6倍。而且Protium由通用的FPGA实现,成本较Palladium的专用系统低,价格较Palladium Z1低。但由于其由FPGA单板实现,Dump波形等Debug能力较弱。
 
总结:四大金刚的出场顺序
 
对于Cadence Verification Suite的四大金刚,他们的出场顺序是如何推荐的呢?
第1出场,JasperGold,投入小,产出大,早投入,早受益,越早发现问题,解决的成本越低,因此,一定要早期投入;
第2出场,Xcelium,投入适中,产出可靠,积淀深厚(方法学成熟),能力出众(激励构造,Debug等);
第3出场,Palladium Z1,加速显著,方便易用(Debug能力较强),用于SOC软硬件协同验证的早期突破;
第4出场,Protium S1,性价比高,可以大规模使用,速度达到了一定水平,可以提供给软件团队,在硬件开发同时,开发 & 调试相关软件(如驱动),通过提前调试软件代码,加快产品上市的时间。

本文转载自:公众号“IC验证工程师”


×
官方微信