从硅到软件

人工智能驱动优化如何产生更高的模拟性能

芯片设计功能验证
作者Taruna Reddy, Synopsys EDA Group的产品经理

仿真仍然是寄存器传输级(RTL)芯片设计功能验证的主力技术。在典型的流程中,静态验证在芯片设计过程的早期运行,并寻找结构错误,如时钟域交叉(CDC)和重置域交叉(RDC)错误。静态分析可以发现大约10%的设计错误。形式验证,主要应用于块级别,通常可以检测到20%的错误。在模拟阶段,65%的bug被发现,最后5%的bug是通过模拟和原型设计发现的。

在模拟方面,关键的挑战是性能、调试周转时间(TAT)和覆盖关闭。在RTL设计发生变化时,需要频繁地运行回归,这意味着模拟器性能需要达到最佳,这样就不会导致项目进一步延迟。摩尔定律的减速意味着仅仅运行在最新的计算服务器上无法显著提高性能。

人工智能(AI)和机器学习(ML)提供了一种有效的方法来提高性能,而不仅仅是升级硬件,通过优化市场中可用的许多开关的选择Synopsys VCS模拟器.这是本文的重点,但值得注意的是,AI/ML也已成功用于快速调试TAT与Synopsys Verdi®自动调试系统回归调试自动化用于分类、分组和分类失败加快覆盖关闭在Synopsys VCS环境中。

通过ML调整模拟器选项

有许多模拟器开关、与设计特性相关的选项和影响性能的回归设置。手动到达最优集非常耗时,并且需要大量关于模拟器和用户环境的专业知识。通常,没有一个人拥有所有这些知识,导致优化模拟器设置的效率低下和浪费周期。可用的选项包括设计/测试台编译和模拟运行时。当性能已经成为一个问题时,重复编译和使用不同的设置变量运行会给计划增加更多的时间。

即使用户愿意付出这样的努力,这也不是一次性的投资。随着设计和测试平台的发展,以及运行更多的回归,需要调整设置以实现最佳性能。使用ML学习模拟器选项并根据需要自动调整它们可以提高回归性能和效率。Synopsys VCS模拟器中的动态性能优化(DPO)技术使用ML从先前的回归中学习,并在没有用户输入的情况下相应地调整模拟器设置。

芯片仿真流程

用户可以根据RTL/测试台更新、性能随时间的下降和调试功能等因素设置学习阶段的频率。由于所学知识应用于多个回归,DPO导致回归TAT的总体减少。

根据设计类型(门/RTL/低功耗)和性能瓶颈(编译/运行时),可以使用适当的DPO应用程序。随着VCS模拟器的每一次发布,都会引入新的DPO应用程序,以针对性能的不同方面。

案例研究:VCS DPO技术的真实应用

一个有趣的案例研究DPO用于理智回归由微软的Vishwanath (Vish) Gunge在Synopsys 2021年验证日上提出。由于健全回归每天要运行几次,因此任何可以进行的优化都有助于更有效地使用计算资源。学习阶段的运行比基础水平慢了大约30%,但是由于前面提到的因素,这些只在需要时使用。由于应用程序的运行速度平均快了25%,团队可以做到每天大约增加30%的理智回归无需增加任何额外的计算能力。

Synopsys用户组(SNUG)演讲报告了同样令人印象深刻的结果。在一个片上系统(SoC)生产项目中,Synopsys应用程序和研发工程师过去曾与用户一起优化模拟器设置,并将回归TAT降低了1.4倍。当应用Synopsys VCS DPO时,回归TAT比大量人工工作的结果减少了1.13倍,净改进了1.58倍。当使用默认模拟器设置应用DPO时,在完全不进行人工优化的情况下,回归TAT也提高了1.58倍

最近,在SNUG新加坡2022,用户展示了一个真实的案例研究,并报告在模拟回归运行中使用DPO时性能提高了25%。广泛的应用程序和完全自动化的过程意味着任何Synopsys VCS用户都可以通过优化模拟设置来改善回归TAT。

结论

性能调优、调试和覆盖关闭是迄今为止确定的三个领域,AI/ML和自动化已成功用于解决传统手工流程的挑战。这种趋势只会随着回归数据量的持续爆炸和验证挑战范围的演变而增长。要了解更多关于使用DPO自动提高性能的信息,请阅读我们的白皮书.请继续关注这个博客,了解更多关于Synopsys VCS模拟器创新技术的更新。

Baidu