Place → CTS → Route 各阶段时序出现 gap(slack 突然变差/变好),核心原因是:每阶段时序模型、时钟状态、RC 精度、物理拥塞、电压降、优化约束都不一样。
一、Place → CTS 时序 gap
1. 时钟从理想 → 真实(最大原因)
Place:理想时钟(Ideal Clock)- 零 latency、零 skew。工具只优化数据路径,不考虑时钟路径。
CTS:真实时钟树(Propagated Clock), 插入大量 clock buffer/inverter ,出现 clock latency、skew、uncertainty、CRPR,直接吃掉 setup slack(尤其 launch/catch 不对称)。place预估的是普通时钟, cts采用的特殊时钟结构(例如h-tree),导致place阶段时钟延迟和skew预估不足。
place阶段关注的是大的setup违例,cts的重点是skew和latency控制。
2. CTS 引入额外延迟与扰动
时钟树本身 latency 变大,工具为平衡 skew,局部加 buffer、拉长线。CTS 优化可能小幅移动单元,改变数据路径delay。
开始修 hold,占用优化资源、加 buffer 影响 setup,hold cell legalize影响数据路径单元的物理位置。
3. 时序模型变严
Place 用虚拟 RC/早期时钟估计,CTS 后:真实 clock RC、更严 OCV、derate。
二、CTS → Route 时序 gap
1. 信号线从虚拟 → 真实 RC(最主要)
CTS:全局/虚拟布线(Global Route/Virtual Route),RC 是估算/统计模型,偏乐观。
Route:详细布线(Detailed Route),真实 RC 提取(R+C):线长、绕弯、层数、via 更准确。
拥塞区被迫绕远、加 filler、加 repeater ,导致delay 上升。
2. 拥塞、DRC、SI 影响
局部拥塞 → 绕线更长、串扰(crosstalk delta delay)。
为满足 DRC/spacing → 线变细、层数受限、电阻变大。
时钟与信号线争抢资源,关键路径被挤到差层 。
3. 时序分析更完整
Route 后,完整 SI 噪声、delta delay,更严 PVT/RC corner 全开,worst-case 更悲观。
三、少数情况:时序反而变好
CTS/Route 工具做了 useful skew 优化(主动偏斜帮 setup) 。
Route 后 CRPR 取消悲观、真实 RC 比估计更优。
局部 buffer 位置重构、单元大小重优化,抵消信号线
四、快速定位方法
1. 对比同一条 path 在三阶段的:clock latency、skew、uncertainty、 net delay(RC)、cell delay、OCV/derate/CRPR 、delta delay(si)变化
2. 看时钟树是否过度平衡、层级太多、latency 太大。关键路径是否长距离、跨模块、跨拥塞区。是否 early clock评估不足导致 Place 优化的盲目。
186