定义:亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。
产生的原因:信号跨时钟域传输。
后果:可能会导致毛刺、震荡、或者逻辑错误。
解决方式:单bit信号一般是通过两级寄存器打拍处理,多bit信号有两种方式,如果是图像进行跨时钟域传输,那建议使用异步RAM或者异步FIFO,如果是参数进行跨时钟域传输,那可以增加一个vld信号,在参数更新并稳定后,将vld信号置1,通过检测vld信号上升沿,将接收时钟域中的参数更新。
原理:亚稳态时,D触发器输出端Q在有效时钟沿之后比较长的一段时间内处于不确定的状态,这段时间称为决断时间,经过决断时间之后Q端将稳定到0或1上,但是究竟是0还是1,是随机的。并且,这个决断时间一般能够满足下一级寄存器的建立时间和保持时间要求,因此,一般通过两级寄存器打拍方式就可以避免亚稳态。
这里用一张图帮助大家理解亚稳态原因和解决原理: