本节摘要:修复手段没有优劣,只有合不合适:按违例类型、根因与代价选药。本节给出一棵可执行的决策树,并把每招的典型收益量级与副作用标成表——建立违例先动哪三招、保持违例为什么先插延迟、什么时候必须请 RTL 下场。
别以为手段越多越好修。收敛工作的混乱往往来自手段的滥用:上来就换最强驱动、逢违例就插 buffer,结果功耗与拥塞失控、两本账互相踩踏。本节把手段按"两本账、根因类型、收益代价"组织成决策树,让每一次修复都有依据、有量级预期、有副作用清单。

手段的收益必须量级化,才能算修复预算。下表数字是 0.5ns 周期级别设计里的典型量级(具体工艺差异很大,取自家库的实测数据为准):
| 手段 | 典型收益 | 主要代价 | 适用场景 |
|---|---|---|---|
| VT 替换(HVT 换 SVT/LVT) | 单元延迟缩短 15% 至 25% | 漏功耗上升明显 | 深路径关键单元、数量可控 |
| 尺寸上调(X1 换 X2/X4) | 延迟缩短 10% 至 20% | 面积、负载上翻、漏功耗 | 驱动不足的中间级 |
| 插 buffer 洗沿 | 后级链条合计改善 20 至 50ps | 延迟本身加一级、面积 | 翻转率恶化链、高扇出网 |
| 保持延迟单元 | 每级加 20 至 50ps 最小延迟 | 建立预算等量扣减 | 短路径抢跑 |
| 层提升(换高层金属) | 互连延迟缩短 5% 至 15% | 布线资源、过孔调整 | 长线主导的路径 |
| 重定时(移寄存器) | 级间再平衡 10% 至 15% | 验证节奏、DFT 重做 | 深组合链、级间不均 |
| 逻辑克隆(高扇出展开) | 终端延迟改善 20 至 40ps | 面积、控制信号扇出 | 配置与使能类大扇出网 |
| 改 RTL(插流水/缩逻辑) | 30% 以上或结构性解决 | 流程重来、验证全量 | 结构性无解的路径 |
读表的要点有三。第一,收益量级决定调用顺序:要救 200ps 的缺口,尺寸与 VT 的量级不够,直接找结构问题;要救 15ps 的浅违例,动结构是大炮打蚊子。第二,代价列是预算:VT 替换前先看漏功耗余量,插 buffer 前先看拥塞余量——6.1 说的"越早越便宜"在代价侧同样成立,早阶段的功耗与面积预算还没锁死。第三,最后一行是压舱石:RTL 修改能让其余所有手段失效重来,所以它要么最早做(综合前),要么明确不做——不能在 ECO 阶段突然插进来。
把量级表用成一次真实的预算演算。违例:建立 slack 为负 0.09ns,路径构成为三级组合逻辑,其中第二级单元输入翻转率 55ps(明显偏缓)、互连占比约四成。按决策树走:翻转率恶化的证据指向"前级缓冲洗沿",第一刀在第二级单元前插一支 buffer,收益预期 25 到 40ps(洗沿后查表索引改善);复跑后 slack 变为负 0.055——方向正确、量级不足。第二刀按互连证据选层提升:把路径上最长的一段网挪到高层金属,收益 15ps 左右,slack 变为负 0.04。第三刀换低 VT:把路径上漏功耗预算尚有富余的两个单元从 HVT 换成 SVT,合计 30ps,slack 转正 0.01 都不到——太薄,再把路径中驱动最弱的单元升一档尺寸,加 12ps,最终 +0.013ns。全程四次小步迭代、每步有预期收益与实测对照——这就是"量级表 + 决策树"的工作方式:不是一把梭哈,而是有依据的小步快跑,每步顺带核对保持账的余量消耗。
决策树右下角的交叉复核是本节最容易被忽略的一步。每个手段对两本账的影响方向要背下来:VT 加速、尺寸上调、插 buffer 洗沿、层提升——全部利于建立、全部伤保持(它们同时缩短了数据路径的最小延迟);保持延迟单元——直接吃掉等量建立预算。因此修复的顺序纪律是:建立违例修到干净并留出保持修复的预算余量(经验值:预留全部保持修复量加一成),再做保持修复,最后两本账同时复核。顺序颠倒的团队会陷入"修完保持修建立"的无限回环,每次回环都是一轮 ECO 与验证成本。
⚠️ 常见坑:不要用"把保持违例的路径标成多周期"来救保持——除非功能上真有多拍窗口。这是把物理问题化妆成约束问题,硅片不会配合演出。
💡 关键直觉:所有手段的物理作用点只有四个变量——负载、翻转率、驱动强度、线长。看到新手段先问它动了哪个变量、动了多少、另一本账跟着怎么动,三个答案齐了,手段就选对了。
手段不仅能排序,还能组合,也有互斥。可组合的例子:克隆驱动加缓冲树(高扇出网的标准套餐)、层提升加尺寸上调(长线弱驱动的标配)。有张力的组合:重定时与扫描链插入(重定时改变寄存器位置,扫描链要等它稳定后再插,顺序反了返工);VT 替换与漏功耗预算(换得越多,低功耗模式泄漏越大,要跟功耗团队共享账本)。近乎互斥的组合:同一单元先升尺寸再换低 VT 往往过度——两者收益重叠,成本却叠加,挑收益成本比高的那个。组合的原则依然是预算制:每轮修复会前明确这轮动用的手段组合、预期总收益与预算科目,会后核对兑现率——连续几轮兑现率低于五成,说明量级表需要用自家库的数据重新标定。
最后留一个组织层面的观察:修复手段的选择权应该跟着预算走。谁管漏功耗预算,VT 替换就由谁审批;谁管拥塞,buffer 密度就由谁上限。把 6.4 的决策树与这些审批线画在同一张流程图上,收敛工作就从"时序工程师的单机游戏"变成了"有资源约束的团队协作"——多了一层摩擦,少了十倍返工。
到此,问题链第五站完成:从流程前段的时序驱动(6.1),到签核前的 ECO(6.2),到根因定位(6.3),再到手段决策树(6.4)。但"这一版报告干净"还不是终点——每个模式、每个角都干净,才叫收敛。下一站:多模多角的签核。