4.1 静态时序分析STA


4.1 静态时序分析 STA

本节摘要:STA 不问电路在算什么,只问信号何时到达。它把设计收成有向图,用库表和寄生给每条弧一个延迟区间,再对建立做最慢数据对最快时钟、对保持做最快数据对最慢时钟。动态仿真无法穷举;STA 用包络覆盖。本节把路径类型、角、例外和收敛手段写成可执行清单。

阅读收获

阅读完本节,你应当能够:

  1. 写出建立与保持在“到达/要求”语言下的判断
  2. 区分寄存器间、输入到寄存器、寄存器到输出路径
  3. 配置多角多模式而不把异步口当同步审
  4. 根据违例分类选择改 RTL、改约束还是改物理

一、从动态困惑到静态包络

门级仿真只能告诉你“这次没出错”。向量指数增长,互连占比升高后更慢。原文引用过工业观察:先进节点长距离互连可以占路径延迟的大头。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 为主,仿真为辅。

问题:SSTA 要不要上?

统计 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 便宜。

温故知新

  • 包络不是抽样:建立慢对快,保持快对慢。
  • 保持与周期无关:改晶振救不了保持。
  • 路径要分类:IO、跨域、扫描模式分开审。
  • 例外有主人:假路径不是橡皮擦。
  • MCMM:角与模式构成签核集合。
  • 先分类再修:逻辑、物理、约束三本账。

虚时钟只存在于约束里,用来描述板级或封装对端的边沿,并不在芯片上长出缓冲。生成时钟必须能指回分频寄存器或 PLL 口,不能凭感觉命名。把虚时钟和生成时钟写混,IO 路径会用错误的边沿去减,建立保持同时失真。约束文件开头应先列真实时钟、再列生成、最后列虚时钟,评审按这个顺序抽查。

下一节把能量写成可调度的公民:门控、多电压、电源开关与 UPF。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U