Metastability,即亚稳态,是指触发器无法在某个规定时间段内(决断时间)达到一个可确认的状态(0 或 1)。
亚稳态的具体表现:当一个触发器进入亚稳态引时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去,最终有可能导致系统的崩溃。
亚稳态的产生原因:触发器的建立时间和保持时间在时钟上升沿左右定义了一个时间窗口,如果触发器数据输入端口上的数据在这个时间窗口内发生变化(或者数据更新),那么就违反了建立时间要求和保持时间要求,从而产生了时序违规。此时触发器内部的一个节点(一个内部节点或者要输出到外部节点)可能会在一个电压范围内浮动(徘徊在一个中间电平状态),无法确定最终是稳定在逻辑 0 或者 1 状态,而在这段时间里数据输出端 Q 为毛刺、振荡、固定的某一电压值,而不是等于数据输入端 D 的值。
亚稳态的随机输出:此时触发器输出端 Q 在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里 Q 端在 0 和 1 之间处于振荡状态,而不是等于数据输入端 D 的值。这段时间称为决断时间。经过决断时间之后 Q 端将稳定为 0 或 1 ,但是具体是 0 或 1 却是随机的,与输入没有必然关联。
亚稳态的解决方法:
![](https://i-blog.csdnimg.cn/blog_migrate/b96d2aac25cc9eea81c52514fe1854a8.png)