复位与亚稳态
1.PLL电路复位和亚稳态
亚稳态对于一个寄存器的影响相对来说是比较小的,但是对于诸如总线式的寄存器受到亚稳态的影响就比较大了,搞不好是致命的打击。
在带有复位端的DFF中,当reset信号“复位”有效时,它可以直接驱动最后一级的与非门,令Q端“异步”置位为1或0,这就是异步复位。当这个复位信号release时,Q端输出由前一级的内部输出决定。然而,由于复位信号不仅直接作用于最后一级门电路,而且也会作为前级电路的一个输入信号,所以这个前一级的内部输出也受到复位的影响。前一级的内部电路实际上是实现了一个“保持”功能,即在时钟沿跳变附近锁住当时的输入值,使得在时钟变为高电平时不再受输入信号的影响。
对于这一个“维持”电路,在时钟沿变化附近,如果reset信号有效时,那么就会锁住reset的值;如果reset信号“释放”,那么这个维持电路会去锁住当时D输入端的数据。因此,如果reset信号的“释放”发生在靠时钟沿很近的时间点,那么这个维持电路就可能既没有足够的时间维持reset值,也没有足够的时间维持D输入端的数据,从而造成亚稳态,并通过最后一级与非门传到Q端输出。
如果reset信号的“释放”时间能够晚那么一点点,也就是说,让维持电路有足够的时间去锁存住reset的值,那么,我们就可以肯定输出为稳定的reset状态了。这一小段锁住reset值所需要的时间,就是寄存器的removal time要求。
2.常用的内置复位电路
上电之后进行自动复位
或者下面这个电路:
路漫漫其修远兮,吾将上下而求索