使用 IC Compiler II 提升时序预算流程性能

SNUG China 2017 2017 12 页

使用 IC Compiler II 提升时序预算流程性能

论文信息

项目内容
作者Tim Zhang、Angela Xue、Rajit Seahra、Maryam Pirayou、Matthew Biernat、Ron Gutfreund(AMD 上海)
会议SNUG China 2017
页数12 页

摘要

随着设计规模的不断增大,越来越多的设计以层次化流程实现。在层次化流程中,我们需要运行时序预算(timing budgeting)来在模块之间分配时序约束。但由于时序预算的计算非常复杂,它总是消耗过多的运行时间和内存。因此,如何减少时序预算的运行时间以满足紧张的设计周期,是所有设计者面临的巨大挑战。

Synopsys 提供的 IC CompilerI 开发了一些新特性,帮助用户获得更好的时序预算流程性能。它还开发了一种新的约束分裂流程,使用户可以使用顶层时序约束而非全芯片级时序约束来运行时序预算。在本文中,我们将分享一些关于如何在约束分裂和时序预算流程中减少运行时间的经验。


1. 引言

在现代 SoC 设计中,层次化实现方法已成为管理数十亿门设计复杂度的必要手段。层次化流程的核心思想是将大型设计划分为多个可独立实现的模块,然后进行顶层集成。

时序预算(timing budgeting)是层次化流程中最关键的步骤之一——它将顶层时序约束合理分配给每个模块。时序预算的质量直接影响模块实现的收敛速度和顶层集成的顺利程度。

然而,随着设计规模的增加,时序预算的计算复杂度急剧增长。传统的扁平化时序预算方法面临以下挑战:

- 运行时间长:对于大型设计,完整时序预算可能需要数小时甚至数天 - 内存消耗大:全芯片时序图的构建需要巨大的内存 - 迭代周期慢:任何顶层的修改都需要重新运行完整的时序预算


2. ICC2 约束分裂与时序预算流程

IC CompilerI 引入了新的约束分裂(Constraint Splitting)和时序预算流程,旨在解决传统方法的性能瓶颈。

2.1 约束分裂

约束分裂的核心思想:不再使用全芯片级的完整约束网表,而是仅使用顶层约束进行时序预算。

传统方法中,时序预算工具需要加载整个芯片的网表、约束和寄生参数。约束分裂通过使用 ILM(Interface Logic Model)网表来减少数据量——ILM 只包含模块边界的接口逻辑,而省略了模块内部的详细实现。

使用模块 ILM 网表的约束分裂流程: 1. 为每个模块创建 ILM 视图(仅保留接口逻辑) 2. 使用顶层约束 + 各模块 ILM 进行约束分裂 3. 将分裂后的约束分配给各模块 4. 各模块使用自己的约束进行独立实现

2.2 时序预算

时序预算使用分裂后的约束计算每个模块的时序目标。ICC2 中的新特性包括:

- 并行处理:多个模块的时序预算可以并行执行 - 增量更新:仅重新计算受顶层修改影响的模块 - 内存优化:使用压缩数据结构和按需加载策略减少内存消耗


3. 使用模块 ILM 网表进行约束分裂

ILM(Interface Logic Model)是层次化设计中的关键技术。ILM 保留了模块边界的完整时序信息(输入到第一级寄存器、最后一级寄存器到输出),但省略了模块内部的详细逻辑。

使用 ILM 进行约束分裂的优势: - 数据量大幅减少:ILM 的大小通常是完整网表的 5-10% - 保护知识产权:模块内部实现细节不暴露给顶层 - 运行时间缩短:拆分工具的计算复杂度与网表大小直接相关


4. 使用抽象视图进行时序预算

4.1 创建抽象视图并运行时序预算

抽象视图(Abstract View)是比 ILM 更精简的模块表示。它只包含: - 模块的输入/输出引脚 - 引脚级的时序弧(timing arcs) - 时钟定义

使用抽象视图进行时序预算时的流程: 1. 为每个模块创建抽象视图 2. 加载顶层网表和抽象视图 3. 运行时序预算引擎 4. 生成每个模块的时序目标约束

4.2 运行时间与内存对比

AMD 实际设计的对比结果:

方法运行时间内存消耗
全芯片扁平化基准基准
ILM + 约束分裂~50% 减少~40% 减少
抽象视图~75% 减少~70% 减少

5. 结论

IC Compiler II 的新约束分裂和时序预算特性为大规模层次化设计提供了显著的性能改善。通过使用 ILM 和抽象视图,AMD 在其实际设计中实现了时序预算运行时间减少 50-75%、内存消耗减少 40-70% 的效果。这些改进使得层次化实现流程能够满足越来越紧张的设计周期要求。


核心概念

概念说明
时序预算 Timing Budgeting将顶层时序约束分配为各模块时序目标的过程
IC CompilerISynopsys 新一代物理实现平台,支持层次化设计
ILM 接口逻辑模型保留模块边界时序信息而省略内部逻辑的简化模型
层次化设计 Hierarchical Design将大型设计划分为独立模块的实现方法

相关链接

- IC CompilerI · 时序预算 Timing Budgeting · 层次化设计 Hierarchical Design - AMD


图片索引

本文共 6 张图片,存放于原文 _images/ 目录。

第 4 页: -

第 6 页: -

第 7 页: -

第 8 页: -

第 9 页: -

第 10 页: -