ICC II 9 Signoff实战:从Route_opt到DRC检查,一个完整交付流程的保姆级避坑指南
ICC II Signoff全流程实战从Route_opt到DRC检查的工程化指南当数字芯片设计进入后端实现阶段Route_opt完成后的Signoff流程往往成为工程师的压力测试场。面对Timing收敛、ECO调整、Filler插入、Metal Fill优化和DRC检查等环环相扣的任务一个系统化的执行框架比碎片化的技巧更重要。本文将拆解每个关键节点的技术要点分享经过流片验证的工程实践方法。1. 从Route_opt到Signoff的过渡检查Route_opt结束后立即运行以下检查清单这是确保后续流程顺利的基础# 基础检查命令集 report_constraints -all_violators -max_delay -min_delay check_legality -verbose report_design_physical -utilization必须关注的三个核心指标时序违例分布重点关注建立时间违例集中在哪些路径组clock group布局合法性检查是否有非标准单元摆放如memory周围出现非法间距拥塞热点利用率超过85%的区域需要记录坐标这些区域在后续ECO阶段容易出问题提示使用write_floorplan -create_terminal保存当前布局状态ECO阶段出现问题时可以快速回退典型问题处理方案问题类型检测方法应急处理根治方案局部时序违例report_timing -path_type full_clock_expandedset_clock_uncertainty临时放宽手动调整寄存器位置非法间距check_legality -verbosemove_objects -x_offset 0.1修改placement约束金属层DRCverify_drc -earlyadjust_placement_grid重跑route_opt2. ECO流程的工程化实践2.1 三种ECO模式的选择策略place_eco_cells的三种模式需要根据设计阶段灵活选用# 模式对比实例 place_eco_cells -eco_changed_cells { -legalize_mode free_site_only # 流片前早期ECO -legalize_mode allow_move_other_cells # 中等规模逻辑变更 -legalize_mode minimum_physical_impact # 签核前微调 }实战经验free_site_only适合逻辑变更5%的情况但要注意检查电源网络连接allow_move_other_cells会导致原有时序路径变化必须重跑extractionminimum_physical_impact对时钟树影响最小但可能无法解决高负载路径问题2.2 ECO Fusion的加速技巧启用ECO Fusion需要正确配置PT和StarRC环境# ECO Fusion环境配置 set_host_options -target PrimeTime \ -submit_command {/lsf/bin/bsub -R rusage[mem32G]} set_pt_options -pt_exec /apps/pt_2021.03/bin/pt_shell set_starrc_options -config ./starrc_config.cfg关键参数优化建议-pba_mode path对建立时间违例更敏感-physical_mode open_site保留10%的空白site给后续调整-utilize_dangling_wire true复用已有走线资源注意ECO Fusion运行后必须用check_pt_qor查看结果常规report_timing会覆盖真实时序数据3. 填充单元的全流程管理3.1 标准单元填充策略采用分层填充方法建议执行顺序带金属层的最大尺寸FillerFILLER32中等尺寸FillerFILLER16最小尺寸FillerFILLER8无金属层的Decap Cell# 分级填充示例 set METAL_FILLERS FILLER32 FILLER16 FILLER8 set NON_METAL_FILLERS DECAP8 DECAP4 create_stdcell_fillers -lib_cells $METAL_FILLERS \ -rules { fill_gap_priority } connect_pg_net create_stdcell_fillers -lib_cells $NON_METAL_FILLERS常见问题处理填充后时序恶化先执行remove_stdcell_fillers_with_violation再调整填充区域电源连接错误用check_pg_connectivity验证特别注意角落单元3.2 金属填充的时序影响控制金属填充必须平衡工艺要求和时序影响signoff_create_metal_fill \ -timing_preserve_setup_slack_threshold 0.05 \ -auto_eco true \ -density_rules { \ M1 0.3 0.7 \ M2 0.4 0.8 \ }密度控制经验值金属层最小密度目标密度特殊区域处理M130%50%避免在高速路径上方M2-M440%60%时钟线周围降10%Top层20%40%优先保证阻抗匹配4. 签核DRC的自动化处理4.1 In-Design DRC检查流程IC Validator集成检查的关键配置set_app_options -name signoff.check_drc.runset -value tech_DRC.rs set_app_options -name signoff.fix_drc.init_drc_error_db \ -value signoff_check_drc_run signoff_check_drc -select_layers {M1 VIA1 M2} \ -check_all_runset_layers false错误修复优先级间距违例特别是不同电压域之间天线效应违例最小面积违例金属密度违例4.2 物理验证数据准备GDSII合并时的注意事项set_app_options -name signoff.physical.merge_stream_files \ -value { memory.gds analog.gds } signoff_check_drc -read_design_view {abstract} \ -check_all_runset_layers true验证数据检查清单确保techfile与runset层命名一致合并前检查各模块的单元命名冲突验证PG网络的全局连接性在28nm以下工艺中曾经遇到金属填充导致时钟路径setup违例增加0.2ns的情况。后来采用分区域密度控制策略在时钟树周围设置-timing_aware_fill选项将影响控制在0.05ns以内。这个案例说明签核阶段的每个操作都需要量化评估其对关键指标的影响。