百万门级的多核设计如何验证?- Cadence带您迈入仿真新纪元

2017-03-31 Cadence中国
分享到:

作者:Adam Sherer,Cadence公司产品管理总监
 
 
内容摘要:随着片上系统(SoC)设计尺寸的不断增加,仿真技术也必须紧随其后,大幅进化。时至今日,市场对设计速度和容量的要求都达到了前所未有的高度,新的仿真技术也必须满足这些需求。本文中,我们将讨论仿真技术的发展历史,以及 Cadence® Xcelium™ 并行仿真平台是如何攻克功能验证的技术难题瓶颈的。
 
▌导语
 
以 Verilog-XL 和 RapidSim 等解释代码仿真器为代表,第一代商业化仿真技术出现于上世纪 80 年代后期。由于这些仿真器的工作机制是先编译成 p代码再将其解释执行,因此运行速度极为缓慢,但对当时的小型设计而言已经足够了;接下来的 90 年代中期,随着综合技术的出现,设计规模变大,出现了编译代码仿真器来满足了设计对速度、容量的要求。这种仿真器的工作原理是在运行仿真之前,将源代码转化为机器代码。第二代仿真器的开发比较复杂,用了大概三年时间,实现了对当时的语言和使用模型仿真的支持。自那以来,第二代仿真器一直是业内主流仿真器,并实现了对 e、SystemC® 、SystemVerilog、CPF 和 UPF 等多种新标准的支持。然而,随着设计尺寸变得越来越庞大,越来越复杂,第二代仿真技术已经无法满足市场需求。
计算能力推动仿真技术发展
图1:计算能力推动仿真技术发展
 
目前的 SoC 普遍包含百万门级以上的多核设计,测试这些芯片可能耗费数周之久。考虑到完成测试所必须的团队资源,每天的成本可能高达数十万美元;如果需要重新测试,单个项目的测试成本就可能飙升至数百万美元。幸运的是,为了适应 SoC 尺寸的增长和复杂度的提升,仿真技术也在迅速发展。最近出现的并行仿真正是这样一种通过加快测试速度来提高验证效率的技术。在并行仿真技术的新时代中,工程师再也无需担忧验证会成为瓶颈了。
三代仿真技术
图2:三代仿真技术
 
▌最适合并行仿真的并行服务器芯片架构
 
现如今,服务器性能更多取决于并行架构,而非通过加快时钟速度来实现。同时,工程师们也在不断努力,打造最高效的验证环境,满足项目的进度要求。
并行仿真技术最早主要用于区分层级结构,工程师将每个子层级分配给一个处理器,并通过进程间通讯实现仿真互联。然而,这些尝试都以失败告终,未能达成并行仿真的愿景。2-4 个核的扩展限制使增速无法超过2 倍,典型设计依然需要依赖人工编译过程。
成功的并行仿真取决于多核、时钟域、复杂的内部互联结构、上百个 IP 核,以及许多其他设计组件的配合。这种能力的开发需要不断的探索和创新,才能对数十亿项运算单元及其之间的依赖关系进行分析,找出能够并列运行,且能够分配到服务器多个内核的简短运算。
关注语言层并确定独立执行线程间依赖关系的开发思路,最终产生出了可平均提速 3-10 倍的并行仿真平台,具体提速取决于实际设计:
Verilog/SystemVerilog RTL 仿真平均提速 3 倍
门级功能仿真平均提速 5 倍
可测性设计(DFT)门级仿真平均提速 10 倍
 
颠覆性的并行模拟算法
图3:颠覆性的并行模拟算法
 
支持标准多核服务器(多达 64 核)且采用获得专利的细粒多进程技术,Xcelium 可以将编译代码仿真平台上运行的仿真分解成可加速和不可加速两个部分。可加速的部分(如门级网标或 SystemVerilog RTL 部分)由并行引擎处理,验证工程师无需改变测试平台、设计或断言。Xcelium 在语言层运作,因此不依赖于工艺节点,也无所谓设计是一个 CPU、处理器,还是一个数据通路设计。此外,设计层次也不会造成影响。
前两代仿真技术都各自发展了 20 年左右。我们有理由相信,全新的并行仿真技术将也成为未来 20 年的仿真基础。
 
▌互补的并行模拟和模拟加速
 
使用编译代码仿真器进行 SoC 测试往往耗时数小时到数天不等,其中一部分原因是仿真器的性能同时取决于设计尺寸和每个时钟节拍的事件数量(事件密度)。因此,在高强度 SoC 测试中,因为硬件引擎的性能不受事件密度的影响,验证工程师往往选择降低事件密度,并采用 Cadence Palladium® 这样的硬件引擎来加速模拟,提升幅度可达 100-1000 倍。但这样做是有代价的。测试的时间密度越小,现代 SoC 的特点和优势越无法体现,因为硬件引擎只能执行双态逻辑,无法直接验证现代设计通常具备的 Z 态和 X 态。
Xcelium 并行仿真平台可以弥补加速的不足,因为它不仅能执行四态逻辑,而且与第二代仿真器相比,性能对事件密度的依赖性也更低。Xcelium 并行仿真平台的加速效果运行 DFT 并行扫描测试时尤为明显。多亏四态逻辑和高性能的结合,验证工程师能够创建更多事件密度更高的测试和多个并行场景,充分发挥现代 SoC 的代表性特征。并行仿真平台和硬件加速器互补的本质,允许工程师验证模拟中的 SoC 重置与低功耗模式改变,并在硬件上运行时间更长的相同测试,充分验证 SoC 功能。
 
▌结论
尽管并行仿真可能是未来 20 年的主流架构,但设计本身是否会发生变化?我们不得而知。量子运算和生物系统运算可能带来全新的建模难题。最终答案可能会是细粒并行模拟吗?我们是否需要更多的并行结构?是否需要将故障注入和纠错融入未来的仿真工具?更不用说设计尺寸和复杂度的提升将进一步推动仿真引擎容量和速度的发展。但无论如何,仿真技术会不断进化,迎接未来的艰巨挑战,Xcelium 并行仿真平台无疑为我们通向未来仿真时代奠定坚实基础。
 
▌更多信息
如需了解Xcelium并行仿真平台的更多信息,请点击阅读原文,或参访:
https://www.cadence.com/content/cadence-www/global/en_US/home/tools/system-design-and-verification/simulation-and-testbench-verification/xcelium-parallel-simulator.html
 
▌参考资料
http://accellera.org/activities/working-groups/portable-stimulus
×
官方微信