两级触发器可防止亚稳态传播的原理:
一位同步器.png
假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的数据满足其建立保持时间。同步器有效的条件:第一级触发器进入亚稳态后的恢复时间 + 第二级触发器的建立时间 < = 时钟周期。
更确切地说,输入脉冲宽度必须大于同步时钟周期与第一级触发器所需的保持时间之和。最保险的脉冲宽度是两倍同步时钟周期。所以,这样的同步电路对于从较慢的时钟域来的异步信号进入较快的时钟域比较有效,对于进入一个较慢的时钟域,可能根本采不到异步信号。
但是一级FF稳定后的out是随机的,到第二级FF后大概率没有亚稳态了,但是得到的数据0/1都有可能,仅适用于对错误不敏感的地方。对于敏感的电路,可以采用双口RAM或FIFO同步。
作者:尽量笑不露齿
链接:https://www.jianshu.com/p/826c83e58b90
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。