AI和ML携手优化仿真性能,从此解放开发者双手

Wenjun Ni

Mar 07, 2023 / 1 min read

对RTL级芯片开发来说,仿真仍是主要的功能验证方式。

以典型的芯片设计流程为例,开发者会在早期运行静态验证,检测各种结构错误,例如跨时钟域(CDC)和跨复位域(RDC)错误,此类静态分析发现的错误量约占总数的10%左右。之后进行形式验证(主要用于块级检测),这个过程通常可检测出20%的错误。通过仿真可找出多达65%的错误,最后5%则通过硬件加速和原型验证找出来。

在仿真方面,开发者主要会面临性能、调试周转时间(TAT)和覆盖收敛等挑战。RTL设计每变化一次,回归就需要重新运行一次;频繁的回归对仿真器的性能是有要求的,否则就很可能导致项目延迟。但随着摩尔定律的放缓,单纯换用最新的服务器其实很难让性能有明显的提升。

人工智能(AI)和机器学习(ML)的出现,让开发者们在不对硬件进行升级的情况下也能实现性能的提升。在新思科技的VCS®仿真器中,AI和ML可帮助开发者从软件提供的众多选项中选择最优组合,从而实现对仿真性能的优化。

此外,AI/ML还帮助新思科技Verdi®自动调试系统的回归调试自动化(用于故障分箱、分类和分流)缩短了调试TAT,并在新思科技的VCS环境中实现了加速覆盖收敛。

通过ML调整仿真器选项

许多仿真器选项、设计特性相关选项和回归设置都会对性能产生影响,但手动调整找出最佳设置不仅耗时,还需要开发者在仿真器和用户环境方面拥有大量专业知识,这样的人才其实不多。因此,仿真器设置的优化往往效率低下,耗时耗力。此外,需要设置的选项涵盖了设计/测试平台的编译和仿真运行阶段,随着仿真器性能逐渐趋向极限,使用不同的设置重复编译和运行也会进一步延长项目开发时间。

即使开发者们不觉得麻烦,设置的优化也并不是做完一次就一劳永逸了。设计和测试平台需要不断的改进,并不断运行多次回归,为了达到最高性能,设置需要不断的进行调整。借助ML学习仿真器选项,仿真器可以根据需要自动调整设置,从而提高回归测试的性能与效率。新思科技VCS仿真器内的动态性能优化(DPO)技术可使用ML从先前的回归中学习经验,无需用户干预即可根据需要调整仿真器设置。

根据RTL/测试平台的更新情况、性能随时间的下降情况和调试能力等因素,开发者可自行设置仿真器学习阶段的运行频率。此外随着回归运行次数的增加,DPO可以利用这些学习经验缩短回归TAT的总耗时。

开发者可以根据设计类型(门级/RTL/低功耗)和性能瓶颈(编译/运行时),使用最合适的DPO应用,VCS仿真器的每个新版本也会针对不同方面的性能加入新的DPO应用。

案例分析 VCS DPO技术的实际应用

微软公司曾在新思科技一年一度的“验证日”上展示过一项有趣的案例分析:DPO在健全性测试上的应用。

健全性测试每天都会运行很多次,因此任何优化都会对提高计算资源的使用效率有所帮助。通常学习阶段的运行速度会比基础水平慢30%左右,但由于前面提到的那些因素,这些运行仅在需要时使用即可。由于该应用程序的运行速度平均可提高25%,因此在不增加额外算力的情况下,开发团队每天运行健全性测试的次数可增加约30%。

在过去的一项量产片上系统(SoC)项目中,新思科技的应用工程师和研发工程师协助用户一同优化仿真器设置,并将回归周转时间成功缩短了1.4倍。此外,在使用新思科技的VCS DPO后,回归周转时间在此基础上又进一步缩短了1.13倍,净(总)改善率达1.58倍。而且在以默认仿真器设置使用DPO时,且在完全没有进行手动优化的情况下,回归周转时间同样缩短了1.58倍。

还有另一家用户曾表示:在仿真回归中使用DPO,性能提高了25%。

可以说在多样化应用和全自动流程的加持下,任何新思科技的VCS用户都能通过仿真设置优化大幅缩短回归周转时间。

结语

在帮助开发者应对传统手动流程的挑战中,AI/ML以及自动化功不可没,尤其是在性能调优、调试和覆盖率收敛这三方面。随着回归数据量的爆炸式增长,以及验证挑战的不断变化和演进,将会有更多开发者选择在仿真中使用自动化工具。

点击下载白皮书,进一步了解如何使用DPO实现自动化性能改善。

Continue Reading