摘要
Questa One Sim平台的SmartCompile日渐成为战略性解决方案,可显著缩短从初始编译到最终仿真的整体验证周期,提供一整套高效工具,大幅缩短验证周期。通过整合高级功能并优化编码风格,SmartCompile实现了更高效的设计流程,能够直接应对现代数字设计开发所面临的挑战。
议程
在如今的半导体行业中,设计工程师面临着越来越大的压力:既要交付日益复杂的数字设计,又要满足严苛的上市时间要求。随着设计复杂性呈指数级增长,传统的编译与仿真工作流程往往成为影响开发进度的瓶颈。大家普遍认为,这些瓶颈是由每次迭代的仿真运行时间所导致的。然而,对复杂设计进行仿真运行配置所花费的时间增加,也是一个重要因素。配置时间乘以验证迭代次数,在整个验证流程中占据了相当大的比重。
虽然仿真运行占据了验证过程的大部分时间,但每次设计编译与展开过程累积起来,同样在整个验证周期中占据了相当可观的比重。任何能够减轻这一开销的方法,累加到整个验证周期中,都能显著地节省时间和计算资源。
面对这些挑战,SmartCompile引入了一套创新工具来解决这一关键问题,将新功能与优化的编码风格改进相结合。这一综合解决方案简化了从编译、优化到仿真的整个设计流程,使工程团队能够在保持设计完整性的同时大幅缩短周转时间。SmartCompile改变了传统的设计编译与仿真方法,帮助数字设计和验证工程师加速开发周期,在当今快节奏的数字市场中获得竞争优势。
在常规的验证环境中,每当对设计或验证环境进行修改时,就需要对修改过的文件进行重新编译。幸运的是,大多数工具已经具备了一些功能,可以只编译修改过的文件,而无需重新编译未修改的文件。但在传统流程中,优化和展开阶段却无法做到这一点。即使只对设计或测试平台做了很小的改动,也必须对整个设计进行重新优化和展开。对于小型设计而言,这可能不是什么大问题;但随着设计复杂性持续增加,仿真启动前的准备时间正在成为许多设计和验证工程师的瓶颈。如果每次编译-优化-展开周期都要花半天时间,那么每天只能做两三次设计更改。大部分时间都花在仿真前的准备工作上,之后才能进行有效的设计调试。在持续集成(CI)和持续部署(CD)流程中,这一问题更加严重,因为代码提交的频率更高,每次提交都可能会触发整个流程的重新运行。在这种情况,不仅需要花时间等待编译过程完成,还会消耗大量计算资源——无论是本地资源还是云端资源,这都会显著增加整个验证周期的成本。
SmartCompile是Questa One Sim用于加速硬件设计与验证工作流程的解决方案。与传统方法不同,SmartCompile通过一系列完善的功能特性改变设计流程,从而提高测试平台和RTL的开发与调试效率。
主要功能
1.面向开发的架构
–优化每日多轮编译-优化-仿真循环
–实现设计的快速迭代
–支持仿真定位到特定事件(断点、事务)
2.高级功能集成
–增量编译与优化
–独立测试加载
–AutoPDU
–面向大型设计的缓存库流程
–动态重配置
–基于网格的分布式优化
–生成独立设计二进制文件
3.效率提升
–利用缓存缩短初始构建时间
–支持编译任务的并行处理
–提供后续构建增量编译
–支持按测试灵活切换设计模块
4.资源优化
–拆分单次编译为多个并行进程
–按需生成调试数据
–复用设计展开文件
–动态切换RTL和门级仿真模块
SmartCompile功能集:
解决现代设计验证挑战
首先,让我们探讨SmartCompile在编译过程各阶段所提供的帮助。
使用SmartCompile分而治之
现在,我们逐一了解每项SmartCompile功能如何解决特定问题及其适用场景。
1.增量编译与优化
问题:
解决方案:
利用基于时间戳的增量编译流程
功能特性包括:
–智能文件变更检测
–头部注释改动容错机制
–文件路径管理
技术细节:
2.独立测试加载
问题:
解决方案:
仅对新测试用例进行编译和优化
复用基础的编译、优化和设计展开文件
显著缩短测试开发和调试时间
技术细节:
3.AutoPDU(自动预优化设计单元)
问题:
解决方案:
技术细节:
4.缓存库流程
问题:
解决方案:
技术细节:
持续集成与缓存库流程:
–缓存库流程支持持续集成。持续集成流程可自动创建并维护包含新代码变更的PDU库
–用户可直接将预编译的PDU拉入本地工作区,避免对新工作区进行不必要的代码编译与优化步骤
–系统智能更新PDU文件路径至用户本地区域,确保仅需编译新变更的代码
5.动态重配置
问题:
解决方案:
技术细节:
动态重配置在设计展开与仿真阶段带来收益:
–可按测试需求轻松切换模块
–提升性能,减少资源占用


6.基于网格的分布式优化
问题:
大型设计需要大量的优化时间
任何能加速该过程的技术都颇具价值
解决方案:
技术细节:

7.生成独立设计二进制文件
问题:
调试数据生成与优化阶段耦合
这导致调试数据处理效率低下
解决方案:
将调试数据生成过程从优化阶段剥离,以减少优化时间
优势:
–按需生成调试数据
–调试流程更高效
–减少资源占用
技术细节:
该流程的优势体现在设计二进制文件生成阶段:它将qopt与设计二进制文件生成器分离,仅在必要时生成设计二进制文件(或与qopt并行运行),提升qopt吞吐量

完整SmartCompile解决方案采用“分而治之”策略,能够减少整体仿真设置时间。各阶段减少时间的方式如下所示:

SmartCompile作为一项变革性解决方案应运而生,可直接应对现代硬件设计与验证工作流程中的关键挑战。该技术在改善总周转时间和整体效率方面取得了多项突破性成果:
1.出色的编译架构
针对单日内多次编译-优化-仿真循环进行优化
通过创新方法实现快速设计迭代
支持增量编译功能,提高后续构建效率
2.性能优化
通过智能缓存库机制消除长时间初始构建瓶颈
利用网格计算实现并行处理和分布式优化
对复杂SoC和大规模设计尤为有效
3.资源管理
在提升性能的同时减少资源使用
智能文件变更检测和代码变更处理
集成调试数据生成与优化阶段,提升效率
4.业务影响
在测试开发与调试阶段实现显著的时间节省
为需要大量优化的设计提供可扩展解决方案
提供全面的效率改进,直接影响开发周期
SmartCompile代表了数字设计开发工具的重大进步,提供了一个兼具速度、效率与可扩展性的强大解决方案。其创新功能与架构改进,对于那些希望在设计过程中保持高质量标准的同时加速开发周期的企业而言,可谓弥足珍贵。