DC Explorer:早期设计探索的快速综合
DC Explorer:早期设计探索的快速综合
会议: SNUG Germany 2012
作者: Herbert Taucher, Andras Rappai (Siemens AG Austria), Rolf Ferner (Synopsys GmbH)
页数: 24
源文件: SNUG_2012_Germany_Poppen_Explorer_Fast_synthesis_for_early_design_exploration_paper.pdf
Page 1
DC Explorer:早期设计探索的快速综合
Herbert Taucher, Andras Rappai (Siemens AG Austria) Rolf Ferner (Synopsys GmbH)
摘要
在领先技术节点上实现复杂度远超1亿门的SoC 系统级芯片带来了全新类别的挑战。虽然验证和综合工具每次发布都变得更快,但由此复杂度导致的不断增长的综合周转时间已不再允许运行多次综合试验以尽可能快地获得结果,以探索不同的RTL编码、约束和布局规划 Floorplan。为了对不同设计变体进行基准测试,我们使用了DC Explorer——它不仅声称比Design Compiler Ultra运行更快,而且声称能够处理不完整的设计数据,并与DC Ultra提供10%的时序和面积关联性。我们在两个复杂的信号处理模块上测试了DC Explorer。本文简要描述了DC Explorer评估的目标、被测设计(DUT)和应用的方法论,并展示了结果的关联性以及对设计流程和设计效率的影响。
Page 2
目录
1. 引言 2. 评估目标 2.1 主要评估指标 2.2 次要评估指标 3. 被测设计(DUT)的简要特征 4. DC Explorer的设计方法论 4.1 脚本编写 4.2 警告/错误 5. DC Explorer与DC Ultra的基准测试 5.1 DUT A的结果(含第一/第二基准环境) 5.2 DUT B的结果 6. 结论 7. 参考文献
Page 3
图表目录
图1-19涵盖:编译挂钟时间、总CPU时间、性能增益、组合单元数量/面积、总面积的频率相关性对比、Slack关联分析、非物理模式/物理模式结果对比等。
Page 4-5
1. 引言
在领先技术节点上实现复杂度远超1亿门的SoC为已知类别的挑战展示了新的维度。处理此类复杂度当然从需求工程开始,并随着设计流程中任何后续步骤的增加而持续增加工作量。过去几年中,大量努力被投入到优化RTL阶段和验证阶段的效率和生产率上,引入了丰富的IP集合和先进的验证方法论(如OVM和UVM 通用验证方法学)。虽然综合和数字版图工具每次发布都变得更快更强大,但基本策略仍然是"分而治之"——将复杂度分解为可以以适当周转时间处理的可管理部分。将此黄金法则应用于综合后,我们最终得到约500-700万门复杂度的子芯片,周转时间为3-12小时(取决于设计类型)。将这些数字外推到1亿门设计,按顺序运行综合将需要42-240小时。从商业角度看,通过并行运行所有子芯片来加速过程也并不总是可行选项。特别是在早期实现阶段,需要大量试验性综合运行来稳定设计,然后再真正优化综合以获得最佳结果质量。因此,具有合理结果质量的快速周转时间是成功的关键因素。
DC Explorer承诺恰好实现吞吐量和结果质量之间的这种权衡。此外DC Explorer旨在能够处理不完整的RTL代码,并基于对缺失输入的假设完成综合。这些承诺促使我们对DC Explorer基于近期设计的能力进行彻底评估。本文中我们将展示DC Explorer vs DC Ultra基准测试的技术细节。
2. 评估目标
评估的基本目标是将DC Explorer与当前最先进的综合环境DC Ultra进行基准测试。由于综合一般处理多个设计指标的优化,本次基准测试关注两类指标:
- 主要指标:直接源于"QoR 结果质量"或源于生产率的标准 - 次要指标:所有其他相关标准,如对计算基础设施的要求、对脚本流程的影响等
2.1 主要评估指标
- 工具运行时间:DC Explorer旨在提供至少一个数量级的吞吐量提升以显著缩短周转时间 - 时序:DC Ultra和DC Explorer之间在一定范围内的时序关联性是关键要求 - 门数:门数直接映射到硅面积,面积高效实现是降低芯片成本的关键
2.2 次要评估指标
- 内存:小内存占用允许在同一主机上进行多个并行试验 - 不完整RTL:DC Explorer声称可以处理不完整的RTL - 脚本编写:DC Explorer脚本可复用于DC Ultra精炼综合 - GUI模式:Design Vision与DC Explorer配合的能力
Page 6-8
3. DUT特征
基准测试基于在领先28nm CMOS节点上实现的非常复杂设计中的两个子芯片。
DUT A特征:数字信号处理、纯逻辑、无RAM、约500万门、两个时钟域、VHDL RTL
DUT B特征:数字信号处理、数百个小RAM、非常分散的布图规划、约200万门、一个时钟域、VHDL RTL
4. DC Explorer的设计方法论
DC Explorer专为早期RTL探索 RTL Exploration而设计。虽然其时序和面积结果看起来相当有前景,但其目的不是取代DC Ultra。在评估时产品处于LCA(有限客户可用性)状态,预计夏季进入GA(普遍可用)状态。
DC Explorer是DC安装包的一部分。相比Design Compiler 2011.09-SP3版本的限制: - 无功耗优化 - 无增量编译 - 无拥塞分析和优化
DC Explorer命令行不支持--topographical开关,因为工具默认运行在topographical模式。这意味着不支持线负载模型(WLM)。
启动命令:de_shell
运行命令:compile_exploration
物理模式变量:set de_enable_physical_flow true
Page 9-15
5.1.1 DUT A第一基准环境结果
工具版本:DC Ultra F-2011.09, DC Explorer F-2011.09-SP3 主机:Intel Xeon W5590 3.33GHz, 144GB DDR3, CentOS 5.5 64-bit
编译挂钟时间:DC Explorer 47分钟至2小时 vs DC Ultra 3.4小时至8小时,性能收益约4x-8x
CPU时间:DC Explorer平均性能收益4x
性能增益:取决于设计特征,未完全达到数据手册中10x的规格,但达到了4-8x
面积关联:在标称频率下,组合单元数量差异仅约2%,总面积的差异约1%
时序关联:在现实频率设置下关联良好,DC Explorer略偏乐观(标称频率下慢时钟域无差异,快时钟域有正slack)
总结(图9):
| 指标 | DC Explorer vs DC Ultra |
| reg2reg Slack c_fast | +60% |
| reg2reg Slack c_slow | 0% |
| 组合单元数 | -2% |
| 组合逻辑面积 | +9% |
| 总面积 | -1% |
| 编译挂钟时间 | 14%(~7x更快) |
| 总CPU时间 | 22%(~5x更快) |
Page 16-22
次要评估标准:DC Explorer的运行内存需求与DC Ultra相比在±10%范围内;能够处理不完整RTL(缺失单元、缺失模块、缺失引脚、端口宽度不匹配等)而无显著结果影响;脚本与DC Ultra完全可复用。
DUT A第二基准环境(非物理模式与物理模式):在非物理模式下性能增益达20x,DC Explorer 2012.06Beta1进一步翻倍。在物理模式下性能增益为2x-9.5x。面积关联在10%范围内,时序关联良好(4%以内)。
DUT B结果:结果与纯逻辑设计的DUT A相当。面积约-8%更乐观。编译挂钟时间快20倍,总CPU时间快约10倍。
Page 23-24
6. 结论
DC Explorer证明了能够显著缩短早期综合步骤的周转时间。综合运行时间的性能增益取决于设计。从例如30小时减少到不到2小时,或从11小时减少到2小时,无疑有助于在设计过程早期探索不同的设计配置或实现早期布局规划 Floorplan。
DC Ultra和DC Explorer之间的时序关联对于现实频率配置也非常好。总面积关联特别引人注目——取决于设计,偏差仅1%至8%。DC Explorer还支持在非常早期的设计阶段设置DC Ultra的完整脚本并实现环境的快速调试。脚本可以无缝切换到DC Ultra进行最终综合步骤,无需任何更改。
此外,DC Explorer相比DC Ultra,能够在一定程度上处理不完整的RTL,这在早期设计阶段对于设计探索 Design Exploration和生成早期网表 Netlist以进行布图规划具有特殊重要性。
当前版本的限制:尚不支持功耗方面优化(无漏电优化、无Vt混合优化)、不支持UPF 统一功耗格式。
总结评估事实:DC Explorer是早期阶段快速设计探索的强大工具,与DC Ultra提供非常好的关联性,但它并非DC Ultra的替代品——DC Explorer从未被设计为此用途。
7. 参考文献(8项,省略)
图片索引
本文共12张图片,存放于 SNUG_2012_Germany_Poppen_Explorer_Fast_synthesis_for_early_design_exploration_paper_images/ 目录。
第10页:图1 编译挂钟时间 vs 频率 第10页:图2 总CPU时间 vs 频率 第11页:图3 性能增益 第12页:图4-6 面积/单元数关联 第14页:图7-8 Slack关联 第15页:图9 DUT A基准总结 第17页:图10 支持的设计不一致性 第17-22页:图11-19 非物理/物理模式结果