2. 时序弧与延迟计算:单元延迟、互连线延迟、时序弧的基本概念

好,咱们今天聊聊STA里最基础、也最绕不开的东西——时序弧和延迟计算。

说实话,我刚入行那会儿,觉得STA就是跑个工具、看个报告。后来被一个项目狠狠教育了一顿,才发现不懂延迟怎么算,你连报告都看不懂。嗯,今天咱们就把这块地基打牢。

2.1 什么是时序弧?

时序弧,英文叫Timing Arc。说白了,它就是描述一个单元内部,从输入到输出的延迟路径。

你想想看,一个反相器,输入A变了,输出Y要过一会儿才变。这个“一会儿”是怎么来的?就是时序弧在管。

我习惯把时序弧分成两类:

  • 组合时序弧:输入到输出的延迟,比如AND门、OR门、MUX
  • 时序时序弧:时钟到输出的延迟,比如DFF的CK到Q

每个标准单元库里,都会给每个pin pair定义好时序弧。比如一个两输入与非门,会有三条弧:A→Z、B→Z,还有一条是状态相关的。

核心要点:时序弧的方向,一定是信号传播的方向。从输入pin到输出pin,不能反过来。

2.2 单元延迟的计算

单元延迟怎么算?工具不是拍脑袋的。它依赖两个东西:

  1. 输入转换时间(Input Slew):信号从低到高或高到低的变化快慢
  2. 输出负载电容(Output Load):这个单元要驱动多少负载

我在项目中遇到过最坑的事,就是有人把负载估小了。结果流片回来,信号爬得跟蜗牛一样,时序全崩。

单元延迟的计算模型,常见的有三种:

模型 特点 精度
线性模型 简单,早期使用 低
非线性模型(NLDM) 查表法,二维表格 中等
电流源模型(CCS/ECSM) 基于电流波形,更精确 高

现在主流工艺,基本都是用CCS(Composite Current Source)模型。它比NLDM更准,尤其在先进工艺下,能捕捉到波形形状对延迟的影响。

我的建议:做7nm以下项目,别用NLDM了。我吃过亏,NLDM在低电压下误差能到20%以上。

2.3 互连线延迟

单元内部的延迟算完了,还有线呢。互连线延迟,就是信号在金属线上跑的时间。

以前老工艺,线延迟占比小,可以忽略。但现在呢?你想想看,一个28nm的芯片,线延迟可能占到总延迟的50%以上。到了5nm,占比更高。

互连线延迟的计算,主要看RC:

  • R:金属线的电阻,跟线长、线宽、厚度有关
  • C:金属线的电容,包括对地电容和耦合电容

常用的计算模型有:

  • Elmore延迟模型:简单,适合手算估算
  • AWE模型:精度更高,工具里常用
  • PRIMA模型:用于高精度分析

我记得有一次做顶层时序收敛,一条关键路径的线延迟占了70%。我反复查,发现是绕线太绕了。后来手动调整了floorplan,才把时序救回来。

避坑指南:我曾经以为线延迟只跟线长有关。后来发现,耦合电容的影响更大。相邻线同时翻转,延迟能差30%。所以做STA时,一定要设好耦合电容的提取参数。

2.4 时序弧的传播与延迟弧类型

时序弧不只是算延迟,它还定义了延迟的传播方式。常见的延迟弧类型有:

  • 上升沿延迟(rise delay):输入上升,输出下降或上升
  • 下降沿延迟(fall delay):输入下降,输出下降或上升
  • 上升沿到上升沿(rise→rise):同相路径
  • 上升沿到下降沿(rise→fall):反相路径

每个时序弧,工具都会分别计算rise和fall的延迟。因为PMOS和NMOS的驱动能力不一样,rise和fall延迟通常也不一样。

我习惯在写SDC约束时,特别关注时钟路径的rise/fall平衡。如果时钟树里rise和fall延迟差太多,hold timing会很难修。

2.5 知识体系结构图

下面这张图,是我自己总结的时序弧与延迟计算的知识框架。你一看就明白了。

时序弧与延迟计算知识体系 时序弧 (Timing Arc) 组合时序弧 时序时序弧 单元延迟计算 互连线延迟计算 NLDM查表模型 CCS电流源模型 Elmore模型 AWE/PRIMA模型 输入Slew 输出负载电容 线电阻R 线电容C 延迟 = f(Slew, Load, R, C) → STA核心

2.6 实际项目中的注意事项

最后,我分享几个实战中的小经验:

  • 别只看典型值:库文件里会给出不同PVT条件下的延迟。我习惯把最差情况(worst case)和最好情况(best case)都跑一遍。
  • 注意时序弧的极性:有些单元有正极性弧和负极性弧。比如一个带使能的触发器,使能到输出的弧可能是非单调的。这种弧在STA里要特别处理。
  • 互连线提取要准:我见过有人用粗略的线负载模型做STA,结果跟后仿对不上。后来改用RC提取,才把问题定位到。

一句话总结:时序弧是STA的骨架,延迟计算是血肉。骨架歪了,血肉再丰满也没用。

好了,这一章的内容就到这儿。记住,理解时序弧和延迟计算,是看懂STA报告的第一步。下一章咱们聊聊更具体的——建立时间和保持时间检查。

可可精品资料库