本页目录

电路 II · 时序、时钟与静态时序分析

层次:本科核心 + 业界日常 | 这一页是数字后端工程师的主业。 有了逻辑门还不够——必须让它们在时间上协同。本页讲同步设计的基本契约(建立/保持时间)、时钟网络的现实困难,以及决定"这颗芯片能跑多少 GHz"的那个分析:静态时序分析(STA)。这是学校里常被轻描淡写、而在工业界占据大量工时的内容。

一、同步设计的契约

绝大多数数字芯片采用同步设计:所有状态元件(触发器)由同一个时钟边沿更新。这带来一个简单而强大的约定——只要每条组合路径能在一个时钟周期内稳定下来,整个系统的行为就是可预测的

触发器对输入有两个时间要求:

违反任一条,触发器可能进入亚稳态——输出既非 0 也非 1,在一段不确定的时间后随机落定。亚稳态无法被完全消除,只能把失效概率压到可接受(用同步器链,按 MTBF 指标设计)。跨时钟域(CDC)处理是数字设计中最容易出错、也最难调试的部分之一。

二、两个时序约束

设时钟周期 \(T\),组合逻辑延迟 \(t_{logic}\),触发器时钟到输出延迟 \(t_{cq}\)

建立时间(setup)约束——决定最高频率

\[t_{cq} + t_{logic,\max} + t_{su} \le T + t_{skew}\]

保持时间(hold)约束——与频率无关

\[t_{cq} + t_{logic,\min} \ge t_h + t_{skew}\]

建立/保持时序与时序裕量

图 7-1 时序约束示意。数据必须落在时钟边沿前后的禁止窗口之外:太晚到达违反建立时间(限制最高频率,可通过降频修复);太早到达违反保持时间降频无法修复,必须插入延迟单元或改布局)。二者之间的余量称为时序裕量(slack),负裕量即时序违例。

两条约束的性质截然不同,这是本页最要紧的区分

建立时间违例 保持时间违例
成因 路径太 路径太
与频率关系 降频可修复 降频无用
修复手段 优化逻辑、加大驱动、流水线切分 插入缓冲/延迟单元
危险程度 影响性能 芯片直接功能失效

保持时间违例是"硅片报废"级的问题——它不能靠降频规避,流片后发现基本只能重做。因此后端流程会不惜代价插入大量延迟单元来修复保持时间(哪怕付出面积与功耗)。

三、时钟:理想与现实

理想时钟同时到达所有触发器。现实中:

时钟树综合(CTS)是后端流程的关键一步:构造缓冲器树,使偏斜受控、且插入延迟合理。H 树等平衡结构在理论上偏斜最小,实际中则用工具自动构造并结合有用偏斜优化。

低功耗手段时钟门控(在不需要更新的模块上关断时钟)是收益最高的低功耗技术之一,综合工具会自动插入。

四、静态时序分析(STA)

STA 的思想不做仿真,而是穷举所有时序路径,用延迟模型计算每条路径的裕量,检查是否满足约束。

为什么不用仿真:动态仿真只能覆盖你施加的激励,无法保证覆盖最坏情况路径。STA 是穷尽的、与激励无关的——它检查所有路径。代价是必须处理"假路径"(逻辑上永远不会同时激活的路径)与"多周期路径",这需要设计者用约束文件(SDC)告诉工具。

约束文件写错是工业界的经典事故来源:约束太松 → 芯片跑不到目标频率甚至功能失效;约束太紧 → 面积功耗白白浪费、收敛困难。

PVT 角与多角多模式分析:延迟随工艺(Process)偏差、电压(Voltage)、温度(Temperature)变化,必须在多个"角"(如慢角、快角)下同时满足约束。现代芯片还有多种工作模式(高性能/低功耗/测试),于是要做 MMMC(多模式多角)分析——组合数量巨大,时序收敛因而成为后端流程中最耗时的环节

一个反直觉的点最快的工艺角对保持时间最危险(路径太快),最慢的角对建立时间最危险。所以"工艺做得好"不等于"没问题",两头都要管。

五、流水线:用面积换频率

若单周期路径太长,就把它切开,中间插入触发器——流水线(pipelining)

\[T_{\min} \approx \max_i(t_{logic,i}) + t_{cq} + t_{su}\]

切得越细,最长段越短,频率越高。代价

这是又一处与 cs 站的接口:那里讲流水线冒险与分支预测,这里讲它的物理动因与代价。

六、后端流程速览

数字后端(physical design)的主要步骤,第十三页会展开工具视角:

  1. 综合:RTL → 门级网表(映射到标准单元库);
  2. 布局(placement):确定每个单元的位置;
  3. 时钟树综合(CTS)
  4. 布线(routing):连接所有信号;
  5. 时序收敛:反复优化直到所有路径裕量非负;
  6. 物理验证:DRC/LVS;
  7. 签核(signoff):STA、功耗、IR 压降、电迁移、串扰分析。

"时序收敛"是这个流程中最痛苦的部分——它是一个多目标(时序、面积、功耗、可布线性)互相冲突的迭代过程,往往需要数周到数月,且高度依赖工程师经验。这是微电子行业里"经验值钱"的典型环节。

七、要点


下一页:转向模拟电路。数字世界可以靠抽象层层隔离,模拟世界不行——那里每个寄生参数都直接影响性能,而且它享受不到缩放的红利。