从DC到DCG:手把手教你搭建物理感知综合流程(含DEF文件处理避坑指南)
从DC到DCG物理感知综合全流程实战指南在28nm以下工艺节点传统逻辑综合工具已难以应对复杂的物理效应。我们团队在最近一次5nm芯片项目中由于初期忽视物理感知综合的约束设置导致时序收敛多耗费三周时间。本文将分享从Design CompilerDC过渡到DC TopographicalDCT和DC GraphicalDCG的完整操作框架特别针对DEF文件处理这一关键环节提供避坑方案。1. 环境准备与工具升级1.1 工具版本检查物理感知综合要求特定版本的Synopsys工具链组合# 检查工具版本兼容性 dc_shell -topo -version | grep Topographical Support icc_shell -version | grep DEF Export推荐的最低版本组合工具名称最低版本关键特性Design CompilerN-2018.09完整DCG支持ICC22019.06增强型DEF导出StarRCQ-2019.12精确寄生参数提取1.2 工艺文件配置在启动dc_shell-topo前需确认工艺文件包含以下关键数据标准单元的物理轮廓信息LEF金属层堆叠定义tech LEF寄生参数查找表TLU注意使用旧版Milkyway库时需运行convert_library工具进行格式转换2. DEF文件处理全流程2.1 从布局工具导出DEF在ICC2中生成物理约束的典型命令序列# 导出预布局DEF export_def -floorplan -no_nets -no_pins current_design.def # 包含宏单元位置约束 export_def -placement -all_components hierarchical.def常见问题处理方案单元重叠警告检查placement blockage设置端口缺失确认PG网络是否被误过滤层次错误使用-hierarchy_depth参数控制2.2 DEF到物理约束转换使用read_physical_constraints命令加载DEF时建议添加以下控制参数read_physical_constraints -honor_keepout \ -auto_derive_keepout \ -apply_bound \ -verbose \ design.def关键参数解析-honor_keepout保留布局中的禁止区域-auto_derive_keepout自动推导单元间隔-apply_bound继承芯片边界约束3. DCG综合核心配置3.1 compile_ultra关键参数物理感知模式下必须设置的参数组合compile_ultra -spg \ -timing_high_effort \ -congestion \ -gate_clock \ -retime-spg选项的三种工作模式对比模式命令参数适用场景运行时间Basic-spg初期探索1xMedium-spg -spg_placement中等精度需求1.8xHigh-spg -spg_route签核前优化3.5x3.2 拥塞控制策略通过以下Tcl脚本实现动态拥塞优化set_congestion_options -max_util 0.85 \ -coordinate {x1 y1 x2 y2} \ -overflow 0.3 report_congestion -threshold 0.2 -by_layer4. 物理感知时序分析4.1 寄生参数反标与传统流程不同DCG需要实时更新寄生参数read_parasitics -increment extracted.spef update_timing -full4.2 跨时钟域检查物理位置信息使CDC分析更精确check_cdc -spg \ -clock_groups \ -report cdc.rpt典型问题修复流程识别物理距离过长的CDC路径添加位置约束限制同步器分布重新生成时钟树约束5. 签核准备与交付物5.1 物理一致性检查运行签核前验证脚本verify_physical_constraints -check_all \ -report physical.rpt5.2 交付文件清单必须包含的交付物带物理约束的网表DDC格式时序约束SDC 2.1版本物理层次信息ILM文件功耗分析数据SAIFVCD在最近一次HPC芯片设计中采用上述流程使迭代周期缩短40%。特别提醒当遇到无法解释的时序违例时优先检查DEF中的电源网络定义是否完整——这是我们用两周时间换来的经验教训。