时序签核为什么加 derate?OCV/AOCV/POCV 区别?
更新时间:2026-09-21。问题驱动短答页。已有概念见 OCV/AOCV/POCV 区别、STA 多角多模,工具方法见 MMMC/OCV/寄生,签核见 PrimeTime。
一句话回答
因为同一块硅上不同位置的晶体管和互连线,在工艺离散、局部电压降(IR drop)和温度梯度下,延迟并不完全相同(on-chip variation):发射数据的那条路径和捕获数据的那条路径可能一个偏快、一个偏慢。单一时序库按统一值算会过于乐观,所以签核 STA 用 derate(降额系数)把某些路径延迟乘大于 1(变慢)或小于 1(变快)的系数,人为构造最坏组合:检查 setup 时让发射路径快、捕获路径慢(数据到得早、要求更严),检查 hold 时让发射慢、捕获快。三代方法是:OCV 用一个固定全局系数,简单但对所有路径一刀切、过于悲观,损失可达频率;AOCV(advanced OCV)按路径的逻辑深度/物理距离查不同系数——长路径经过的级数多、变异被统计平均、系数更接近 1,短路径才用大降额,减少过度悲观;POCV(也叫 SOCV/LVF 思路)进一步把每级延迟当成均值+σ 的统计分布,按路径级数做统计卷积自动得到结果,不再依赖保守的二维表,是先进节点的主流签核方法。三者还要配合“共同路径悲观去除”(CPP),避免对时钟树同一段同时按快和慢重复计悲观。
三代对比
| 方法 | derate 依据 | 精度/悲观度 | 适用 |
|---|---|---|---|
| OCV | 固定全局系数 | 最悲观、最保守 | 简单/老节点、快速检查 |
| AOCV | 按逻辑深度/距离查表 | 去悲观、更合理 | 成熟节点常用 |
| POCV/SOCV | 单级统计分布按深度卷积 | 最精细 | 先进节点签核(常配 LVF) |
setup / hold 的降额方向
- Setup:数据路径(发射侧)×early(快,<1),捕获时钟×late(慢,>1),使“数据最早到、捕获最晚”仍能满足。
- Hold:数据路径×late(慢,>1),捕获时钟×early(快,<1),使“数据最晚到、捕获最早”仍不被冲掉。
- 这样一次时序分析用“两面”分别看建立和保持,见 建立/保持、什么是 STA。
CPP:共同路径悲观去除
- 发射和捕获时钟共享的那段时钟树,在 OCV 里被同时假设成又快又慢,逻辑上不可能。
- CPP 识别共同路径、只对分歧后的部分施加不同降额,去掉不合理的重复悲观,见 时钟树/CTS。
实践要点
- derate 与 PVT 角、寄生角共同决定最终裕量,见 PVT/MMMC。
- AOCV 表需要逻辑深度信息,POCV 需要带统计参数的库(LVF 还含电压波动对延迟的影响)。
- IR drop、老化(aging)也可通过额外 derate/库角体现,见 IR drop。
常见坑
- setup/hold 的 early/late 降额方向用反,结论错误。
- 对长路径仍用 OCV 固定大系数,频率被过度压缩。
- 忽略 CPP,对同一时钟段重复计悲观。
- AOCV/POCV 表/库与工艺节点不匹配,签核不被认可。
总结
derate 通过把发射/捕获路径分别按快、慢乘系数,模拟片上工艺、电压、温度局部变异导致的最坏快慢组合:setup 让发快捕慢、hold 让发慢捕快。OCV 用固定全局系数最简单但最悲观,AOCV 按逻辑深度和距离给不同系数、对长路径统计去悲观,POCV/LVF 用每级延迟的均值-σ 分布按级数卷积得到最精细结果,是先进节点主流;三者都要配合共同路径悲观去除 CPP,并与多角多模、寄生和 IR/老化模型一起构成签核时序闭环。