>I
Gc]~wD$
1.亚稳态与设计可靠性 o{b=9-V
B5V_e!*5F*
设计数字电路时大家都知道同步是非常重要的,特别当要输入一个信号到一个同步电路中,但是该信号由另一个时钟驱动时,这是要在接口处采取一些措施,使输入的异步信号同步化,否则电路将无法正常工作,因为输入端很可能出现亚稳态(Metastability),导致采样错误。 d6{Gt"
下面我们会对亚稳态的原理、起因、危害、解决办法、对可靠性的影响和消除仿真做一些介绍。 tY${M^^<J
|'ln?D:&
5<pftTcZ
2. 什么是亚稳态? Jf)bHjC_V
X[s8X!#
亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。 /M~!sPW&?
qSqI7ptA\
{gA\ph%s
3.亚稳态发生的原因 /v|"0
1be %G [*
在同步系统中,如果触发器的setup time / hold time不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端毛刺、振荡、固定的某一电压值,而不是等于数据输入端D的值。这段之间成为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是究竟是0还是1,这是随机的,与输入没有必然的关系。 u?Tpi[
#
r)9Dy,
Xv <G-N4
4.亚稳态的危害 YIt& >
(6CN/A{qe
由于输出在稳定下来之前可能是毛刺、振荡、固定的某一电压值,因此亚稳态除了导致逻辑误判之外,输出0~1之间的中间电压值还会使下一级产生亚稳态(即导致亚稳态的传播)。 逻辑误判有可能通过电路的特殊设计减轻危害(如异步FIFO中Gray码计数器的作用),而亚稳态的传播则扩大了故障面,难以处理。 Rgo rkZlVM
*%w69#D
1aVa0q<
5.亚稳态的解决办法 o*x*jn:hm
l+V,DCE
只要系统中有异步元件,亚稳态就是无法避免的,因此设计的电路首先要减少亚稳态导致错误的发生,其次要使系统对产生的错误不敏感。前者要同步来实现,而后者根据不同的设计应用有不同的处理办法。用同步来减少亚稳态发生机会的典型电路如图1所示。 CM )Q&