线上研讨会
随着芯片的规模和复杂度越来越高,对芯片的验证要求越来越高。在芯片开发生命周期的所有阶段——包括架构、设计、综合、集成和物理设计阶段,都可能会引入设计错误。如何更有效地完成芯片所有功能的验证成为最大的挑战。
确实,基于RTL仿真是一个很好的验证方法,它可扩展、易于学习和设置,但是在仿真中要找到问题的根本原因(如聚焦测试参数、回溯激励以及精准找出问题信号)却是困难且费时的,此外,一些设计阶段的bug和特洛伊木马即使是设计最良好的测试平台也难以发现。因此,RTL仿真是必要的,但还远远不够。对于当下动辄数十亿甚至上百亿规模的芯片,RTL仿真工具需要不断提高其所支持的容量,减少仿真所需的时间,但仅靠改进验证方法和技术仍将无法解决芯片设计和验证之间的差距。
我们都知道一项疾病最好的治疗方案是预防,芯片也是,如果能将错误提前预防,则可以通过降低错误的密度来提高验证效率。为此,西门子EDA提出了“使用以意图为中心的深入洞察进行设计”,简称 “设计+意图”。在该方案中,西门子EDA的提议是将静态分析紧密集成到设计流程中,通过提高RTL质量来提升开发周期的一致性和加快验证收敛。
静态分析是一种非基于仿真的测试活动,它会分析RTL代码有无缺陷——从不符合规范到已知与设计错误相关的缺陷。由于其能在RTL代码完成后立刻执行分析,不需要搭建testbench,因此显著提高了验证调试效率。
针对验证的完备性,西门子EDA推出了Formal形式验证(包括收购的OneSpin)的解决方案;针对RTL仿真中无法发现的跨时钟域和复位域问题,西门子EDA推出了CDC/RDC的解决方案。这两种方案都是使用静态分析,即不需要搭建验证平台和编写用例,只需要配置脚本和约束,可以在RTL代码设计完成即可快速导入。
值得一提的是,验证方法通常只集中于确认设计功能是否正确,它们不关注于识别存在的计划外功能。但是针对具有开源性质的RISC-V应用程序,西门子EDA还推出了一些解决方案,以验证没有将计划外的功能添加到设计中。
内容亮点
- 自动检查工具Lint及AutoCheck介绍
- 借助OneSpin GapFreeVerification来发现“未知”的设计
- 如何使用CDC/RDC来发现仿真不能发现的致命错误
讲师介绍
陈佳华
西门子EDA 功能验证产品资深技术顾问,负责西门子数字验证及功能安全产品的支持,22年芯片设计及验证和EDA行业经验。曾就职于华为海思、Symwave及Synopsys等芯片和EDA公司。参与设计及验证过多款网络处理器、世界首款量产的USB3.0 RAID存储控制等芯片。在FPGA/ASIC数字功能仿真,形式验证以及跨时钟检查等数字验证领域拥有丰富的经验。
来源:西门子EDA