亚稳态的原理

FPGA亚稳态状态检测边沿
如上图所示,当时钟上升沿来的时候,数据恰好改变,这个时候输出的结果就无法确定是0/1,寄存器会经过一段时间的抖动然后输出一个结果(无法确定是正确还是错误)

亚稳态检测边沿的解决办法

通过三个寄存器,数据的抖动会消失,从而得到稳定的数据输出(数据同样不确定是否正确)

亚稳态检测边沿的原理:

当寄存器抖动之后输出为0时,如下图所示,通过两个寄存器,就可以消除抖动,并且,在几个时间周期之后一定能检测到边沿
FPGA亚稳态状态检测边沿
下图为数据抖动之后输出为1的情况:
FPGA亚稳态状态检测边沿
上面只用到了两个寄存器,如果时钟频率特别快,当下一个时钟沿到来的时候,寄存器0的Q0还在抖动,那么这个抖动就会传到第二个寄存器(通过两个寄存器,抖动基本为0),所以为了确保最后抖动被消除,一般用三个寄存器。

VHDL 代码:
FPGA亚稳态状态检测边沿

相关文章: