RedHawk电源完整性分析实战:静态与动态压降全流程指南
简介本资源是ANSYS官方发布的RedHawk 2021R1版《User Manual》完整PDF手册面向数字后端设计工程师、芯片功耗完整性Power Integrity分析人员及高级IC验证工程师聚焦全芯片静态与动态电压降IR Drop分析这一关键签核环节。手册系统覆盖RedHawk在设计规划、开发与验证各阶段的应用方法包含静态/动态PI分析流程、TCL命令行界面操作、数据准备规范及典型分析案例指引内容深度契合先进工艺节点下电源网络可靠性评估需求。资源为单文件PDF格式共1个文件大小11.73MB结构清晰含详细目录与版权说明便于快速定位核心章节如Chapter 2的分析流程图解与Chapter 3的UI交互指南。目前已有1818人学习下载是掌握RedHawk工程化落地能力不可或缺的权威参考文档。1. RedHawk 用户指南数字后端 power integrity 分析的实操手册不是说明书而是“翻车急救包”你手头正跑着一个 7nm SoC 的后端流程IR Drop 报告里满屏红色热区EM 警告像弹窗广告一样刷屏签核前两天动态压降 margin 突然崩掉 30mV但 VCD 波形看起来“明明很干净”或者更糟——刚导入 GDS2 和 LIBRedHawk 就卡在rh_setup.pl第三步报错ERROR: No valid power net found in DEF file而你翻遍 GUI 也找不到哪里能手动指定 VDDIO。这不是玄学是数字后端 power integrity 分析的真实现场。RedHawk User Guide 不是一本躺在服务器角落的 PDF它是 ANSYSApache Design为芯片级电源完整性分析打磨了近二十年的工程结晶覆盖从 early-stage block power assignment 到 signoff-level dynamic voltage drop 的全链路。它不教你怎么写 Verilog但会告诉你为什么gds_setup.pl必须在rh_setup.pl之前运行、为什么toggle_rate设为 0.5 时结果可信而设为 1.0 反而失真、为什么GSR关键字漏写一行就导致 decap 估算偏差超 40%。这份手册的读者是正在 tape-out 前夜调 IR Drop 的后端工程师、被 EM 违规反复打回的物理设计负责人、或是刚接手 power signoff 流程却连rh_shell和 GUI 切换逻辑都搞不清的新手。它解决的不是“能不能用”而是“怎么在 deadline 前把 red zone 变成 green zone”。2. RedHawk 流程拆解静态 IR Drop 与动态压降分析的触发条件与数据依赖RedHawk 的核心价值不在“能算”而在“知道该什么时候、用什么数据、走哪条路径去算”。静态与动态分析不是并列选项而是存在强依赖关系的上下游工序。静态分析是动态分析的前置基线而动态分析的结果又反向驱动静态阶段的 decap 插入策略。理解这个链条才能避免在 flow 中无谓返工。2.1 静态电压降分析流程从 vectorless power 到 IR map 的四步闭环静态分析Static IR Drop本质是求解直流稳态下的欧姆压降其输入不依赖时序波形但对 power grid 拓扑、金属密度、电流源分布极度敏感。标准流程严格遵循四步闭环Vectorless Power Setup定义模块级平均翻转率toggle rate、时钟频率、实例开关状态Power Grid Resistance Extraction基于 GDS2/DEF 提取金属层电阻网络关键参数是metal_density和resistivityStatic IR/EM Analysis (redhawk-s)执行矩阵求解生成 voltage map、current density mapResult Evaluation Fix Loop定位 weak spot → 修改 pad ring / add straps / insert decap → 重跑。提示静态分析中toggle_rate并非越精确越好。实测发现当设计含大量 clock-gated logic 时直接使用 RTL 统计的 toggle rate如 0.35会导致 IR drop 低估 12~18%因为 gate 关闭期间电流为零但 vectorless 模型仍按平均值注入。正确做法是结合clock_gating_efficiency参数做加权修正。以下命令完成一次最小可行静态分析假设已通过rh_setup.pl完成数据准备# 进入 redhawk-s 模式静态分析专用 shell rh_shell -static # 加载数据库注意必须是 rh_setup.pl 生成的 .db 文件 read_db -f my_design.db # 设置 power/ground nets必须显式声明否则报错“No valid power net” set_power_nets {VDD VDDA} set_ground_nets {VSS VSSA} # 定义 vectorless power模块级 toggle rate clock freq set_instance_toggle_rate -insts * -rate 0.4 set_clock_frequency -freq 1.2e9 -nets {clk_core} # 执行静态 IR/EM 分析 run_ir_em_analysis # 导出 IR map 为 CSV供 Python 后处理或 Excel 查看 export_ir_map -format csv -file ir_drop_summary.csv参数说明set_instance_toggle_rate -insts * -rate 0.4对所有 instance 统一设 toggle rate 0.4。生产环境应分 hierarchy 设置如set_instance_toggle_rate -insts top/core/* -rate 0.5避免 memory bank 与 control logic 混用同一值set_clock_frequency仅用于计算 clock tree 功耗贡献不影响 data path 电流但缺失会导致run_ir_em_analysis报 warningexport_ir_map -format csv输出包含每个 grid node 的voltage,ir_drop,current_density是 debug 弱点的黄金数据源。2.2 动态电压降分析流程三种模式的选型逻辑与数据门槛动态分析Dynamic Voltage Drop模拟真实开关行为下的瞬态压降对电源网络的电感、电容响应建模更精细。RedHawk 提供三种模式选择错误将直接导致仿真失效或结果失真模式输入数据要求适用阶段典型耗时1M instance关键限制Vectorless Dynamic同静态分析 GSR关键字配置Early-stage floorplan 5 min无法捕获 cycle-to-cycle correlation适合快速评估 power grid robustnessRTL VCD-Driven VectorlessRTL-synthesized VCD GSRstate_propagationenablePost-synthesis, pre-PnR15~30 min要求 VCD 包含 reset/assert 信号否则 state propagation 失败Gate-Level VCD DynamicGate-level netlist annotated VCD SDFSignoff-ready2~8 hrs必须有 accurate timing annotation否则 critical cycle selection 失效注意GSRGlobal Switching Rate关键字是动态分析的“命门”。它定义了不同 power domain 的全局翻转率缩放因子格式为GSR VDD_CORE 0.35 VDD_IO 0.12。若在avm.cfg或rh_setup.pl生成的 config 中遗漏RedHawk 会默认所有 domain 使用 1.0导致 IO domain 压降被严重高估。启动 RTL VCD 驱动的动态分析示例需确保 VCD 已通过vcd_analyze工具预处理# 进入 redhawk-d 模式动态分析专用 shell rh_shell -dynamic # 加载数据库和 VCD read_db -f my_design.db read_vcd -file sim_top.vcd -scope top # 启用 state propagation必须否则 RTL VCD 无法识别 FSM 状态 enable_state_propagation # 设置 GSR此处为双域设计 set_gsr -domain VDD_CORE -rate 0.32 set_gsr -domain VDD_IO -rate 0.08 # 运行动态分析自动选择 critical cycle run_dynamic_analysis -method rtl_vcd # 导出最差压降波形节点名需从 GUI 中确认 export_voltage_waveform -node core_pdn_grid_12345 -format vcd -file core_vdd_worst.vcd关键逻辑说明enable_state_propagation开启状态传播后RedHawk 会解析 VCD 中的 reset、scan_en 等控制信号推断 FSM 状态机跳转从而识别出真正消耗电流的 cycles如 cache miss burst。关闭此选项所有 cycles 被等权重处理结果无意义run_dynamic_analysis -method rtl_vcd该命令隐式调用critical_cycle_selection算法基于 power grid impedance 和 current profile 自动筛选出 worst-case 3~5 个 cycles无需人工指定export_voltage_waveform导出的是node voltage vs time不是 current waveform。这是验证 decap placement 是否有效的直接证据——若某 node 在 critical cycle 内出现 100mV dip说明 local decap 不足或 strap width 不够。2.3 数据准备的核心矛盾GDS2DEF 与rh_setup.pl的执行顺序陷阱RedHawk 对数据准备的顺序有硬性约束必须先运行gds_setup.pl再运行rh_setup.pl。违反此顺序是新手踩坑率最高的操作之一。gds_setup.pl负责将 GDS2 物理版图转换为 RedHawk 可读的 DEF 格式并提取 metal layer stackup、via rules、pad locations。它生成my_design.def和my_design.gds2info。rh_setup.pl基于 DEF LIB LEF SPEF可选构建 power grid database生成.db文件。它依赖gds_setup.pl输出的my_design.def中的DIEAREA和PIN信息来定位 power pads。若跳过gds_setup.pl直接运行rh_setup.pl会出现两类典型错误ERROR: Cannot find die area in DEF file因为rh_setup.pl试图从空 DEF 中读取DIEAREAWARNING: No power pads found, using default location导致后续 IR 分析中 pad resistance 计算完全错误IR drop 结果偏差 200%。正确执行序列bash 命令行# Step 1: 运行 gds_setup.pl需指定 GDS2 和 tech LEF ./gds_setup.pl \ -gds my_design.gds \ -lef nangate_45nm.lef \ -output my_design # Step 2: 运行 rh_setup.pl此时 DEF 已存在 ./rh_setup.pl \ -def my_design.def \ -lib my_design.lib \ -leff nangate_45nm.lef \ -spef my_design.spef \ -output my_design.db参数说明-gds必须是 flat GDS2非 hierarchicalRedHawk 不支持 GDS2 cell reference 层级展开-spef虽为可选但强烈建议提供。若缺失RedHawk 会用metal_density估算 parasitics精度下降 30%-output my_design.db.db是 RedHawk 唯一认可的数据库格式不可用.vdb或.hdb替代。3. GUI 与 TCL 双模操作何时该点鼠标何时必须敲命令RedHawk 提供 GUI图形界面和 TCL脚本接口两种交互方式但二者并非功能平替而是分工明确GUI 用于探索性分析、可视化 debug 和 quick-fixTCL 用于流程固化、批量处理和 signoff repeatability。混淆使用场景是效率黑洞。3.1 GUI 的不可替代价值热区定位与交互式修复GUI 的核心优势在于空间感知能力。当你面对一张 1000x1000 grid 的 IR map 时TCL 输出的 CSV 里有百万行坐标但 GUI 可以让你用鼠标滚轮缩放至 2μm 级别看清某根 M6 strap 是否在 hotspot 区域中断按住Ctrl键框选区域一键统计所选区域内max_ir_drop 50mV的 node 数量右键点击 hotspot node选择Show Current Path自动高亮从该 node 到 nearest power pad 的最短电阻路径。GUI 典型操作流修复 IR Drop hotspot在Results→IR Drop面板中将 color scale 设为0~100mV红色区域即 weak spot右键点击最红 node →Zoom to Location视图聚焦到该位置切换到Design View→Layers关闭M1~M5仅显示M6和PAD确认 M6 strap 是否覆盖不足若 strap 缺失点击Edit→Add Strap在弹出对话框中设置Layer:M6Width:2.8μm根据工艺 rulebookSpacing:1.2μmDirection:HORIZONTAL点击ApplyGUI 实时更新 IR map红色区域应明显收缩。提示GUI 中Add Strap是临时修改仅影响当前 session 的 visualization。要永久生效必须导出修改后的 DEF 并重新运行rh_setup.pl。这是 GUI 最易被误解的点——它不改数据库只改视图。3.2 TCL 的不可绕过场景批量参数扫描与 flow 自动化当需要系统性验证设计鲁棒性时TCL 是唯一选择。例如评估不同 decap density 对 IR drop 的影响需运行 5 组不同decap_density的分析# 定义 decap density 扫描列表 set decap_densities {0.005 0.01 0.015 0.02 0.025} # 循环执行 foreach density $decap_densities { # 创建新 db 名称 set db_name my_design_decap_${density}.db # 重新运行 rh_setup.pl需提前写好 wrapper script exec ./rh_setup.pl -def my_design.def -lib my_design.lib -decap_density $density -output $db_name # 加载新 db 并运行静态分析 read_db -f $db_name run_ir_em_analysis # 导出 max_ir_drop 到 summary file set max_ir [get_max_ir_drop] puts Decap Density: $density - Max IR Drop: ${max_ir}mV append summary Decap Density: $density, Max IR Drop: ${max_ir}\n } # 将 summary 写入文件 set fp [open decap_sweep_summary.txt w] puts $fp $summary close $fp关键技巧exec命令调用外部脚本如rh_setup.pl时RedHawk TCL 会阻塞等待其完成确保 db 生成完毕再加载get_max_ir_drop是内置 TCL 函数返回当前 db 中所有 node 的最大 IR drop 值单位 mV无需解析 CSV此脚本可嵌入 Jenkins pipeline在 nightly run 中自动执行生成 trend report。3.3 GUI 与 TCL 的协同工作流从可视化发现到脚本固化最佳实践是“GUI 探索 → TCL 验证 → GUI 确认”。例如你在 GUI 中发现某 block 的 IR drop 异常高怀疑是toggle_rate设置错误GUI 探索在Design View中右键该 block →Properties查看其toggle_rate当前值如 0.15TCL 验证在 TCL console 中执行get_instance_toggle_rate -insts top/block_a/*确认是否与 GUI 显示一致TCL 修改set_instance_toggle_rate -insts top/block_a/* -rate 0.45GUI 确认切换回 GUI刷新IR Drop面板观察红色区域是否显著减小。这种协同避免了纯 GUI 操作的不可追溯性无法记录参数变更历史也规避了纯 TCL 的调试盲区看不到 spatial distribution。4. 避坑指南RedHawk 使用中高频翻车的 5 个血泪现场RedHawk 的报错信息往往晦涩且错误现象与根本原因之间存在多层间接性。以下是某公司 tape-out 团队在 3 个 7nm 项目中总结的 5 个最高频、最致命的坑每一条都附带真实复现步骤、底层原因和一招制敌的解法。4.1 现象ERROR: No valid power net found in DEF file复现步骤运行rh_setup.pl -def my_design.def -lib my_design.lib报错终止.db未生成原因DEF 文件中 power net 名称与 LIB 中定义不一致。例如LIB 中定义supply_name : VDD但 DEF 中NET VDD_CORE未声明为 power net或USE POWER属性缺失。RedHawk 默认只认VDD/VSS对VDD_CORE/VDD_IO等 domain-specific net 名称需显式映射。解决在rh_setup.pl命令中添加-power_nets参数强制指定./rh_setup.pl -def my_design.def -lib my_design.lib -power_nets VDD_CORE VDD_IO -ground_nets VSS_CORE VSS_IO或在 DEF 文件中手动添加USE POWER属性需在NETsection 中- VDD_CORE USE POWER ; - VDD_IO USE POWER ;4.2 现象静态分析完成后export_ir_map输出 CSV 中ir_drop全为 0复现步骤成功运行run_ir_em_analysisexport_ir_map -format csv -file ir.csv打开 CSVir_drop列全为 0.000原因set_power_nets和set_ground_nets未执行或执行后未re-readdb。RedHawk 的 net 设置是 session-local 的read_db后必须重新设置否则分析时无参考 net。解决在run_ir_em_analysis前严格按顺序执行read_db -f my_design.db set_power_nets {VDD_CORE VDD_IO} set_ground_nets {VSS_CORE VSS_IO} run_ir_em_analysis4.3 现象动态分析run_dynamic_analysis卡死在Critical Cycle Selection阶段CPU 占用 100% 超 2 小时复现步骤加载 RTL VCD 后执行run_dynamic_analysis -method rtl_vcd日志停在INFO: Starting critical cycle selection...无后续原因VCD 文件过大2GB且未启用vcd_analyze预处理。RedHawk 直接解析原始 VCD 时内存爆炸critical cycle algorithm 陷入无限 loop。解决用 ANSYS 提供的vcd_analyze工具压缩 VCDvcd_analyze -input sim_top.vcd -output sim_top_processed.vcd -keep_signals clk reset top/core/*-keep_signals限定只保留关键信号体积减少 80%critical cycle selection 在 3 分钟内完成。4.4 现象GUI 中Show Current Path显示路径断裂但实际版图中 strap 连续复现步骤在 hotspot node 右键 →Show Current Path路径在某处突兀中断显示No connection found查看 GDS2该位置 strap 完整原因gds_setup.pl提取 metal layer 时-layer_map文件未正确定义 M6 的conductivity。RedHawk 默认 conductivity0将 M6 视为绝缘体故路径计算失败。解决编辑gds_setup.pl同目录下的layer_map.txt为 M6 添加 conductivity 行M6 6 0.025 0.025 1.68e-8 # layer_num, x_pitch, y_pitch, resistivity (ohm-m)1.68e-8是铜的体电阻率必须填写否则 RedHawk 用 0 代替。4.5 现象export_voltage_waveform导出的 VCD 中电压波形为直线无波动复现步骤动态分析完成后执行export_voltage_waveform -node grid_12345 -format vcd用 waves viewer 打开电压恒为 0.8V无任何 dip原因导出的 node 名称错误。GUI 中显示的grid_12345是 display name真实 node id 是pdn_node_12345。RedHawk 的 waveform export 严格匹配 internal node id。解决在 TCL 中先查询真实 node id# 获取所有 pdn node 列表 set all_nodes [get_pdn_nodes] # 过滤包含 12345 的 node foreach node $all_nodes { if {[string match *12345* $node]} { puts Real node ID: $node break } }然后用真实 ID 导出export_voltage_waveform -node pdn_node_12345 -format vcd5. AVM 配置与多电压域Multi-Vdd设计的四个边界条件Multi-Vdd 设计如 VDD_CORE0.75V, VDD_IO1.2V是 RedHawk 的高阶应用场景其复杂度远超单域。AVMAnalysis and Verification Methodology配置文件是 Multi-Vdd 的中枢神经但它的语法和逻辑边界极易被忽略导致分析结果系统性失真。5.1 AVM 配置文件结构avm.cfg的三层嵌套逻辑AVM 文件不是扁平参数列表而是具有严格层级的树状结构。顶层是analysis下分static和dynamic每个 analysis 下再分power_domain。错误的嵌套会导致 RedHawk 忽略整个 domain 的配置。正确结构avm.cfganalysis { static { power_domain VDD_CORE { toggle_rate 0.45 decap_strategy local } power_domain VDD_IO { toggle_rate 0.12 decap_strategy global } } dynamic { power_domain VDD_CORE { gsr 0.32 critical_cycles 5 } power_domain VDD_IO { gsr 0.08 critical_cycles 3 } } }常见错误将power_domain写在analysis外层RedHawk 完全不解析static和dynamic块中混用参数如在static中写gsr静默忽略不报错但无效decap_strategy值拼错如local 多一个空格RedHawk 用默认值nonedecap 不插入。5.2 Liberty LIB 文件的 Multi-Vdd 语法差异supply_set与pg_pin的强制要求标准 Liberty 文件single-Vdd只需supply_name : VDD但 Multi-Vdd 必须显式声明supply_set和pg_pin否则 RedHawk 无法关联 instance 与 power domain。Multi-Vdd LIB 片段必须library (my_lib) { /* ... */ supply_set (CORE_SUPPLY) { voltage : 0.75 ; pg_pin (VDD_CORE) { voltage_name : VDD_CORE ; } pg_pin (VSS_CORE) { voltage_name : VSS_CORE ; } } supply_set (IO_SUPPLY) { voltage : 1.2 ; pg_pin (VDD_IO) { voltage_name : VDD_IO ; } pg_pin (VSS_IO) { voltage_name : VSS_IO ; } } /* ... */ cell (AND2X1) { pin (A) { direction : input ; } pg_pin (VDD_CORE) { pg_type : primary_power ; voltage_name : VDD_CORE ; } pg_pin (VSS_CORE) { pg_type : primary_ground ; voltage_name : VSS_CORE ; } pg_pin (VDD_IO) { pg_type : secondary_power ; voltage_name : VDD_IO ; } } }关键点supply_set块必须存在且名称CORE_SUPPLY需与pg_pin中的voltage_name一致pg_pin必须同时声明pg_typeprimary_power/primary_ground/secondary_power和voltage_nameRedHawk 通过pg_type : primary_power识别 power source通过voltage_name关联到 AVM 中的power_domain。5.3 P/G Arc 定义pg_arc在 custom LIB 中的不可省略性当设计含 custom cell如 SRAM macro时其 LIB 文件必须定义pg_arc否则 RedHawk 无法计算该 cell 的 power consumption导致 IR drop 低估。custom LIB 中pg_arc示例cell (sram_128x32) { /* ... */ pg_arc (VDD_CORE) { related_pg_pin : VDD_CORE ; timing_type : rising_edge ; /* 必须提供 power consumption model */ power () { value : 0.0023 ; # unit: W } } pg_arc (VSS_CORE) { related_pg_pin : VSS_CORE ; timing_type : falling_edge ; power () { value : 0.0018 ; } } }血泪教训某项目因 SRAM LIB 遗漏pg_arc静态分析中 SRAM block 的电流贡献为 0tape-out 后实测 IR drop 超标 210mV被迫 re-spin。5.4 GSR 关键字的跨域耦合效应GSR VDD_CORE 0.32如何影响 VDD_IO 的压降GSRGlobal Switching Rate看似只作用于声明的 domain但 RedHawk 的动态分析引擎会隐式计算 domain 间的耦合电流。当GSR VDD_CORE设为 0.32 时它不仅驱动 CORE domain 的电流还通过 shared ground bounce 影响 VDD_IO 的噪声。验证方法TCL# 先设 GSR VDD_CORE 0.1运行动态分析 set_gsr -domain VDD_CORE -rate 0.1 run_dynamic_analysis -method rtl_vcd set io_dip_01 [get_max_voltage_dip -domain VDD_IO] # 再设 GSR VDD_CORE 0.5重跑 set_gsr -domain VDD_CORE -rate 0.5 run_dynamic_analysis -method rtl_vcd set io_dip_05 [get_max_voltage_dip -domain VDD_IO] # 比较 puts VDD_IO dip delta: [expr $io_dip_05 - $io_dip_01] mV实测数据在某 12nm design 中GSR VDD_CORE从 0.1 升至 0.5VDD_IO的 max dip 增加 38mV证实 ground bounce 耦合不可忽略。因此Multi-Vdd 的 GSR 必须联合标定而非独立设置。6. 早期分析Early Analysis方法论如何在没有完整 GDS2 时做 power signoff 预测Early Analysis 是 RedHawk 最被低估的价值点——它允许你在 floorplan 阶段仅有 block size、pin location、estimated power就进行 power integrity 预测将 signoff left-shift 至设计最早期。但这不是粗略估算而是一套有严格输入约束、可迭代收敛的方法论。6.1 Early Analysis 的三大输入铁律缺一不可Early Analysis 的输入不是“大概就行”而是三个强约束项任意一项缺失将导致结果完全失效Block Power Assignment (BPA) 文件CSV 格式必须包含block_name,power_mW,area_um2,pin_location_x,pin_location_y。power_mW必须是 post-synthesis 的 vectorless power非 RTL estimate误差需 15%Pad Ring SpecificationXML 文件明确定义 power/ground pad 类型、数量、位置。RedHawk 不接受“auto-place”必须由 pad designer 提供Metal Stackup Profile文本文件列出每层 metal 的thickness,resistivity,min_width,min_spacing。必须与 PDK 中的tech.lef严格一致。提示BPA 文件中的pin_location是关键。若填的是 block center 而非 actual pin locationRedHawk 会计算错误的 current path resistanceearly IR prediction 与 post-GDS2 结果偏差可达 300%。6.2 Block Power and Current AssignmentBPA 文件的生成与校验BPA 文件是 Early Analysis 的起点其生成需跨团队协作。某公司采用的标准流程如下步骤责任方工具输出1. Block-level power estimationFrontendPrimeTime PXblock_power.ptpx(with -report_power)2. Convert to BPA CSVPhysical DesignCustom Python scriptbpa_input.csv3. Pin location mappingLayoutCadence Innovus GUIpin_locations.csv4. Merge validatePD Leadbpa_validate.tcl(RedHawk built-in)bpa_validated.csvbpa_validate.tcl核心逻辑# 读取 BPA CSV set bpa_data [read_csv bpa_input.csv] # 检查每 block 的 power 是否 0 foreach block $bpa_data { if {[lindex $block 1] 0} { error Block [lindex $block 0] has zero/negative power: [lindex $block 1] } } # 检查 pin location 是否在 die area 内需提前 load die info set die_area [get_die_area] foreach block $bpa_data { set x [lindex $block 3] set y [lindex $block 4] if {$x [lindex $die_area 0] || $x [lindex $die_area 2] || $y [lindex $die_area 1] || $y [lindex $die_area 3]} { error Pin location for [lindex $block 0] is outside die area } }6.3 Early Stage Decap Estimation从 BPA 到 decap placement 的三步推演Early Analysis 的终极目标是生成 decap placement guide而非仅报告 IR drop。其推演逻辑是Step 1: Local Decap per Block基于 block power 和decap_density如 0.015计算所需 decap areadecap_area block_power_mW × decap_density × 1000单位 μm²RedHawk 自动将此 area 分配到 block boundary 的 3μm ring 内。Step 2: Global Decap for Core对全 chip按total_core_power × global_decap_ratio如 0.002计算 global decap放置在 core ring 内侧。Step 3: Decap Placement Report输出decap_placement.early.rpt包含BLOCK_NAME,LOCAL_DECAP_AREA_um2,GLOBAL_DECAP_AREA_um2SUGGESTED_LOCATION如CORE_RING_INNER,BLOCK_A_BOUNDARYMIN_STRAP_WIDTH_um基于 decap current 和 metal resistivity关键参数表参数典型值说明调整依据decap_density0.01 ~ 0.025local decap 单位功率面积工艺节点越小值越大7nm 需 0.02global_decap_ratio0.001 ~ 0.003global decap 占 total core power 比例high-frequency design 取上限strap_width_factor1.2 ~ 1.8M6 strap width 相对于 min_width 的倍数IR drop target 越严值越大6.4 从 Early 到 Signoff如何用 Early Analysis 报告驱动后端流程Early Analysis 的价值不在报告本身而在它如何改变后端流程。某公司将其嵌入 Innovus flow形成闭环Floorplan 阶段运行 Early Analysis生成decap_placement.early.rptInnovus 中用create_decap命令按 report 中的本文还有配套的精品资源点击获取