33 / 37 · 概念
Setup、hold 与时序预算
区分最大与最小路径延迟,计算独立于时钟频率的 hold 条件。
课时内容可免费阅读,选课后可保存学习进度。
功能正确,还必须按时到达
同步路径由发送触发器触发器 在指定时钟边沿存储输入,并保持到下一边沿的元件。输入必须满足 setup、hold 条件。了解更多 → 组合电路 → 接收触发器组成。在两个时钟偏斜均视为 0 的简化模型中,setupsetup 捕获时钟边沿之前,输入数据必须保持稳定的最短时间。违反建立时间就无法保证存储结果。 条件如下。uncertainty 用于保守计入抖动及设计裕量等因素。
表示 clock-to-Q, 表示组合最大延迟。扣除寄存器寄存器 存储多位状态的电路。本课程中的同步寄存器在时钟边沿存储指定输入。了解更多产生结果的时间和接收端 setup 时间后,剩余区间才可供组合电路使用。
用数值例子计算路径限制
若 clock-to-Q 为 0.12ns、组合延迟为 1.80ns、setup 为 0.15ns、uncertainty 为 0.08ns,最小时钟周期就是 2.15ns。
500MHz 对应 2ns,因此 setup 裕量为 -0.15ns。此计算只针对给定路径及假设;要保证实际工作频率,必须检查所有相关路径、工艺角和约束。
沿着串联相加的延迟项检查,下方数值之和为 2.15ns。箭头表示时序预算的相加顺序,并不表示器件大小或延迟比例。
- 发送 FF: clock-to-Q: 0.12ns
- 组合路径: 最大延迟:1.80ns
- 接收条件: setup: 0.15ns
- 设计裕量: uncertainty: 0.08ns
hold 关注最快路径
若同一边沿发送端的数据变化过快,就会侵入接收触发器稳定捕获旧值所需的时间。令 skew=0、忽略额外裕量,简化的 hold 条件保持时间 捕获时钟边沿之后,输入数据仍必须保持稳定的最短时间。需结合上下文,将此时序要求与普通的数值保持行为区分。如下。
最小 clock-to-Q 为 0.05ns、最小组合延迟为 0.03ns、hold 为 0.10ns 时,还差 0.02ns。延长周期无法解决这种同一边沿的条件,必须采用增加数据延迟或调整时钟路径等实现措施。
捕获时钟晚于发射时钟到达的正偏斜,通常有利于单周期 setup,却可能不利于 hold。与其记忆符号,不如在时间轴上画出数据到达与捕获边沿。不能在缺乏实际功能依据时,把多周期或 false path 例外当作消除时序警告的办法。
自己试试
某路径周期为 4ns,ns、ns、uncertainty=0.1ns,允许的最大组合延迟是多少?把周期改为 8ns 能解决 hold 违规吗?
阅读解释
允许的最大延迟为 ns。普通的同边沿 hold 条件不能靠延长时钟周期解决,必须单独分析最小数据路径与时钟到达时间。