STA 是什么?
更新时间:2026-09-21。问题驱动短答页。入门见 STA 入门,报告阅读见 STA 报告怎么读,进阶见 MMMC 多模多角。
一句话回答
STA(Static Timing Analysis,静态时序分析)是一种「不需要施加任何测试激励」的时序验证方法:它沿时钟和数据在电路拓扑上枚举所有时序路径,把各段延迟(单元延迟 + 布线延迟)累加起来,逐条检查数据能否在触发器的建立/保持窗口内稳定到达,并给出正/负的时序裕量。 因为穷举所有路径而非靠向量「碰巧走到」,覆盖度是完备的,成为签核标准。
它怎么算
对最常见的「寄存器 → 组合逻辑 → 寄存器」路径:
- 建立检查(setup):发射沿发出的数据,必须在捕获沿到来之前
Tsu就稳定。核心不等式约为Tclk ≥ Tco + Tlogic + Trouting + Tsu − Tskew,决定电路最高能跑多快。 - 保持检查(hold):数据在捕获沿之后还必须保持
Th时间不被新数据冲掉,与时钟周期无关,哪怕降频也修不好 hold 违例。 - 工具报告关键指标:WNS(最差建立裕量)、WHS(最差保持裕量),负值即违例。建立/保持直观解释见 建立时间与保持时间。
关键概念
- 关键路径(critical path):裕量最小、决定频率上限的那条路径。
- 时钟偏斜 skew / 抖动 jitter / 不确定度 uncertainty:都吃时序裕量。
- 时序弧(timing arc):单元/端口间的延迟模型,工具据此传播到达时间。
- MMMC(多模多角):在多种工作模式(功能/测试/休眠)×多个工艺角(SS/FF/TT)×电压温度组合下都要满足,见 MMMC 进阶 STA。
- 例外约束:
false_path(不检查)、multicycle(多周期路径)必须谨慎使用,见 多周期与虚假路径。
STA vs 动态仿真
- 动态门级仿真靠测试向量,跑过不代表别的路径没问题(覆盖不全),但能查功能/异步/CDC 等。
- STA 静态、完备、快,但前提是约束(SDC)正确,且它默认电路功能已对、不验证逻辑。两者互补。
常见坑
- SDC 时钟没建对、漏了异步/ generated clock:STA 结果全盘失真。
- 滥用 false_path 掩盖真实违例。
- 只看 setup 忽略 hold:hold 违例芯片必坏且降频无效。
- 只签一个角:高温慢速角抓 setup、低温快速角抓 hold,需多角签核。
总结
STA 是不靠仿真向量、按电路拓扑穷举所有路径并累加延迟来检查建立/保持的静态方法,覆盖完备、是时序签核标准;它用 WNS/WHS 报裕量、由关键路径决定最高频率,hold 违例与频率无关;其有效性完全依赖正确的 SDC 约束与多模多角场景,和动态功能仿真互补而非替代。