什么是亚稳态?
亚稳态(Metastability)是跨时钟设计中最基础的一个问题(宏观的问题是 异步FIFO ),也是初学者必然遇到并且必须学会的一个问题。
什么是亚稳态?一般的教科书上好像都没有仔细讲。数字中的简单双稳态电路就是两个器首尾相连组成(加一些控制逻辑变成了锁存器,),然而并不像名字显示的,这种电路其实还有第三种半稳定态——就是当两个反相器都处于中间值得情况——称之为亚稳态。我们知道反相器在非逻辑值范围的反馈系数是相当大的,一旦因为干扰或者噪音离开了这个中心点,就会很快地进入逻辑值范围(稳态)。
从数学角度,从亚稳态进入稳态,正如放射元素的衰变,是一个指数的规律(为什么是指数的规律?你要是想不明白,说明你还没有搞明白亚稳态)。
那么,亚稳态的危害到底是什么呢?
(1)亚稳态下电路的等效很小,电能被消耗,这倒也不是大问题,因为出于亚稳态的触发器的数量很少,一般人可以不太关心。
(2)亚稳态的问题在于其并不处于有效逻辑电平范围内,而且在变化。这就导致与其相连其他数字部件将其作出不同的判断(注意,不同),有的作为'1',有的作为'0',有的也进入了亚稳态,数字部件就会逻辑混乱。这是最关键的。
那么究竟如何避免(或者减小)亚稳态的危险呢?
注意到亚稳态的触发器继续停留在亚稳态的几率按照指数减少,那么办法就是“等”,等足够长的时间,直到这个几率变得小的实际上不会发生。到底需要有多长呢?有的厂商有一个数据,有的没有,按照普通的做法,至少等一个时钟。这也就是所谓的异步数据要用两个触发器进行同步。从第二个触发器输出的信号为亚稳态的概率非常非常小,数学上计算是50-100年才会出现一次。因此,双D触发器同步异步信号是最基本的同步方法。
- 上一篇:异步FIFO的设计关键
- 下一篇:什么是可重构计算?