为什么异步信号处理,经过两级DFF同步器就能起到消除亚稳态的作用?
时间:10-02
整理:3721RD
点击:

亚稳态都知道,异步时钟信号用两级DFF做同步器也都知道,可以为什么经过两级DFF就可以避免?Rabaey那本书里面有讲过两个反相器串联的VTC,如图所示。
个人感觉,当电平到达C点,即使N个DFF也不会达到1或0;
两级DFF的作用,也仅限于当经过第一级DFF产生亚稳态,即电平在亚稳态点附近位置,可以再通过一级DFF拉到正常电平?不知道这样理解是否正确?
同时,如果同步器的第一级DFF达到了C点的电平,难道电路就挂了?
两级DFF不能避免亚稳态,只能降低概率
因为从亚稳态到稳态有个恢复时间
两级DFF相当于延时,延时后信号就恢复稳态
从C到达稳定点所需的时间,比正常的组合电路延时要长得多,
干净得打2拍,就是为了让亚稳态有足够的时间,或者说更大的概率变成稳态。
所以说,我个人认为亚稳态是概率事件,无可避免,说两级DFF同步能规避亚稳态是不准确的说法,因为他的作用只是把发生的概率降低~
是,好像还有个算法,专门计算发生亚稳态的周期,不记得在哪了.打了2拍后,亚稳态发生周期一般都好几十年才会有
Quartus自带同步链MTBF分析。
就算第二个触发器输出变成稳态了,如果跟输入不一样怎么办,岂不是错误的信号?
那也是小概率。
没事,两个寄存器的目的只是获得稳定的信号,至于合不合刚输入的一样没有关系,那是后面你设计的逻辑的问题,应该这样理解吧。
有没有电子科大的
打两拍一般用于电平信号的处理,比如使能信号之类,比如某一拍从低变成高,发生亚稳态导致两级寄存后输出错误,但在下一拍依然会从低变成高,只不过晚了一拍而已对于频繁变化的信号,就要用别的方法来处理了,比如异步FIFO,双端口Block RAM之类
不知道我的理解对不对,也是菜鸟,求高手指点!
两级DFF同步,是减小了亚稳态出现的概率,但不代表一定不出现
有道理,就算错了,也不过是延时1个同步器的时钟周期。不过,前提是,电平变化后的保持时间不能太短,导师同步器第二次采不到正确的值。这时就需要换用脉冲同步器采样了。
更正:应该是“电平变化后的持续时间”
