第 15 章 时钟偏斜、抖动与亚稳态
1. 本章要解决的问题
第 14 章把时钟边沿看成准确到达的时间标尺,并用一个确定的偏斜描述两个寄存器看到边沿的先后。真实芯片中的时钟要经过缓冲器和长互连,边沿到达不同寄存器的时间不同;同一个寄存器连续看到的周期也会有轻微变化。
如果数据恰好在采样窗口附近变化,触发器内部还可能短暂停在既不像稳定 0、也不像稳定 1 的模拟状态。这个现象叫亚稳态。
本章回答六个问题:
- 时钟延迟、时钟偏斜和时钟抖动分别描述什么?
- 偏斜和抖动怎样消耗建立与保持裕量?
- 亚稳态在触发器内部为什么会发生?
- 亚稳态是否等于输出必然错误,或者永远不恢复?
- 两级同步器怎样降低亚稳态传播到系统中的概率?
- 为什么单比特电平、多比特数据和窄脉冲不能使用同一种跨时钟方法?
2. 与前一章的联系
第 14 章采用偏斜定义
\[ t_{skew}=t_{capture}-t_{launch}. \]
在暂不考虑抖动时,建立与保持裕量分别为
\[ S_{setup}=T_{clk}+t_{skew}-t_{setup}-t_{cq,max}-t_{comb,max}, \]
\[ S_{hold}=t_{cq,min}+t_{comb,min}-t_{skew}-t_{hold}. \]
本章保留这个正负号约定,并加入一个非负的时钟不确定性预算。偏斜描述不同寄存器之间的空间差异;抖动描述边沿随时间偏离理想位置的变化。
3. 前置知识快速检查
- 本讲义中 \(t_{skew}>0\) 表示捕获时钟早到还是晚到?
- 正偏斜对建立和保持分别有什么影响?
- 建立检查使用数据路径最大延迟还是最小延迟?
- 保持违例能否仅靠降低时钟频率修复?
- 触发器的建立时间与保持时间分别位于有效边沿的哪一侧?
答案是:捕获时钟晚到;帮助建立、损害保持;最大延迟;不能;建立在边沿前,保持在边沿后。若其中三项不能确定,请先回看第 14 章第 7、11、14 节。
4. 学习目标
完成本章后,你应能够:
- 区分时钟延迟、偏斜、抖动和时钟不确定性;
- 按给定时钟到达时间计算偏斜并判断其影响;
- 使用不确定性预算完成基础建立与保持计算;
- 从双稳态反馈解释亚稳态的物理来源和恢复过程;
- 画出并解释两级同步器的工作时序;
- 判断两级同步器适合单比特电平、但不适合直接同步多比特总线和任意窄脉冲;
- 定性说明解析时间、时钟频率和异步翻转频率如何影响同步可靠性。
5. 时钟不是瞬间到达整块芯片
理想逻辑图常画一根 CLK
线连接所有触发器。物理芯片中,时钟由引脚、PLL
或片上振荡源出发,经过时钟门控单元、缓冲器、分支互连和负载,最后到达每个触发器。
时钟延迟(clock latency)是时钟边沿从规定参考点传播到某个时钟端所需的时间。例如从时钟源到发射寄存器需要 120 ps,从同一源到捕获寄存器需要 165 ps。这两个数都是延迟。
时钟偏斜是两个时钟端到达时间之差:
\[ t_{skew}=165-120=45\ \text{ps}. \]
图 15-1 中两条路径共享同一个源,但缓冲级数、线长和负载不同。观察重点是:共同延迟可以很大,而两个端点之间的偏斜仍可能很小;时序检查主要关心相关发射端与捕获端之间的差。
图 15-1 时钟延迟描述源到单个端点的传播时间,偏斜描述两个相关端点的到达时间差
6. 偏斜从哪里来
偏斜的主要来源包括:
- 时钟树两条分支的缓冲器数量、尺寸和负载不同;
- 互连长度、层次、线宽和寄生 RC 不同;
- 局部电源电压与温度不同,使缓冲延迟不同;
- 邻近信号串扰改变某段时钟线的边沿速度;
- 工艺与片上变化使名义相同的单元产生延迟差;
- 时钟门控或分频结构使两条路径拓扑不同。
布局布线阶段会进行时钟树综合(clock tree synthesis, CTS),在大量时钟端之间控制延迟、偏斜、边沿质量和功耗。完全为零的偏斜不是实际目标;工程目标是在规定条件下让相关路径满足建立与保持要求。
例题 1:由到达时间计算偏斜
同一个名义边沿到达发射寄存器的时间为 140 ps,到达捕获寄存器的时间为 105 ps。采用本讲义定义:
\[ t_{skew}=t_{capture}-t_{launch}=105-140=-35\ \text{ps}. \]
捕获时钟早到 35 ps。它会使建立可用时间减少 35 ps,同时使保持要求放宽 35 ps。
变式: 若两端到达时间同时增加 200 ps,分别变成 340 ps 和 305 ps,偏斜仍是 \(-35\) ps。共同延迟改变了,端点差没有改变。
7. 局部偏斜与“有用偏斜”
一个大型时钟域不存在对所有路径都相同的单一偏斜。寄存器 A 到 B、A 到 C、D 到 C 的端点组合不同,每条路径都有自己的局部偏斜。
设计工具有时会有意调整时钟到达时间,把裕量从宽松路径转移到紧张路径,这称为有用偏斜(useful skew)。例如让某条建立关键路径的捕获时钟稍晚到,可以改善它的建立裕量。
偏斜调整必须同时检查相邻路径和保持约束。一个寄存器既可能是某条路径的捕获端,也可能是另一条路径的发射端;在一条路径上有利的变化,可能在另一条路径上不利。
8. 抖动:同一时钟边沿随时间漂移
时钟抖动(clock jitter)是实际时钟边沿相对理想时间位置的短期变化。理想周期为 1000 ps 时,理想边沿可能位于
0, 1000, 2000, 3000, … ps
实际边沿可能位于
20, 970, 2010, 2985, … ps
图 15-2 中虚线是理想边沿,实线是实际边沿。边沿有时提前、有时推迟,因此实际相邻周期也会变化。
图 15-2 抖动使实际边沿围绕理想位置前后移动,相邻实际周期不再完全相等
抖动可能来自 PLL、振荡源噪声、电源噪声、温度变化、串扰和时钟缓冲器本身。不同规范会使用周期抖动、周期间抖动、相位抖动等不同指标。使用数据手册或工具报告时,应先确认指标定义、统计范围和峰值/RMS 表达。
例题 2:从实际边沿计算周期变化
理想周期为 1000 ps,三个实际边沿位于 20 ps、970 ps、2010 ps。
前两个实际边沿之间:
\[ T_1=970-20=950\ \text{ps}. \]
后两个实际边沿之间:
\[ T_2=2010-970=1040\ \text{ps}. \]
虽然名义周期仍为 1000 ps,单个实际周期可能缩短或变长。建立检查最关心可能缩短的发射—捕获间隔。
变式: 若下一边沿位于 2990 ps,则第三个实际周期为 980 ps。
9. 偏斜与抖动的区别
| 项目 | 时钟偏斜 | 时钟抖动 |
|---|---|---|
| 比较对象 | 同一名义边沿在不同端点的到达时间 | 同一时钟端的实际边沿与理想时间位置 |
| 主要维度 | 空间差异 | 时间变化 |
| 常见来源 | 时钟树分支、负载和局部 PVT 差异 | 时钟源噪声、电源噪声、串扰和随机变化 |
| 对时序的作用 | 按端点关系帮助或损害建立/保持 | 使可用采样间隔不确定 |
| 基础模型 | 有符号 \(t_{skew}\) | 非负不确定性预算 \(U\) |
偏斜可以包含确定性部分,也会随 PVT 和片上变化改变。抖动也可能具有周期性或相关性。基础计算把已知端点差放入 \(t_{skew}\),把尚需保守覆盖的边沿变化放入不确定性预算,避免重复计算同一来源。
10. 时钟不确定性怎样进入建立检查
时钟不确定性(clock uncertainty)是时序分析为抖动、未建模偏差和规定裕量预留的时间预算。本章用非负量 \(U_{setup}\) 和 \(U_{hold}\) 表示建立与保持检查各自扣除的预算。
建立检查中,最不利情况是有效的发射—捕获间隔缩短。含偏斜和不确定性的建立裕量写成
\[ S_{setup}=T_{clk}+t_{skew}-U_{setup}-t_{setup}-t_{cq,max}-t_{comb,max}. \]
相应约束为
\[ T_{clk}+t_{skew}-U_{setup}\ge t_{cq,max}+t_{comb,max}+t_{setup}. \]
\(U_{setup}\) 越大,可用传播时间越少。图 15-3 用橙色区表示不确定性从原有正裕量中扣除。
图 15-3 时钟不确定性作为保守预算缩小可用窗口,不能与已经计入的同一抖动来源重复相加
例题 3:含偏斜和不确定性的建立检查
已知
\[ T_{clk}=1000\ \text{ps},\quad t_{skew}=+20\ \text{ps},\quad U_{setup}=60\ \text{ps}, \]
\[ t_{cq,max}=80\ \text{ps},\quad t_{comb,max}=700\ \text{ps},\quad t_{setup}=100\ \text{ps}. \]
建立裕量为
\[ S_{setup}=1000+20-60-80-700-100=80\ \text{ps}. \]
路径通过。若忽略不确定性,会得到 140 ps,错误地多报 60 ps 裕量。
变式: 若 \(U_{setup}\) 增为 150 ps,建立裕量变为 \(-10\) ps。
11. 时钟不确定性怎样进入保持检查
保持检查中,保守预算会延长需要保护的窗口:
\[ S_{hold}=t_{cq,min}+t_{comb,min}-t_{skew}-t_{hold}-U_{hold}. \]
相应约束为
\[ t_{cq,min}+t_{comb,min}\ge t_{skew}+t_{hold}+U_{hold}. \]
这个写法延续第 14 章的偏斜定义。正偏斜与 \(U_{hold}\) 都会减少保持裕量。具体 STA 工具怎样拆分源/网络延迟、抖动与分析裕量取决于约束和报告格式,本章公式用于统一基础时间关系。
例题 4:含偏斜和不确定性的保持检查
已知
\[ t_{cq,min}=30\ \text{ps},\quad t_{comb,min}=40\ \text{ps}, \]
\[ t_{skew}=20\ \text{ps},\quad t_{hold}=35\ \text{ps},\quad U_{hold}=20\ \text{ps}. \]
保持裕量为
\[ S_{hold}=30+40-20-35-20=-5\ \text{ps}. \]
路径发生 5 ps 保持违例。增大时钟周期不会改变这个结果;至少需要把最早数据到达时间增加 5 ps,或改善偏斜/不确定性条件。
变式: 若 \(t_{comb,min}\) 增加到 50 ps,保持裕量变为 5 ps。
12. 从时序违例到亚稳态
建立/保持约束描述触发器能够可靠采样的输入时间条件。当 D 在采样窗口内变化时,内部再生节点可能同时受到“保持旧状态”和“转向新状态”的竞争。
触发器最终依靠交叉耦合反相器或等效正反馈把微小电压差放大为稳定 0 或 1。若初始差异很小,正反馈需要更长时间才能把节点拉向某个稳定状态。在这段时间内,内部节点和 Q 可能停留在中间电压,或输出转换比正常 \(t_{cq}\) 晚得多。这就是亚稳态(metastability)。
图 15-4 左侧用“双稳态势阱”建立直觉:两个低点代表稳定 0 和 1,中央高点代表不稳定平衡。右侧给出时间响应:普通采样很快进入稳定电平;亚稳态事件先停留在中间区域,再以不可预先确定的时刻和方向解析。
图 15-4 采样窗口被破坏时,内部正反馈可能需要更长时间才能从不稳定平衡附近解析到 0 或 1
势阱图是帮助理解反馈系统的示意,不是触发器节点能量的精确工艺模型。真实亚稳态由晶体管跨导、节点电容、噪声、失配和工作条件共同决定。
13. 亚稳态不等于什么
1. 不等于输出永远停在半电平
电路噪声和失配会推动状态离开不稳定点,触发器通常会解析到 0 或 1。关键风险是解析时间没有固定上限可供普通同步设计保证。
2. 不等于一定采到“新值”或“旧值”
最终可能解析为任一稳定状态。逻辑功能无法根据输入边沿的微小相对位置可靠预测结果。
3. 不等于 RTL 仿真中的
X
RTL 的 X
是数字仿真的未知逻辑符号。真实亚稳态是连续电压与时间行为。普通 RTL
仿真通常不能重现晶体管级亚稳态波形。
4. 不等于违反约束后每次都失败
建立或保持违例增加亚稳态发生概率和延长解析时间的风险。某一次硅片事件可能仍得到期望逻辑值,但设计不能依赖这种偶然结果。
14. 哪些信号容易触发亚稳态
只要信号与接收时钟没有固定相位关系,就可能在任意位置靠近采样边沿。常见来源包括:
- 外部按键、传感器中断和芯片引脚;
- 另一个独立时钟域产生的控制信号;
- 不同 PLL、分频器或可变频模块之间的跨域信号;
- 异步复位的解除;
- 模拟比较器、事件检测器或电源管理电路的状态输出。
这类从一个时钟域进入另一个时钟域的传输称为时钟域交叉(clock-domain crossing, CDC)。CDC 设计的第一步是识别异步关系,而不是假定所有数字信号都自动与本地时钟对齐。
15. 两级同步器
对一个能够保持足够长时间的单比特电平,最常用的基础结构是两级触发器同步器(two-flip-flop synchronizer):
async_in → FF1 → sync_ff1 → FF2 → sync_out
同一个目标时钟 CLK_dst
FF1 直接采样异步输入,因此它仍可能进入亚稳态。FF2 不会阻止 FF1
亚稳,而是在下一个目标时钟边沿才采样 FF1,给 FF1 额外的解析时间。只要
FF1 在 FF2 的采样窗口前恢复稳定,亚稳态就不会传播到
sync_out。
图 15-5 先标出异步输入靠近第一个边沿,再观察 FF1 的延迟解析和 FF2 在后一边沿的稳定采样。
图 15-5 FF1 承担亚稳态风险,FF2 延后一拍采样,为 FF1 提供解析时间并输出目标时钟域信号
同步器的工程要点:
- 两级触发器使用同一个目标时钟;
- FF1 与 FF2 之间不加入功能组合逻辑;
- FF1 输出只送给 FF2,不能同时扇出到普通控制逻辑;
- 物理实现尽量让两级靠近,减少中间路径延迟,从而增加解析时间;
- 异步输入必须满足接口协议要求,例如保持到目标域能够观察到它。
例题 5:读两级同步器的时序
一个异步电平在目标时钟第 1 个上升沿前很短时间由 0 变为 1。FF1 在该边沿可能直接采到 1,也可能先亚稳后解析。假设 FF1 在第 2 个上升沿的建立窗口前已经稳定为 1。
- 第 1 个边沿:FF1 承担采样风险;FF2 仍采到此前稳定的 0;
- 第 2 个边沿:FF2 采到稳定的 FF1=1;
- 第 2 个边沿后:
sync_out经过 FF2 的 \(t_{cq}\) 变为 1。
因此目标域只使用 sync_out,不会在第 1 个边沿读取 FF1
的不稳定状态。
变式: 若异步输入在第 1 个边沿之后才变为 1,它通常要等第 2 个边沿进入 FF1,再在第 3 个边沿进入 FF2。
16. 两级同步器降低概率,不提供绝对保证
亚稳态解析时间具有统计性。给 FF1 更多解析时间,会使亚稳状态仍持续到 FF2 采样时刻的概率快速下降,但不会在有限时间内严格变为零。
因此同步器设计的目标是把系统可见故障率降低到应用允许的范围。高可靠系统可能使用更多级、专用同步单元、更低目标频率或更严格的物理实现约束。
17. 选学:MTBF 的定性关系
先修知识: 理解两级同步器。学习收益: 知道哪些设计变量对同步可靠性最敏感。
平均无故障时间(mean time between failures, MTBF)常用类似下面的经验模型表达趋势:
\[ MTBF\approx\frac{e^{T_{res}/\tau}}{C\,f_{clk}f_{data}}. \]
- \(T_{res}\):留给亚稳态解析的有效时间,单位为 s;
- \(\tau\):描述触发器亚稳态解析速度的器件参数,单位为 s;
- \(f_{clk}\):目标时钟采样频率,单位为 Hz;
- \(f_{data}\):异步输入有效翻转频率,单位为 Hz;
- \(C\):由单元、工艺和模型定义决定的表征常数,使量纲与拟合结果成立。
这个式子用于读趋势:
- \(T_{res}\) 增加,MTBF 按指数关系改善;
- 目标时钟越快,采样危险窗口的机会越多,MTBF 降低;
- 异步数据翻转越频繁,靠近采样边沿的机会越多,MTBF 降低;
- \(\tau\) 和 \(C\) 必须来自具体工艺和同步单元表征,不能凭通用教材数值替代。
例题 6:比较解析时间变化的影响
某示意模型中 \(\tau=20\) ps。其他条件不变,若有效解析时间增加 100 ps,MTBF 的倍率为
\[ \frac{MTBF_2}{MTBF_1}=e^{100/20}=e^5\approx148.4. \]
若解析时间不变而 \(f_{clk}\) 加倍,MTBF 约减半;若 \(f_{data}\) 也同时加倍,MTBF 再减半,总体约变为原来的四分之一。
这些数值只演示公式趋势,不代表某个真实标准单元的可靠性。
变式: 有效解析时间只增加 40 ps 时,倍率为 \(e^2\approx7.39\)。
18. 单比特电平、窄脉冲和多比特总线
图 15-6 把三类跨域对象并列。判断方法不是只看“有几根线”,还要看接收端需要保持什么语义。
图 15-6 两级同步器适合保持足够久的单比特电平;窄脉冲和多比特数据需要保持事件或数据一致性的协议
单比特稳定电平
例如模式选择、状态标志或长时间有效的中断请求。只要电平保持到目标时钟能够采到,两级同步器通常适用。
窄脉冲
若源域脉冲比目标时钟周期短,它可能完整落在两个目标边沿之间,FF1 一次也没有采到。可采用脉冲展宽、翻转编码或请求—应答握手,让一次短事件变成目标域可观察的持久状态变化。
多比特总线
把每一位分别接两级同步器不能保证它们在同一目标周期更新。位间路径和亚稳态解析时间不同,接收端可能看到由旧字和新字拼成的错误组合。常用方法包括握手后锁存稳定总线、格雷码计数指针或异步 FIFO。具体协议将在后续系统与 HDL 章节中逐步接触。
19. 异步复位为什么强调同步释放
异步复位可以不等待时钟,快速把触发器置为已知状态。复位解除若靠近某个时钟边沿,可能违反恢复时间或移除时间,使不同触发器在不同周期恢复,甚至触发亚稳态。
“异步复位、同步释放”的复位结构让复位有效动作直接控制触发器,而解除动作通过目标时钟同步后再送到本地逻辑。这样既保留快速进入复位的能力,也让退出复位与本地时钟边沿对齐。
每个时钟域应按自己的时钟完成释放同步。一个域同步后的复位不应直接当成另一个异步时钟域的同步复位。
20. 同步器设计的固定检查顺序
- 确认源信号与目标时钟是否异步;
- 判断信号是单比特电平、事件脉冲还是多比特数据;
- 明确目标域允许的延迟和是否允许漏事件;
- 单比特电平使用目标时钟域同步器,并检查电平保持时间;
- 窄脉冲选择展宽、翻转或握手方案;
- 多比特数据使用能保证整字一致性的协议;
- 检查 FF1 输出没有扇出到普通逻辑;
- 检查同步器级间没有组合逻辑,并为物理实现保留足够解析时间;
- 对异步复位分别检查置位和释放策略;
- 根据系统可靠性目标评估同步级数和 MTBF。
21. 常见误区与反例
误区 1:时钟延迟就是偏斜
延迟是源到某个端点的传播时间;偏斜是两个端点到达时间之差。两端各延迟 1 ns 且完全相同,偏斜仍为 0。
误区 2:抖动只是频率写错了
名义频率可以正确,单个边沿仍会围绕理想位置变化。抖动描述这种短期时间偏差。
误区 3:正偏斜对所有时序检查都有利
按本讲义定义,正偏斜帮助建立,却损害保持。两项必须同时复查。
误区 4:亚稳态是第三种稳定逻辑值
亚稳态是模拟节点暂时靠近不稳定平衡的动态过程,不是可供数字系统编码使用的稳定状态。
误区 5:两级同步器能消除亚稳态
FF1 仍可能亚稳。第二级提供额外解析时间,把亚稳态传播到系统的概率降到更低。
误区 6:同步器第一级输出可以顺便驱动其他逻辑
FF1 是最可能亚稳的节点。它应只驱动下一级同步触发器,否则风险会扩散到多个逻辑分支。
误区 7:每一位各放两级触发器就能同步总线
独立位可能在不同周期被接收,无法保证整字一致。多比特传输需要握手、格雷码或异步 FIFO 等协议。
误区 8:窄脉冲经过两级触发器一定能被看到
窄脉冲可能落在两个目标边沿之间而完全漏采。先把事件转换成持续状态,再跨域同步。
误区
9:普通数字仿真没有出现 X,硅片就不会亚稳
RTL 仿真主要检查逻辑与事件顺序,通常没有晶体管级亚稳态模型。CDC 结构和同步可靠性需要专门检查。
22. 工程中的实际意义
时钟网络是芯片中负载最大、活动最频繁的全局网络之一。它同时影响功能更新时刻、建立/保持裕量和动态功耗。时钟树综合、布线、寄生提取和时序签核会反复调整缓冲器、线长和端点关系。
亚稳态把“同步数字系统”与连续时间器件物理直接连接起来。数字逻辑用 0 和 1 描述状态,但触发器内部仍依靠模拟正反馈完成判决。只要存在异步输入,危险采样时刻就无法完全排除;工程设计通过同步结构、解析时间和协议把系统可见风险降到目标范围。
可靠 CDC 设计还需要结构检查、约束、仿真和形式化 CDC 工具。本章建立的是基础判断能力:先识别异步边界,再按信号语义选择结构,不能把两级同步器当作所有跨域问题的通用答案。
23. 本章知识链
物理时钟树
├─ 源到端点传播 → 时钟延迟
├─ 不同端点差值 → 时钟偏斜 → 改变建立/保持裕量
└─ 边沿随时间漂移 → 时钟抖动 → 时钟不确定性预算
↓
数据靠近采样边沿 → 建立/保持窗口被破坏
↓
触发器内部正反馈判决变慢 → 亚稳态
↓ 增加解析时间
两级同步器 → 降低单比特亚稳态传播概率
├─ 窄脉冲:展宽/翻转/握手
└─ 多比特:握手/格雷码/异步 FIFO
↓
下一章:有限状态机用同步状态控制复杂行为
24. 本章小结
- 时钟延迟是源到端点的传播时间,偏斜是两个相关端点的到达时间差。
- 本讲义定义 \(t_{skew}=t_{capture}-t_{launch}\);正偏斜帮助建立、损害保持。
- 抖动是实际边沿相对理想时间位置的短期变化,会使实际周期和采样间隔变化。
- 时钟不确定性是为抖动和未建模变化保留的非负时序预算。
- 建立裕量扣除 \(U_{setup}\),保持裕量扣除 \(U_{hold}\)。
- 数据在建立/保持窗口附近变化时,触发器内部正反馈可能进入亚稳态。
- 亚稳态通常最终解析为 0 或 1,但解析时刻和结果不能由普通逻辑可靠预测。
- 两级同步器让 FF2 延后一拍采样 FF1,为亚稳态解析提供时间。
- FF1 输出只应送往同步器下一级,级间不加入功能组合逻辑。
- 两级同步器适合保持足够久的单比特电平,不直接解决窄脉冲漏采或多比特一致性。
- 更长解析时间使 MTBF 指数改善;更高时钟频率和异步翻转频率会降低 MTBF。
- 异步复位适合快速进入复位状态,解除动作应与各自目标时钟同步。
25. 练习
基础题
- 用一句话区分时钟延迟与时钟偏斜。
- 用一句话区分时钟偏斜与时钟抖动。
- 本讲义如何定义 \(t_{skew}\)?正值表示什么?
- 什么是时钟不确定性?它为什么取非负预算?
- 什么是亚稳态?它是第三种稳定逻辑值吗?
- 两级同步器中哪一级直接承担异步采样风险?第二级的作用是什么?
- 为什么 FF1 输出不能同时驱动普通逻辑?
分析与计算题
- 同一边沿在发射端 90 ps 到达、捕获端 135 ps 到达。求偏斜并判断对建立、保持的影响。
- 发射端到达时间为 220 ps,捕获端为 180 ps。若两端延迟都增加 50 ps,偏斜是否变化?
- 实际连续边沿位于 10 ps、1015 ps、1990 ps。求两个实际周期。
- 某路径 \(T_{clk}=900\) ps、\(t_{skew}=30\) ps、\(U_{setup}=50\) ps、\(t_{cq,max}=70\) ps、\(t_{comb,max}=680\) ps、\(t_{setup}=90\) ps。求建立裕量。
- 某路径 \(t_{cq,min}=35\) ps、\(t_{comb,min}=45\) ps、\(t_{skew}=15\) ps、\(t_{hold}=40\) ps、\(U_{hold}=20\) ps。求保持裕量。
- 第 12 题若要求至少保留 10 ps 保持裕量,\(t_{comb,min}\) 至少应为多少?
- 一个异步电平在目标时钟第 1
个边沿后刚刚变高。按正常两级同步过程,最早在哪个边沿后出现在
sync_out? - 为什么一个宽度为 2 ns 的源脉冲可能被周期为 10 ns 的目标时钟完全漏掉?
- 示意 MTBF 模型中 \(\tau=25\) ps。解析时间增加 50 ps,MTBF 约提高多少倍?
- 其他条件不变,\(f_{clk}\) 增为 3 倍、\(f_{data}\) 增为 2 倍,MTBF 约变为原来的多少?
- 一个 8 bit 总线每一位都独立接两级同步器。说明目标域可能看到什么类型的错误。
综合题
- 某单比特状态信号跨入另一个时钟域,并且状态至少保持 20 个目标周期。给出合适结构和四项实现检查。
- 某事件脉冲可能短于目标时钟周期,而且每个事件都不能丢失。说明普通两级同步器为什么不足,并给出一种合适方向。
- 一个异步复位需要立即让目标域进入复位,但解除时必须避免各寄存器在不同周期恢复。给出复位策略并说明两个阶段。
- 某设计增加一级同步触发器后,解析时间增加,但控制响应也晚一拍。说明可靠性、延迟、面积和时钟功耗之间的权衡。
26. 练习答案
展开第 15 章练习答案
题 1
时钟延迟是边沿从规定源点传播到一个端点的时间;偏斜是同一名义边沿到达两个相关端点的时间差。
题 2
偏斜比较同一名义边沿在不同空间端点的到达差;抖动描述实际边沿随时间偏离理想位置的变化。
题 3
\[ t_{skew}=t_{capture}-t_{launch}. \]
正值表示捕获边沿比发射边沿晚到。
题 4
时钟不确定性是为抖动、未建模变化和规定裕量保留的时间预算。把它定义为非负量,可以在建立和保持公式中明确作为被扣除的可用裕量。
题 5
亚稳态是双稳态存储元件在采样条件受破坏时,内部节点暂时停留在不稳定平衡附近、解析时间延长的模拟过程。它不是可稳定使用的第三种逻辑值。
题 6
FF1 直接采样异步输入并承担亚稳态风险。FF2 延后一拍采样 FF1,为 FF1 提供解析时间,并向目标域输出较低风险的同步信号。
题 7
FF1 是最可能处于中间电压或延迟转换的节点。让它驱动普通逻辑会把不确定到达和不同门阈值造成的分歧扩散到多个系统状态。
题 8
\[ t_{skew}=135-90=45\ \text{ps}. \]
正偏斜给建立增加 45 ps 可用时间,同时使保持要求增加 45 ps。
题 9
原偏斜为
\[ 180-220=-40\ \text{ps}. \]
两端同时增加 50 ps 后为 \(230-270=-40\) ps,偏斜不变。
题 10
\[ T_1=1015-10=1005\ \text{ps}, \]
\[ T_2=1990-1015=975\ \text{ps}. \]
题 11
\[ S_{setup}=900+30-50-70-680-90=40\ \text{ps}. \]
建立检查通过。
题 12
\[ S_{hold}=35+45-15-40-20=5\ \text{ps}. \]
保持检查通过,但未达到 10 ps 目标裕量。
题 13
要求
\[ 35+t_{comb,min}-15-40-20\ge10. \]
因此
\[ t_{comb,min}\ge50\ \text{ps}. \]
题 14
输入在第 1 个边沿后才变化,最早由 FF1 在第 2 个边沿采到,再由 FF2
在第 3 个边沿采到。因此 sync_out 最早在第 3 个边沿后的
\(t_{cq}\) 变高。
题 15
2 ns 脉冲可能完整位于两个间隔 10 ns 的目标采样边沿之间。没有任何目标边沿落在高电平区间内,FF1 就会一直采到 0。
题 16
\[ \frac{MTBF_2}{MTBF_1}=e^{50/25}=e^2\approx7.39. \]
题 17
MTBF 与 \(f_{clk}f_{data}\) 成反比,因此变为
\[ \frac{1}{3\times2}=\frac{1}{6} \]
左右。
题 18
不同位可能在不同目标周期更新,接收端会看到由旧字和新字混合而成的中间码。即使每一位最终都稳定,整字在过渡期间也不一致。
题 19
使用目标时钟驱动的两级触发器同步器。至少检查:FF1 与 FF2 使用同一目标时钟;级间没有功能组合逻辑;FF1 只驱动 FF2;两级物理位置靠近并保留足够解析时间。状态保持 20 个周期,满足目标域能够观察稳定电平的基本条件。
题 20
普通同步器只在离散目标边沿采样,短脉冲可能被完整漏掉。可在源域把每次事件转换为翻转位,再把翻转位同步到目标域并检测变化;若事件间隔无法保证,还应使用请求—应答握手或异步 FIFO 保存每个事件。
题 21
采用“异步复位、同步释放”。复位有效时直接作用于触发器的异步复位端,使目标域立即进入复位;解除时通过目标时钟域的复位同步结构逐拍传播,让本地逻辑在规定时钟边沿后统一恢复。
题 22
新增一级提供更长解析时间,使系统可见亚稳态故障概率指数下降;代价是控制响应多一拍、增加触发器面积,并让时钟网络持续驱动更多负载而增加动态功耗。同步级数应由可靠性目标和允许延迟共同决定。
27. 自测清单
若第 1~4 项不稳定,请分别画“两个空间端点”和“同一端点的连续边沿”,再标出偏斜与抖动。若第 5~8 项不稳定,请从图 15-5 只追踪 FF1:它仍可能亚稳,FF2 提供的是时间隔离。若第 9~11 项不稳定,请先问目标域需要接收的是电平、事件还是整字数据。
28. 下一章衔接
前五章已经建立时序逻辑的完整基础:锁存器与触发器保存状态,计数器按规则更新状态,时序约束保证寄存器之间可靠传输,同步器处理异步输入。第 16 章《有限状态机》会把“状态、下一状态条件和输出规则”组织成通用控制器设计方法,并完成模块三的主线收束。