亚稳态Metastability和“打两拍”
亚稳态是无法避免的!
- Tsu:表示的是在时钟上升沿到来前数据需要保持稳定的最小时长。
- Thd: 表示的是在时钟上升沿到来后数据需要保持稳定的最小时长。
- Tco (clock−to−output):表示的是在时钟到来,这么长时间的延迟之后寄存器输出的数据就可以被读取了(即此时的输出数据是稳定的)

亚稳态的影响:
- 在进入下一个寄存器之前达到1的稳定状态,没有影响,电路正确
- 在进入下一个寄存器之前达到0的稳定状态,失采(miss samples),电路行为出错,但亚稳态不会传播
- 在进入下一个寄存器之前无法判决出稳定状态,造成亚稳态传播
同步寄存器(Synchronizer)和“打两拍”(Two flip-flop synchronizer)
- 打两拍并不能完全消除亚稳态。
- 打两拍并不意味着能正确采样。

MTBF(Mean Time Between Failure)平均失效间隔时间

C1和 C2是常数,依赖于器件工艺和操作环境。
fCLK和 fDATA参数取决于设计规格: fCLK是接收异步信号的时钟域的时钟频率,fDATA是异步数据的反复频率(toggling frequency)。更快的时钟速率和更快的数据反复(faster-toggling data)会降低平均无故障时间。
tMET参数是亚稳态转稳定时间(vailable metastability settling time),或者说时序裕量大于寄存器 Tco 可以让潜在的亚稳态信号达到稳定值的时间。tMET 对同步链来说就是链中每个寄存器输出时序裕量的和。
参考资料
《Metastability in Altera Devices》,Altera AN42,1999
《Understanding Metastability in FPGAs》,Altera
《Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog》,Clifford E. Cummings

浙公网安备 33010602011771号