Liberty 的 NLDM、CCS、ECSM 时序模型有何区别?
更新时间:2026-09-21。问题驱动短答页。库视图见 Liberty 等库视图、标准单元与 PDK 库视图,寄生/多角见 MMMC/OCV/寄生,签核 STA 见 PrimeTime 签核。
一句话回答
Liberty(.lib)是标准单元库的时序/功耗/功能描述,STA 和综合靠它知道“一个单元在给定输入转换时间 slew 和输出负载 load 下延迟多少、输出边沿多缓、功耗多少”。NLDM(Non-Linear Delay Model)是经典做法:把单元延迟和输出 slew 建成关于“输入 slew × 输出负载”的二维查找表,分析时查两个点线性插值,模型简单、计算快,在较老/成熟节点精度足够;但进入深亚微米后,互连电阻变大使输入波形非单调、Miller 电容和耦合噪声显著,NLDM 的“单一 slew + 线性化”假设偏差增大。CCS(Synopsys Composite Current Source)和 ECSM(Cadence Effective Current Source Model)属于更精确的复合电流源模型:它们不再只给一个延迟值,而是给出驱动器随时间变化的输出电流波形、随电压变化的接收端电容等更丰富信息,接收端据此积分出实际电压波形,从而在高阻互连、串扰噪声、多输入同时切换和先进低电压工艺下给出更准的延迟、slew 和 SI 结果,代价是库文件大、分析计算更重。两者通常和 SPEF 寄生、多角多模一起用于最终签核。
三代模型对比
| 模型 | 表征方式 | 精度 | 成本 | 典型用途 |
|---|---|---|---|---|
| NLDM | slew×load 二维查找表 | 成熟节点够用 | 低、快 | 综合、布局布线、常规 STA |
| CCS | 时间/电压相关电流波形 + 接收电容 | 高 | 库大、算得慢 | 先进节点签核、SI/噪声、功耗 |
| ECSM | 类似的有效电流源波形 | 高 | 库大、算得慢 | Cadence 流程先进节点签核 |
一个单元库里还有什么
- 时序表:cell delay、output transition(relative to input slew / output load),以及 setup/hold 约束表(relative to launch/capture slew)。
- 功耗:内部功耗、翻转功耗、漏电;功耗模型也有先进的电流源/波形版本,见 静态/动态功耗。
- 功能/时序弧(timing arc)、三态、保持/扫描等引脚属性。
- 同一单元在不同 PVT 角有不同 .lib(ss/tt/ff、电压、温度),构成 MMMC 的“时序角”,见 PVT 工艺角、MMMC。
工具怎么用
- 综合/布局布线多用 NLDM 快速迭代;最终 sign-off STA 用 CCS/ECSM + SPEF 精确寄生,见 SPEF/SDF。
- SI 串扰分析依赖电流源波形精确估计受扰延迟和毛刺,见 串扰 SI。
- 库与寄生、RC 角必须配套,否则精度无意义。
常见坑
- 先进节点还用纯 NLDM 做最终签核,高阻网络和噪声下乐观/悲观偏差大。
- 时序库角和设计工作模式不匹配(拿 tt 库签最坏 setup)。
- 混淆 delay 表和 setup/hold 约束表的索引变量。
- CCS/ECSM 库版本与工具版本不匹配导致读库失败或精度打折。
总结
Liberty 用 slew 与 load 索引描述单元延迟和功耗:NLDM 是经典二维查找表加插值、快但把波形简化成单一 slew,在互连电阻和串扰显著的先进节点精度不够;CCS 与 ECSM 改用随时间/电压变化的驱动器电流波形和接收端电容,让工具积分出真实电压波形,在高阻网络、噪声和低压工艺下提供签核级精度,代价是库更大、计算更重。工程上常以 NLDM 做综合和 APR 迭代,用 CCS/ECSM 配合 SPEF 和多角多模做最终 STA/SI 签核。