使用块抽象和时序提取模型进行复杂百万门级SOC的分层实现

SNUG India Bangalore 2019 2019 45 页

使用块抽象和时序提取模型进行复杂百万门级SOC的分层实现

会议: SNUG India Bangalore 2019 作者: Abhishek Chouksey, Avneet Shrivastava (Intel Technology India) 页数: 45


引言

- 当前SOC设计使用分层实现以获得容量优势和更快的周转时间(TAT) - 传统上,基于ETM 提取时序模型的模型用于分层实现。更复杂和更好的抽象模型技术提供了接口逻辑的详细信息 - 实现195mm2 SOC,75个独特的多级分区,在综合和布局布线期间使用抽象模型和ETM模型的混合方法论 - 由于基于抽象的方法论有许多优势,本演示主要关注我们在基于抽象实现方面的经验 - 我们还将比较抽象vs ETM,以及如何为不同块做选择


议程

- 引言 - ETM和抽象的基础 - 设计阶段 - 设计统计和挑战 - 使用抽象时的典型注意事项 - 抽象的优势 - ETM的使用场景和局限性 - 抽象 vs ETM - 结论


ETM和抽象的基础

ETM

是什么? - 输入/输出时序弧 - 每个信号端口的相关时钟 - 最小-最小时钟树延迟 - 提取的时序模型

生成命令: extract_model –format {db lib}(签核工具)

布局视角: 包含blockage、块形状及其边界端口位置、硬宏、电压域、布局边界、接口时序路径。Frame视图在布线期间使用。

抽象模型

是什么? - 输入/输出时序弧 - 每个信号端口的相关时钟 - 最小-最小时钟树延迟 - 每个场景的接口逻辑 - 网络电容、电阻和注释延迟 - 时序和时钟延迟直至边界触发器 - 完整的时钟逻辑被保留

生成命令: create_frame / create_block_abstraction / create_abstract(实现工具)

布局视角: 与ETM相同的物理信息加接口时序路径。Frame视图在布线期间使用。

Abstract提供: - 通过设置注释延迟应用实际预算(类似ETM) - 早期反馈(硬时序路径、未优化的接口DRC和时序) - 布局和引脚放置修改


设计阶段

阶段1:探索阶段

- 面积探索、分区决策、性能探索 - 80% RTL、早期约束/UPF 统一功耗格式/模式

阶段2:试运行阶段

- 100% RTL、约束细化 - 时序和时钟树综合 CTS实验 - 面积优化、布局收敛

阶段3:最终运行

- 全芯片和所有分区的并发实现 - Setup/Hold和时序DRC收敛 - LVS/DRC收敛 - 形式验证、VCLP和PDN签核

设计统计和挑战

统计: - 195mm2 SoC芯片 - 75个独特块,多层次层次 — 并发实现 - 高度直线的布局,多个电源域 - 65个抽象模型和10个ETM - 5级设计层次

挑战: - 逻辑、物理和功耗信息的正确建模 - 子块的质量问题 - 接口时序路径优化


使用抽象时的典型注意事项

问题原因解决方案
工作电压不一致电压值差异 / PVT场景不一致维护相同的电压值和场景
电源端口不匹配子分区UPF中缺少父分区UPF中连接的电源端口创建端口并连接到正确的电源网络
PnR接口逻辑优化导致等价性失败工具优化了子分区浮动输入端口的接口网络在布局优化期间对此类接口网络应用don't touch
抽象视图中的空模块报告为未放置实例尽管模块的完整逻辑在抽象视图中被移除,模块本身未被移除在子分区中删除模块后重新生成抽象
综合期间的电源传播每次打开父数据库时抽象需要电源传播使用"propagate_constraints –power_supply_data"

父分区中报告时序路径

问题:在父DB中报告时序路径时,完全在子分区内部的多个时序路径也被报告。

解决方案

# 综合阶段
set_app_var timing_ignore_paths_within_block_abstraction true

布局布线阶段

set_timing_paths_disabled_blocks -all_sub_blocks

抽象的优势

接口时序收敛

- 叠加内部延迟:类似ETM,抽象也允许通过设置注释延迟应用实际预算 - 早期反馈:硬时序路径、未优化的接口DRC和时序 - 布局和放置修改:电压域和布局边界、引脚放置以最小化绕行

时钟相关优势

- 不需要分层时序约束 — 应使用平坦时序约束以获得更好的接口时序优化 - 精确优化 — 抽象的时序/时钟路径优化比ETM更实际 - 时钟偏移自动处理 — CTS默认自动追踪实际时钟树 - VCLP收敛:与边界端口连接的叶级逻辑的相关电源网络信息 — 提前捕获缺失的隔离单元和电平转换器违例

ETM的使用场景

适合使用ETM的情况: - 子块RTL交付延迟 - 子块本身经历多层并发开发 - 子块或孙子块的复杂性/规模 - 需要进行手动干预,考虑项目进度

局限性: - 脚本化ETM的风险: - 需要多次时钟推/拉迭代才能收敛 - 需要在边界插入锚点缓冲器 - 端口的电源网络需要根据RTL变化仔细监控和更新 - 预算需要严格遵守(可能次优) - 对齐硬时序/环回路径需要额外努力 - 接口违例保持开放直到最后,除非有签核质量的ETM


抽象 vs ETM 对比总结

参数抽象(Abstract)ETM
上层使用如果模型与父网表不一致会出现设置问题 / 可使用平坦顶层约束设置简单 / 端口不匹配可快速处理 / 顶层约束不能引用块内节点
分析可清楚确定接口时序路径失败原因(引脚位置、电压域、无缓冲路径等)失败的接口时序分析必须用平坦STA完成
精度可在并发实现的各个阶段逐步更新 / CTS默认自动追踪实际时钟树并发实现中使用阶段性ETM很麻烦 / 最差延迟用于时钟平衡(不准确)
生成难度易从实现工具直接生成 / 需与父级保持一致脚本化ETM易生成但质量差 / 真实ETM需签核STA工具增加TAT
VCLP/低功耗提前捕获MV问题,跨电压缓冲正确功耗感知ETM需谨慎处理端口的电源网络

模型决策:基于此,抽象是默认选择。在某些情况下需要使用ETM来实现。


结论

使用抽象的优势: - 从父级获得可见性/清晰度 - 分析变得容易 - 更好的精度 - 更快的收敛 - 减少时序ECO周期

未来增强:迭代报告链接问题、质量检查器使能


图片索引

本文共160张图片,存放于 SNUG_TPC_SDC_Chouksey_Hierarchical_SOC_Implementation_paper_images/ 目录。本文为PPT格式,图片数量众多,包括:ETM/抽象模型架构图、设计层次结构、Abstract vs ETM对比表、接口时序路径示意图、时钟结构图、VCLP收敛展示、完整布局快照等。