1.什么是建立时间和保持时间
建立时间:建立时间( setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间。
保持时间:保持时间( hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间。
建立时间容限:相当于保护时间,这里要求建立时间容限大于等于0。
保持时间容限:保持时间容限也要求大于等于0。
2.一个计算例题
Example:
题目:时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。
问:触发器D2的建立时间T3和保持时间T4应满足什么 条件数据才能正确输出?
Tcq:触发器输出的响应时间,也就是触发器的输出在clk时钟上升沿到来之后多长的时间内发生变化并且稳定,也可以理解为触发器的输出延时。(触发器从输入到输出的延迟)
Tcomb:触发器的输出经过组合逻辑所需要的时间,也就是题目中的组合逻辑延迟。
Tsetup:建立时间
Thold:保持时间
Tclk:时钟周期
①对于建立时间来说
由上图可知
建立时间容限 = Tclk - Tcq (max) - Tcomp (max) – Tsetup
建立时间容限 >= 0
即 Tclk - Tcq (max) - Tcomp (max) – Tsetup >= 0
可以得到触发器D2的Tsetup <= Tclk - Tcq (max) - Tcomp (max)
由于题目没考虑Tcq,所以Tcq = 0,所以Tsetup <= Tclk - Tcomp (max)
Tsetup <= T – T2max
必须满足:
组合逻辑最大延迟T2max <= T – Tsetup
②对于保持时间来说
由上图可知
保持时间容限 + Thold = Tcq(min) + Tcomb(min)
保持时间容限 = Tcq(min) + Tcomb(min) - Thold
保持时间容限 >= 0
即 Tcq(min) + Tcomb(min) – Thold >=0
可以的得到触发器D2的Thold <= Tcq(min) + Tcomb(min)
由于题目没考虑Tcq,所以Tcq = 0,所以Thold <= Tcomb(min)
Thold <= T2min
必须满足:
组合逻辑最小延迟T2min >= Thold
关于保持时间的理解就是,在触发器D2的输入信号还处在保持时间的时候,如果触发器D1的输出已经通过组合逻辑到达D2的输入端的话,将会破坏D2本来应该保持的数据。
总之Thold <= T(comb) <= T - Tsetup
3.结论:
建立时间:触发器在时钟沿来到前,其数据输入端的数据必须保持不变的时间;决定了触发器之间的组合逻辑的最大延迟(MAX)。
保持时间:触发器在时钟沿来到后,其数据输入端的数据必须保持不变的时间;决定了触发器之间的组合逻辑的最小延迟(MIN)。