晓灰灰 发表于 2018-3-26 14:55:28

亚稳态中,输出跳转到旧值这样在同步时钟链中会采集到一个旧值,旧值如何处理?

在亚稳态中,如果输出跳转到旧值这样在同步时钟链中会采集到一个旧值,然后才是新值,在系统中这个旧值怎么处理??

晓灰灰 发表于 2018-3-26 14:55:45

如果在异步FIFO中,在同步链中出现亚稳态时的旧地址,这样输出会多一个旧地址

晓灰灰 发表于 2018-3-26 14:56:02

在已经有的文献中,以及当前技术体系中,是这样处理的(发生建立保持违规,但输出稳态是旧值):

1. 下一拍是新值,因此稳态时,新值早晚都是可以被传递过去的。
2. 但是这就有潜伏期了,而且是非固定潜伏期
3. 因此,这又是同步寄存器链不支持连续总线数据的另一个理由
4. 又因此,使用同步器进行同步的信号,应该是握手信号,而不适合是潜伏期响应有特定要求的数据信号。
5. 据此,从高速时钟域传输至低速时钟域的亚稳态信号,低速时钟域响应高速握手信号,可能是会有数个周期的低速时钟潜伏期之差,系统通常是能够容忍的。
6. 从低速时钟域传输至高速时钟域的信号,高速时钟域能够响应低速握手信号,目标端仍然可能有高速时钟潜伏期的一个变化范围,但系统通常也是能够容忍的。
7. 这种新值比较晚被传输的事实(发生建立保持违规,但稳态回到旧值),不被视为亚稳态问题,是由于其可以通过调整有效窗口捕获得以解决(解决有效信号丢失问题)。既然不会发生有效信号丢失,就不认为旧值问题会导致系统失效。

关于异步FIFO,同样可以用上述回答解释,即握手信号的及时响应(低速端响应和高速端响应)
页: [1]
查看完整版本: 亚稳态中,输出跳转到旧值这样在同步时钟链中会采集到一个旧值,旧值如何处理?