计算机体系结构 E02:数字电路的物理约束
计算机体系结构 E02:数字电路的物理约束
核心问题
RTL 功能正确,为什么仍可能无法按目标频率工作?寄存器之间的最长路径必须在下一个采样边沿前稳定,最短路径又不能过早改变接收端输入。setup 和 hold 是两条独立约束。
范围与证据等级
证据等级为手算。模型没有 Liberty 工艺库、综合网表、寄生参数、时钟树、OpenSTA 报告、CDC 工具或 FPGA 板卡。所有纳秒值都是显式题设,不代表任何制程。
简化的单周期检查为:
1 | |
负 slack 表示这组题设违反对应约束。真实 STA 还要处理时钟偏斜、不确定度、多周期路径和物理延迟。
核心案例:放慢时钟不能修复 hold
setup 失败案例的 slack 为 -0.08 ns;把周期从 1.0 ns 增至 1.2 ns 后变为 0.12 ns。hold 失败案例为 -0.03 ns,增加最短组合延迟后才变为 0.03 ns。
增大时钟周期直接增加 setup 可用时间,却没有进入上述 hold 公式。因此“降频能修所有时序违例”在这个最小模型中已经不成立。异步跨时钟域还涉及亚稳态概率和协议,单时钟公式无法证明同步器安全。
模式:最长路径与最短路径分别约束
1 | |
流水线切分、延迟单元插入和跨域同步不能混成一个“时钟问题”。每种修复应对应具体失败的约束。
验收结果
本批脚本退出 0,四个题设分别覆盖 setup 失败/修复与 hold 失败/修复。输出保留 liberty=false、netlist=false、real_sta=false。
模式速查
| 失败 | 题设内有效改动 | 不能据此声称 |
|---|---|---|
| setup slack < 0 | 增大周期或缩短最大路径 | 真实芯片已收敛 |
| hold slack < 0 | 增加最短路径延迟等 | 降频一定有效 |
| CDC 风险 | 同步与跨域协议分析 | 两级触发器绝无亚稳态 |
一手参考资料
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.






