前言:本系列将对sunburst design网站的2008最佳文章《Clock Domain Crossing (CDC) Design & Verification Techniques Using SystemVerilog》进行翻译和基于自我理解的分析阐述,本文先介绍亚稳态。
亚稳态
亚稳性是指在设计的正常操作过程中的某个时间段内,在某些时间段内未呈现稳定的0或1状态的信号。 在多时钟设计中,无法避免亚稳性,但是可以抵消亚稳性的不利影响。
在静态时序分析时我们经常提到建立时间和保持时间,本质是寄存器硬件的反应时间,如果时间太短,硬件的上升沿来临时不足以准确判断此时的0\1状态,那么就会采集错误信号,甚至失败。
亚稳态的影响
那么,为什么亚稳是一个问题呢? 图2显示,在接收时钟域中遍历其他逻辑的亚稳输出可能会导致非法信号值在整个设计的其余部分中传播。 由于CDC信号可能会波动一段时间,因此接收时钟域中的输入逻辑可能会将波动信号的逻辑电平识别为不同的值,从而将错误信号传播到接收时钟域中。
所以,建立时间和保持时间的窗口十分重要,该窗口可以保证数据翻转的时间与采样时钟的到来有足够的余量,防止亚稳态的产生。
------------------------------------END------------------------------------