4. 串扰分析所需库与模型

串扰分析不是把两个门的延迟简单相加,而是要在受扰网络(victim)与攻击网络(aggressor)之间,通过驱动能力、耦合电容、接收端输入特性共同求解节点波形。PrimeTime SI 之所以能给出比传统 STA 更接近 SPICE 的结果,核心在于它使用的库模型是否具备三样东西:驱动端的输出电流/电压波形信息、接收端的输入电容随电压变化的特性、以及噪声(glitch)传播所需的直流传输特性。本节围绕 CCS、NLDM、ECSM 三类时序模型,说明它们在 SI 分析中的适用边界,以及噪声模型、接收端模型、驱动模型如何共同决定签核精度。

一、三类时序模型的本质差异

NLDM(Non-Linear Delay Model)是最经典的库模型。它用二维查找表描述延迟和输出转换时间:行是输入转换时间(input slew),列是输出负载电容(load capacitance),表内是延迟值。NLDM 的隐含假设是:驱动单元可以等效为一个电压源加一个固定输出电阻,负载是一个集总电容。这个假设在单网络、无串扰时误差可控,但在 SI 场景下会失效——因为耦合电容上的电流会随受害网络电压变化而改变,等效负载不再是常数。

CCS(Composite Current Source)模型不再用“电阻+电容”近似驱动端,而是直接给出驱动单元在特定输入转换和输出负载下的输出电流波形 I(t),同时给出接收端输入电容随输入电压变化的 C(V) 曲线。有了 I(t),工具就能在受害网络上求解真实的节点电压波形,从而正确计算耦合噪声的峰值和宽度。CCS 还包含接收端的直流传输特性(DC transfer curve),用于判断噪声能否越过接收端阈值继续向下游传播。

ECSM(Effective Current Source Model)与 CCS 思路相近,同样基于电流源描述驱动行为,但数据组织方式不同:ECSM 通常以电压-时间(V(t))波形或电流-电压(I-V)关系的形式存储,强调用“有效电流源”拟合输出波形。ECSM 在先进工艺中同样能支持 SI 分析,其精度与 CCS 处于同一量级,差异更多体现在库厂商的提取流程和工具的支持程度上。

串扰分析中的库模型与精度影响因素 驱动模型(Driver) NLDM:R_drv + 固定 C_load (无 I(t),SI 下误差大) CCS:输出电流波形 I(t) (可求解真实节点波形) ECSM:有效电流源 V(t)/I-V (精度与 CCS 同量级) 接收端模型(Receiver) NLDM:单一输入电容 C_in (忽略 C(V) 非线性) CCS:C(V) 曲线 + DC 传输特性 (噪声传播判断依据) ECSM:V(t) 接收端响应 (支持噪声波形重建) 噪声模型(Noise) 耦合电容 C_c 提取精度 (决定噪声峰值幅度) 噪声窗口 / 时序对齐 (决定最坏叠加时刻) DC 传输特性阈值判断 (决定噪声是否传播) PrimeTime SI 串扰求解引擎 求解 victim 节点波形 → 提取噪声峰值/宽度 → 判断是否传播 → 修正延迟 签核结果:噪声裕量(Noise Margin)与延迟修正量 CCS/ECSM 模型下噪声峰值更真实,NLDM 易低估或高估 精度排序(SI 场景): CCS ≈ ECSM > NLDM 关键原因:CCS/ECSM 提供 I(t) 与 C(V),能正确反映耦合电流随电压变化的非线性;NLDM 的固定 R/C 假设在串扰下不成立。

二、噪声模型:耦合电容与噪声窗口

噪声模型的核心是耦合电容 C_c 和噪声窗口(noise window)。C_c 来自寄生参数提取(如 StarRC),它直接决定攻击网络在受害网络上注入的电荷量。C_c 越大,噪声峰值越高。但仅有 C_c 不够,工具还需要知道攻击网络和受害网络的翻转时间关系:如果两者同时翻转,耦合效应最强;如果错开,噪声会被削弱。PrimeTime SI 通过噪声窗口计算最坏叠加时刻,这个窗口的精度依赖于驱动模型给出的输出波形——NLDM 只能给出一个转换时间数值,而 CCS/ECSM 能给出完整波形,因此窗口对齐更准确。

此外,噪声能否向下游传播,取决于接收端的直流传输特性。CCS 库中的 DC 传输曲线描述了输入电压从 0 到 VDD 变化时,输出电压如何响应。如果噪声峰值超过了接收端的逻辑阈值,且宽度足够,噪声就会传播到下一级,形成级联噪声。NLDM 库通常不包含这条曲线,工具只能用固定阈值近似,容易漏判或误判。

三、接收端模型:C(V) 非线性的影响

先进工艺下,MOS 管栅电容随电压变化非常明显。在输入电压较低时,晶体管处于截止或亚阈值区,输入电容较小;当输入电压接近阈值时,电容迅速增大。如果接收端模型只用单一 C_in,工具会低估或高估受害网络上的实际负载,从而影响噪声峰值和延迟计算。CCS 的 C(V) 曲线让工具在求解过程中根据节点电压动态选择电容值,这是 SI 签核精度的重要来源。

实际项目中,一个常见现象是:用 NLDM 库跑 SI 分析,噪声峰值看起来很小,但用 CCS 库重跑后,某些网络的噪声峰值明显增大,甚至超过阈值。原因往往就是 NLDM 低估了接收端在阈值附近的输入电容,导致耦合噪声被“稀释”。因此,对于串扰敏感的设计,签核库必须包含 CCS 或 ECSM 模型。

四、驱动模型:I(t) 与输出阻抗

驱动模型决定攻击网络能注入多少电流。NLDM 用固定输出电阻 R_drv 近似,但实际驱动单元的 output resistance 随输出电压变化。CCS 的 I(t) 波形是在特定负载下提取的,工具可以通过插值得到不同负载下的驱动行为。对于串扰分析,攻击网络的驱动越强,注入的耦合电流越大,噪声峰值越高。如果驱动模型不准确,噪声幅度就会失真。

在 PrimeTime SI 中,可以通过以下命令检查当前设计使用的库模型类型:

report_lib -si_models
# 输出示例:
# Library: tcbn28hpcp_ccs
#   Delay model: CCS
#   Receiver model: CCS with C(V)
#   Noise model: CCS DC transfer curve
# Library: tcbn28hpcp_nldm
#   Delay model: NLDM
#   Receiver model: NLDM (single C_in)
#   Noise model: Not available

如果报告显示噪声模型为 “Not available”,说明该库无法支持完整的 SI 签核,只能做粗略估计。此时应切换到 CCS 或 ECSM 库重新签核。

五、签核精度的影响链与实操判断

把上述因素串起来,可以得到一条清晰的精度影响链:驱动模型 I(t) → 攻击网络注入电流 → 耦合电容 C_c → 受害网络噪声波形 → 接收端 C(V) 与 DC 传输特性 → 噪声是否传播 → 延迟修正量。任何一个环节使用简化模型,都会在最终签核结果中引入误差。

实际签核时,建议按以下顺序检查:

  1. 确认库类型:用 report_lib -si_models 查看是否包含 CCS/ECSM 的噪声模型和接收端 C(V) 模型。
  2. 检查耦合电容提取:确认 StarRC 等提取工具输出的 C_c 是否包含在 SPEF 中,且与库模型匹配。
  3. 对比 NLDM 与 CCS 结果:对关键网络分别用两种库跑 SI 分析,观察噪声峰值差异。若差异超过 10%,应以 CCS/ECSM 结果为准。
  4. 检查噪声传播:用 report_noise 查看噪声是否越过接收端阈值,并确认 DC 传输曲线已加载。
  5. 确认延迟修正:SI 分析后的延迟修正量应反映噪声对时序的影响,若修正量为零,需检查噪声模型是否生效。
对于 28nm 及以下工艺,建议签核库统一使用 CCS 或 ECSM。NLDM 仅用于早期探索或非关键路径的快速评估,不应作为最终签核依据。
注意:CCS 和 ECSM 库的文件体积通常比 NLDM 大数倍,加载时间和内存占用更高。在大型 SoC 中,可以按模块分别加载对应库,避免一次性加载全部模型导致工具变慢。

总结来说,串扰分析的签核精度不是由单一模型决定的,而是驱动模型、接收端模型、噪声模型三者协同的结果。CCS 和 ECSM 通过提供 I(t)、C(V) 和 DC 传输特性,让 PrimeTime SI 能够求解真实的节点波形,从而给出可信的噪声峰值和延迟修正。理解这些模型的适用性,是正确配置 SI 签核流程、判断结果可信度的基础。