微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 使用同步器解决亚稳态的疑问

使用同步器解决亚稳态的疑问

时间:10-02 整理:3721RD 点击:
解决亚稳态常用的方法是在采样reg之后再加一级reg作为同步器
这是因为采样到的无效电平等待足够长的时间后可以回复到一个有效的电平上去,然后同步器可以采到这个有效的电平。
但是回复的这个有效电平可能是0也可能是1,同步器虽然采样到也可能导致逻辑错误,那使用同步器的意义又何在呢?

这里有个前提,即你要同步的信号的脉宽足够长。
比如要采样的信号为wr,是个脉冲信号,脉宽为30ns,同步时钟为200MHz,周期为5ns。
假设第一级FF采样恰好发生在wr的上升沿,发生了亚稳态,到了第二级FF,采样到为0(实际应该采样到1),没关系,这一次错了,但下一次就不会错了,因为wr保持在稳定的1,这样就保证了wr信号不会被漏掉。
如果wr的脉宽为5ns,那么如果按照上述的情况,这个wr就会被漏掉,导致后面逻辑出错。

至少可以保证该信号的输出是一个确定值,否则该信号输出给其他若干个模块,有的检测到0,有的检测到1,问题更大。



  也就是说 这种同步器一般是适合 异步信号的脉宽大于时钟周期的情况,这样亚稳态发生的几率很小,逻辑出错的几率也会比较小。
而对于其他情况就需要考虑其他的方法来避免亚稳态。
   谢谢您的回复~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top