FPGA的建立时间、保持时间、传播延时、组合逻辑延时都是什么呢?

建立时间(Setup Time)是指触发器的时钟信号上升沿到来之前,数据保持稳定不变的时间。

输入信号应该提前时钟上升沿(如上升沿有效)T时间到达芯片,这个 T就是建立时间。如果不满足建立时间要求,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器,或者说,该数据就会被永久“跳过”而未被“采样”。举个例子:坐火车时需要提前到站检票安检,而不是一到火车站就可以乘坐,必须的提前到站的时间就是建立时间。

如果数据信号在时钟沿触发前的持续时间超过了建立时间 Tsu,那么这个时间间隔就叫做建立时间裕量。

保持时间(Hold Time)是指触发器的时钟信号上升沿到来之后,数据保持稳定不变的时间(数据保持不变以便能够稳定读取,如果保持时间不满足的话,那么数据便不能被有效读取并转换为输出)。

如果数据信号在时钟沿触发后的持续时间超过了保持时间 Th,那么这个时间间隔就叫做保持时间裕量。

总结(Summary):建立时间和保持时间这两个时序参数是测试芯片对输入信号和时钟信号之间的时间要求,也就是它们表征了时钟边沿触发前后数据需要在锁存器的输入持续时间,是芯片本身的特性。其实,这期间其实还涉及到竞争冒险的问题,也就是毛刺,建立保持时间的存在即是触发器内部的特性又在屏蔽毛刺方面起到了一定的作用。

传播延迟(Propagation Delay)是指一个数字信号从器件(一般是 DFF,符号表示为 Tcq)的输入端到输出端所需的时间。一般在 FPGA 中是指时钟上升沿之后延时 Tcq 的时间,数据才到达寄存器 Q 端。

区别于门传播延时:证明其对输入信号变化响应有多快,表示为信号通过该门所经历的时间,定义为输入信号和输出信号波形在 50% 翻转点之间的时间。

组合逻辑延时(Combinational Logic Delay)是指两级寄存器之间的输出端 Q 到输入端 D 之间的组合逻辑延时,符号表示为 Tlogic

总结(Summary):传播延时是同一个寄存器的输入到输出的延时,组合逻辑延时是不同寄存器的输出到输入之间的延时。

案例分析(Case Analysis):

主从式上升沿触发寄存器:

从电路分析可知,在时钟上升沿到来之前数据必须要被送到第一级电路的锁存器里面,即 M 端。

为什么呢?因为如果时钟上升沿到来时,数据没有被送到 M 端,而当时钟上升沿一来,此时 T2 右端与 M 端的信号就会不一致,M 端为旧数据,T2 右端为新数据,那么旧数据可能会将新数据冲刷替代掉(这种情况是不确定的,处于亚稳态)。

FPGA的建立时间、保持时间、传播延时、组合逻辑延时都是什么呢?

对于建立时间Tsu,在 clk 上升沿到来时,数据要被传到 M 端,需经过 I1,T1,I3,I2 。故在时钟上升沿到来前 Tsu = TI1 + TT1 + TI3 + TI2时间数据 D 就必须送到寄存器输入端,这个时间就是三个反相器加一个传输门的延时。

对于保持时间 Th,从电路可以看到,当时钟上升沿一来,T1 就关闭了,就算关闭具有延迟,上升沿一到,数据立即就变化了,还是要经过一个反相器 I1 才能传到 T1,故不担心数据会被送进去,因此保持时间可以为零,Th = 0。当然这是对于这个主从式结构的寄存器而言,其他的寄存器的保持时间不一定为零。

对于传输延时 T从电路分析,当时钟上升沿来了之后,数据还需要经过 T3,I6 才能传到 Q 端,故这个寄存器的传输延时 Tcq= TI6 + TT3。

内容来源于网络,如有侵权,请联系删除。


分享到:


相關文章: