一、建立时间与保持时间
建立时间(set up time)是指在触发器的时钟信号上升沿到来以前,数据从不稳定到稳定所需要的时间,一般用
T
s
u
T_{su}
Tsu?表示。
保持时间是指在触发器的时钟信号上升沿到来之后,数据保持稳定后的持续时间,一般用
T
h
T_{h}
Th?表示。
如果建立时间或者保持时间不能满足实际需求,数据就无法准确地输入到触发器中,造成亚稳态的问题。
输出响应时间是指触发器的输出在c时钟上升沿到来之后,在多长的时间内发生变化,也即触发器的输出延时,一般用
T
c
o
T_{co}
Tco?表示。
二、亚稳态现象
数字器件的信号传输都会有一定的时序要求,从而保证每个寄存器将捕获的输入信号正确输出。为了确保可靠的操作,输入寄存器的信号必须在寄存器的建立时间之前保持稳定,并且持续到时钟沿之后,也就是寄存器的保持时间之后才能改变,而该寄存器的输入反映到输出则需要经过一定的延时,也就是输出响应时间。如果数据信号的变化违反了建立时间或者保持时间的要求,那么寄存器的输出就会处于亚稳态。此时,寄存器的输出会在高电平1和低电平0之间盘旋一段时间,这也意味着寄存器的输出达到一个稳定的高或者低电平的状态所需要的时间会大于正常情况下的输出响应时间。
在同步系统中,输入信号总是能够达到寄存器的时序要求,所以亚稳态不会发生。亚稳态问题通常发生在一些跨时钟域信号的传输上。由于数据信号可能在任何时间到达异步时钟域的目的寄存器,所以设计者无法保证满足建立时间和保持时间的要求。然而,并非所有违反寄存器的建立时间和保持时间要求的信号都会导致输出亚稳态。某个寄存器进入了亚稳态后重新回到稳定状态的时间取决于器件的制造工艺与工作环境。在大多数情况下,寄存器将会快速地返回稳定状态。
寄存器在时钟沿采样数据信号好比一个球从小山的一侧抛到另一侧。
如下图所示:
小山的两侧代表着数据的稳定状态,包括,旧的数据值或者新的数据值。山顶代表亚稳态。如果球被抛到山顶上,它可能会停在山顶上,但实际上它只要稍微有些动静就会滚落到山底。在一定时间内,球滚得越远,它达到稳定状态的时间也就越短。
总结
当违反了寄存器的建立时间或者保持时间时,通常情况下就会出现亚稳态现象,这时,寄存器数据既有可能是高电平,也有可能是低电平。
|