时序分析之保持时间学习(二)
时序分析是数字电路设计中非常重要的一部分,主要是为了确保电路的时序正确性。时序分析包括建立时间和保持时间两个部分,本文将对保持时间进行详细的分析。
保持时间是指在时钟上升沿到来之后,输入数据需要稳定的时间。该稳定的时间的最小值就为保持时间。为什么会有保持时间,是因为实际的触发器不是理想的触发器,在时钟的上升沿时刻,把输入打入触发器,使输出等于输入。而是要延时一段时间之后,输出才会等于输入,因为触发器也是由基本门电路构成,而门电路本身是有延时的。所以在这一段时间之内,输入数据是不能变的,否则会使输出的值发生错误,产生亚稳态问题。
在时序分析中,保持时间是一个非常重要的参数,因为它决定了电路的稳定性和正确性。如果保持时间不满足要求,那么电路的输出可能会出现错误,导致系统的崩溃。
保持时间的计算公式是:Thold <= Tlogic(shortest) + Tcell,其中Tlogic(shortest)是组合逻辑的最短延时,Tcell是触发器的延时。这个公式表明,保持时间不大于组合逻辑的最短延时和触发器延时的和。
在实际设计中,保持时间是可以通过调整触发器的延时和组合逻辑的延时来实现的。但是,这样做法需要在设计阶段进行详细的时序分析,以确保电路的正确性和稳定性。
此外,时钟延迟也对保持时间有影响。如果时钟延迟存在,那么保持时间将会增加。公式是:Thold <= Tlogic(shortest) + Tcell + Tlatency,其中Tlatency是时钟延迟时间。
在时序分析中,还需要考虑uncertainty的问题,即时钟2相对于时钟1的延时。如果uncertainty是正的,那么保持时间将会增加。如果uncertainty是负的,那么保持时间将会减少。
在设计中,寄存器也可以直接通过输入的,不是通过其他寄存器的输出进入输入的。这时,需要将Tinput_delay替换之前的Tcell,以便计算保持时间。
保持时间是一个非常重要的参数,在时序分析中需要详细的计算和分析,以确保电路的正确性和稳定性。