更快抵达终点线:Questa One如何加速整体仿真周转时间
摘要与议程摘要Questa One Sim平台的SmartCompile日渐成为战略性解决方案可显著缩短从初始编译到最终仿真的整体验证周期提供一整套高效工具大幅缩短验证周期。通过整合高级功能并优化编码风格SmartCompile实现了更高效的设计流程能够直接应对现代数字设计开发所面临的挑战。议程序言传统仿真流程SmartCompile概述-主要功能SmartCompile功能集解决现代设计验证挑战1.增量编译与优化2.独立测试加载3.AutoPDU自动预优化设计单元4.缓存库流程5.动态重配置6.基于网格的分布式优化7.独立设计二进制文件生成结语序言在如今的半导体行业中设计工程师面临着越来越大的压力既要交付日益复杂的数字设计又要满足严苛的上市时间要求。随着设计复杂性呈指数级增长传统的编译与仿真工作流程往往成为影响开发进度的瓶颈。大家普遍认为这些瓶颈是由每次迭代的仿真运行时间所导致的。然而对复杂设计进行仿真运行配置所花费的时间增加也是一个重要因素。配置时间乘以验证迭代次数在整个验证流程中占据了相当大的比重。虽然仿真运行占据了验证过程的大部分时间但每次设计编译与展开过程累积起来同样在整个验证周期中占据了相当可观的比重。任何能够减轻这一开销的方法累加到整个验证周期中都能显著地节省时间和计算资源。面对这些挑战SmartCompile引入了一套创新工具来解决这一关键问题将新功能与优化的编码风格改进相结合。这一综合解决方案简化了从编译、优化到仿真的整个设计流程使工程团队能够在保持设计完整性的同时大幅缩短周转时间。SmartCompile改变了传统的设计编译与仿真方法帮助数字设计和验证工程师加速开发周期在当今快节奏的数字市场中获得竞争优势。传统仿真流程在常规的验证环境中每当对设计或验证环境进行修改时就需要对修改过的文件进行重新编译。幸运的是大多数工具已经具备了一些功能可以只编译修改过的文件而无需重新编译未修改的文件。但在传统流程中优化和展开阶段却无法做到这一点。即使只对设计或测试平台做了很小的改动也必须对整个设计进行重新优化和展开。对于小型设计而言这可能不是什么大问题但随着设计复杂性持续增加仿真启动前的准备时间正在成为许多设计和验证工程师的瓶颈。如果每次编译-优化-展开周期都要花半天时间那么每天只能做两三次设计更改。大部分时间都花在仿真前的准备工作上之后才能进行有效的设计调试。在持续集成(CI)和持续部署(CD)流程中这一问题更加严重因为代码提交的频率更高每次提交都可能会触发整个流程的重新运行。在这种情况不仅需要花时间等待编译过程完成还会消耗大量计算资源——无论是本地资源还是云端资源这都会显著增加整个验证周期的成本。SmartCompile概述SmartCompile是Questa One Sim用于加速硬件设计与验证工作流程的解决方案。与传统方法不同SmartCompile通过一系列完善的功能特性改变设计流程从而提高测试平台和RTL的开发与调试效率。主要功能1.面向开发的架构–优化每日多轮编译-优化-仿真循环–实现设计的快速迭代–支持仿真定位到特定事件断点、事务2.高级功能集成–增量编译与优化–独立测试加载–AutoPDU–面向大型设计的缓存库流程–动态重配置–基于网格的分布式优化–生成独立设计二进制文件3.效率提升–利用缓存缩短初始构建时间–支持编译任务的并行处理–提供后续构建增量编译–支持按测试灵活切换设计模块4.资源优化–拆分单次编译为多个并行进程–按需生成调试数据–复用设计展开文件–动态切换RTL和门级仿真模块SmartCompile功能集解决现代设计验证挑战首先让我们探讨SmartCompile在编译过程各阶段所提供的帮助。使用SmartCompile分而治之现在我们逐一了解每项SmartCompile功能如何解决特定问题及其适用场景。1.增量编译与优化问题当设计局部修改时需要增量编译和优化机制以避免全量重新编译和优化解决方案利用基于时间戳的增量编译流程功能特性包括–智能文件变更检测–头部注释改动容错机制–文件路径管理技术细节使用vlog/vcom命令加上-tsincr选项即可启用此功能。若使用qrun命令该功能自动启用无需额外开关2.独立测试加载问题每当添加新测试用例时用户必须重新编译整个测试平台并重新执行优化和设计展开流程解决方案仅对新测试用例进行编译和优化复用基础的编译、优化和设计展开文件显著缩短测试开发和调试时间技术细节独立测试加载的主要优势体现在编译、优化和设计展开阶段以下介绍在运行多个测试用例下的传统流程。每个测试用例都需要完整的编译、优化和展开过程如下所示在独立测试加载流程中用户只需编译、优化和展开一个可复用的基础测试用例基础测试创建完成后就可以编译和优化新测试并复用基础测试如下所示3.AutoPDU自动预优化设计单元问题随着设计规模增大优化所需时间更长对于这些大规模设计单一优化流程效率低下因为即使对设计进行微小改动也需要重新优化整个设计解决方案自动将设计划分为多个PDU预优化设计单元仅编译和优化被修改的部分而非整个设计支持网格化分布处理用于编译与优化流程优势–并行处理设计单元–缩短优化时间–高效处理大规模设计技术细节AutoPDU的优势主要体现在优化阶段可减少整体优化与加载时间提升吞吐量AutoPDU流程–初始构建创建PDU并在网格上运行优化–增量构建加载未修改PDU仅重新优化有代码变更的PDU采用AutoPDU进行初始构建后续构建代码修改后仅进行增量编译和优化AutoPDU网格化支持–使用网格支持可在初始构建阶段实现PDU的网格并行优化4.缓存库流程问题当使用代码仓库工作时新建工作区需要大量构建时间在使用虚拟机(VM)进行调试或采用CI/CD流程时尤为明显——每次新建VM或CI/CD提交都会触发完整流程的重新运行解决方案创建已编译PDU库的“缓存”用户可将其复制到工作区而无需重新运行整个编译与优化阶段优势–消除漫长的初始构建时间–提供后续构建增量编译–特别适用于SoC或其他大规模设计技术细节缓存库流程在编译与优化阶段带来收益如下所示持续集成与缓存库流程–缓存库流程支持持续集成。持续集成流程可自动创建并维护包含新代码变更的PDU库–用户可直接将预编译的PDU拉入本地工作区避免对新工作区进行不必要的代码编译与优化步骤–系统智能更新PDU文件路径至用户本地区域确保仅需编译新变更的代码5.动态重配置问题用户根据仿真类型和仿真层次的不同需要对同一设计模块进行不同的配置当针对某种配置替换相应的设计模块时需要对整个设计进行重新编译和重新优化解决方案提供一种机制可在运行时“动态”插入/移除模块用户可以编译和优化同一模块的不同版本然后在设计展开阶段选择正确的配置效果–用户可以灵活地为每个测试切换模块–提升性能减少资源占用技术细节动态重配置在设计展开与仿真阶段带来收益–可按测试需求轻松切换模块–提升性能减少资源占用用户可在仿真时选择配置6.基于网格的分布式优化问题大型设计需要大量的优化时间任何能加速该过程的技术都颇具价值解决方案将单个优化任务拆分为多个PDU利用网格计算并行运行优化过程效果–初始构建网格式运行AutoPDU缩短整体初始构建时间–增量构建仅对代码变更的PDU运行优化过程技术细节分布式优化流程的优势体现在代码生成阶段。它将qopt代码生成分布到多台网格机器上既提高了并行度又不超出单机内存和核数限制加快运行速度7.生成独立设计二进制文件问题调试数据生成与优化阶段耦合这导致调试数据处理效率低下解决方案将调试数据生成过程从优化阶段剥离以减少优化时间优势–按需生成调试数据–调试流程更高效–减少资源占用技术细节该流程的优势体现在设计二进制文件生成阶段它将qopt与设计二进制文件生成器分离仅在必要时生成设计二进制文件或与qopt并行运行提升qopt吞吐量完整SmartCompile解决方案采用“分而治之”策略能够减少整体仿真设置时间。各阶段减少时间的方式如下所示结语SmartCompile作为一项变革性解决方案应运而生可直接应对现代硬件设计与验证工作流程中的关键挑战。该技术在改善总周转时间和整体效率方面取得了多项突破性成果1.出色的编译架构针对单日内多次编译-优化-仿真循环进行优化通过创新方法实现快速设计迭代支持增量编译功能提高后续构建效率2.性能优化通过智能缓存库机制消除长时间初始构建瓶颈利用网格计算实现并行处理和分布式优化对复杂SoC和大规模设计尤为有效3.资源管理在提升性能的同时减少资源使用智能文件变更检测和代码变更处理集成调试数据生成与优化阶段提升效率4.业务影响在测试开发与调试阶段实现显著的时间节省为需要大量优化的设计提供可扩展解决方案提供全面的效率改进直接影响开发周期SmartCompile代表了数字设计开发工具的重大进步提供了一个兼具速度、效率与可扩展性的强大解决方案。其创新功能与架构改进对于那些希望在设计过程中保持高质量标准的同时加速开发周期的企业而言可谓弥足珍贵。更多产品信息欢迎联系和粒科技

相关新闻

最新新闻

日新闻

周新闻

月新闻