微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > 关于亚稳态:多长时间才能recover

关于亚稳态:多长时间才能recover

时间:12-11 整理:3721RD 点击:
当跨时钟域的时候,由于timing的问题,一个寄存器进入了亚稳态,
如果保持输入不变,是不是下一个时钟,这个寄存器会脱离亚稳态?还是可能继续处于亚稳态?
谢谢!

不是的,亚稳态是一个过渡态,一般只存在很短一段时间,但是这个过渡态被下一级采样到就可能出问题。
亚稳态的危害在于,如果一个亚稳态信号驱动多个门,很难确定这些门的输出是什么,它们既可能是0,又可能是1,也可能是亚稳态。如果这个信号驱动两个同样的非门,一个输出0,一个输出1,这很可能造成逻辑错误。这就是亚稳态传播的害处。
用两级register去锁存异步信号并非想消灭亚稳态,而是想让亚稳态不传播到下一级时钟域。

这个可能性太小了吧?
稍微有一点点噪声就会脱离这个状态的

我觉得一个寄存器前端的时序如果不被满足,就会一直处于亚稳态;当前端时序满足了,也会需要几个时钟周期来恢复正常的状态。

你把寄存器看成了一个理想的边沿采样的模型,其实它不过是两个反相器的串连,有两个传输门来做开关(相当于两个正负latch的串连)。所以register的输出也是一个反相器的输出,一个反相器在翻转时会有很短一段时间处于中间态,但它最终要走向稳定态。

对啊,但是这个时间可能很长,和采样点的时序有关的.如果在这个时间没有到的时候,采样点又发生一次亚稳态,你觉得会怎样?

反相器也不要看成是理想的反相器,当反相器的输入没有达到阈值电平,反相器可能遭受一个非常长的传播时间

理想的反相器就没有亚稳态了:)
反相器的输入没有达到阈值电平是因为前一级处于亚稳态,而只要前前一级没有处于亚稳态,它给后一级的drive就会马上变得确定,后一级的亚稳态就不可能维持很久,所以由数学归纳法,最终这个亚稳态链是短暂的。
其实你的问题是以为亚稳态会被后一级锁存,归根结底还是将register看的过于理想化了

smith的那本ASIC design有详细的介绍,当有timing violation时,
寄存器的输出端处于亚稳态的概率随着时间增长而指数下降.
所以当时间过去一个时钟周期时,还处于亚稳态的概率已经很小了

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

网站地图

Top