本节摘要:STA 不问电路在算什么,只问信号何时到达。它把设计收成有向图,用库表和寄生给每条弧一个延迟区间,再对建立做最慢数据对最快时钟、对保持做最快数据对最慢时钟。动态仿真无法穷举;STA 用包络覆盖。本节把路径类型、角、例外和收敛手段写成可执行清单。
阅读完本节,你应当能够:
门级仿真只能告诉你“这次没出错”。向量指数增长,互连占比升高后更慢。原文引用过工业观察:先进节点长距离互连可以占路径延迟的大头。STA 放弃功能,只建时间传播的拓扑。节点是时序元件与引脚,边是弧,弧上带最小最大延迟,延迟来自 Liberty 在指定工艺电压温度下的表,再加上 SPEF。
建立:最晚数据到达,加上建立时间,必须早于最早捕获沿减去偏斜预算后的要求时间。保持:最早数据到达必须晚于最晚捕获沿加上保持时间。max 配 min 不是随意:建立盯慢数据快时钟,保持盯快数据慢时钟。这是包络,不是抽样。
时钟周期只出现在建立里。放慢时钟能救建立,救不了保持。这是面试题,也是实验室里最常见的误操作:硅上偶发错误,有人把晶振改慢,保持型故障纹丝不动。
寄存器到寄存器是主干,决定你敢不敢报频率。输入到寄存器吃板级和封装的 input_delay。寄存器到输出吃 output_delay 和负载。输入到输出是纯组合,毛刺可以直接漏出芯片,要有最大延迟上限。
多时钟域是分水岭。相位无关甚至频率无关的路径,不能按同步建立来审。工业工具会识别交叉点并允许标异步,但同步器内部两级仍要干净。把整条 CDC 标假路径,等于宣布同步器布局可以随便拉。
| 路径 | 约束关键 | 常见假象 |
|---|---|---|
| 寄存器到寄存器 | 周期与偏斜 | 理想时钟下虚报正裕量 |
| 输入到寄存器 | input_delay | 板级延迟低估 |
| 寄存器到输出 | output_delay | 负载电容用错 |
| 跨时钟 | 时钟组与假路径 | 漏标假违例或错标漏风险 |
| 门控使能 | 门控检查 | 使能毛刺变时钟毛刺 |
MCMM:慢角低压高温看建立,快角高压低温看保持,再加老化、IR 降额。模式包括功能、扫描移位、扫描捕获、低功耗休眠唤醒。只签一个功能典型角,等于只在晴天试航。
⚠️ 常见坑:用
set_false_path批量清违例。报告变绿,硅上在某个口偶发错误,回溯发现例外把真路径也豁免了。
💡 关键直觉:STA 是测绘包络。你关掉一条路径,等于从地图上撕掉一条可能决堤的河。

缓冲插入、单元加大、有用偏斜、逻辑拆分、流水,各有副作用。加大单元改善建立,可能让保持更紧、时钟负载更重、IR 更差。有用偏斜救建立,保持角必须重跑。数据通路重定时是综合活;芯片级靠物理优化足够了才去动 RTL。
报告要看路径的起点终点、经过的宏、是不是通过异步口、是不是扫描模式独有。Top 违例若全是同一条未约束的调试总线,先标例外或加寄存器,不要先扩时钟树。OCV 与 AOCV/POCV 用降额或统计给空间变异留预算。先进节点不用 derate 的“精确 STA”反而更假,因为它假装全世界延迟相关。
形式验证不替代 STA。等价只保证功能,不保证时间。门级仿真带反标可以抽查,抽查不是覆盖。签核集合以 STA 为主,仿真为辅。
统计 STA 把延迟当分布,给出违例概率。在变异很大的节点,它能减少过设计。代价是模型与运行时间。没统计模型时,用 AOCV 表是务实折中。不要编造一个“良率数字”去证明 SSTA 神奇。
以规格和封装余量为准,不要传“差一点皮秒没问题”。余量要覆盖提取误差、降额、SI 未建模部分。零裕量等于把误差预算花光。
先看起点终点是否在你以为的时钟沿上。捕获沿若是生成时钟,检查分频关系有没有写进 SDC。再看数据路径是否穿过宏或 IO。穿过宏却按组合读建模,回到第3章包装。再看时钟路径插入延迟是否异常:某叶子远大于均值,CTS 没平衡或经过阻塞。
然后看 SI 标注。无 SI 时勉强正、有 SI 时负,去改并行与屏蔽,而不是先加驱动。再看 derate 是否被重复叠加:库已是慢角,又加很重的 OCV,会过设计。不够 derate 又会在硅上吃亏。和 Foundry 推荐表对齐,不要发明。
同一条路径在扫描捕获模式独有,检查测试时钟周期是否按功能周期在审。测试允许更慢就应有单独时钟定义。把测试当功能审,会逼你为从不在用户模式存在的路径切流水。
报告截图不能当签核。要保留可复现命令、角、模式、寄生版本。第6章的矩阵哈希应出现在报告页眉。换过 SPEF 还贴旧图,会议会做错误决定。
每一条假路径、多周期、max_delay 写成可检索条目:起点、终点、主人、理由、到期日。理由必须能指向 RTL 结构,例如“两级同步器输入”。指向“太难收敛”的例外,评审当场打回。到期日迫使周期变了之后重审,避免上一代芯片的例外在下一代悄悄放行真路径。
生成时钟的分频关系写进约束并画进时钟树图。STA 看不懂口头“它是二分频”。源延迟和板级模型要有一次书面对齐,IO 路径才不是政治。MCMM 列表贴在报告扉页,少一个休眠唤醒模式都要解释。
命令行与寄生哈希进页眉。换 SPEF 后旧截图作废。签核是可复现实验,不是艺术创作。
假路径必须到期重审,避免上一代例外放行下一代真路径。生成时钟分频画进图并写进 SDC。页眉含命令与 SPEF 哈希。扫描捕获用自己的时钟定义,勿用功能周期硬审测试。同一云多次违例回切拍,不要先扩树。
读路径顺序:沿是否正确、是否穿宏、时钟叶子是否异常、SI 标注、derate 是否重复叠加、是否测试独有。例外条目可检索且到期。生成时钟分频进 SDC 与图。页眉含 SPEF 哈希。保持与周期无关写在报告封面以免有人改晶振。MCMM 列表含休眠唤醒。零裕量等于花光误差预算,不签。SSTA 没有模型时用 AOCV,不编造良率数字证明统计神奇。分类三本账:逻辑回 RTL,物理回放置 CTS,约束回 SDC。三本账同时动,归因死亡。
为了赶评审把所有跨模块违例批量标假路径,报告变绿。硅上异步口偶发,同步器两级被一起豁免,布局把它们拉开。撤销内部假路径并 dont_touch 成对寄存器后,内部建立暴露为真违例,拉近放置即收敛。另一条保持负,有人改慢晶振,实验室暂时安静,高温复发。保持与周期无关被写上封面。扫描捕获用功能周期去审,逼出虚假切拍。分开测试时钟后那些路径不再出现在功能清单。页眉没有 SPEF 哈希的绿报,事后发现讨论的是旧提取。
再补一条出门检查:例外到期表;生成时钟分频图;页眉 SPEF 哈希;扫描捕获独立时钟;MCMM 含休眠。五样没有,包络未封口。保持封面标语在。零裕量不签。分类三本账不同时动。SSTA 无模型则 AOCV,不编良率。同一乘法云多次负回切拍。假路径必须指向同步器输入这类结构,不许指向太难。
SPEF 哈希不对作废。角列表不对作废。模式缺扫描捕获作废。例外无主人作废。命令行不可复现作废。五废防止用旧提取讨论新违例。保持负改晶振荡作废手段。零裕量不签。同一云多次负回切拍。假路径必须指向结构。生成时钟无分频图作废。SSTA 无模型不编良率。分类三本账同夜齐动则归因作废。报告是实验记录,不是艺术海报。
STA 肌肉是作废:哈希不对作废,角不对作废,缺捕获模式作废,无主例外作废,命令不可复现作废。作废才能阻止用旧寄生讨论新路径。保持负改晶振荡手段作废。零裕量不签。同一云多次负回切拍。假路径只许指向同步器输入这类结构。生成时钟要有分频图。无模型不编良率。三本账同夜齐动则归因作废。实验记录不是海报,页眉比配色重要。
把五废当作门禁。页眉不对的报告不许进评审。保持禁晶振。零裕量不签。假路径只许结构理由。三本账禁止同夜齐动。STA 是测绘包络的实验记录,配色再好看也代替不了哈希。
时序收口请核页眉:寄生哈希、角、模式、例外主人、可复现命令。五核不过的报告不准贴进评审。封面写明保持与周期无关。同一云反复负,回到拍数而不是扩树。包络测绘靠记录,不靠相信这一次提取应该还对。
五核不过不许评审。评审贴旧哈希,等于讨论另一艘船。另一艘船的绿,救不了本船的保持。
本船的保持要本船的哈希。贴错船的绿报,评审当场撕掉。撕掉比带着错误寄生去 CTS 便宜。
虚时钟只存在于约束里,用来描述板级或封装对端的边沿,并不在芯片上长出缓冲。生成时钟必须能指回分频寄存器或 PLL 口,不能凭感觉命名。把虚时钟和生成时钟写混,IO 路径会用错误的边沿去减,建立保持同时失真。约束文件开头应先列真实时钟、再列生成、最后列虚时钟,评审按这个顺序抽查。
下一节把能量写成可调度的公民:门控、多电压、电源开关与 UPF。