本文介绍了数字IC设计中不同时序路径的保持时间等式。
保持时间是输入数据在有效时钟边沿后需要稳定的最小持续时间,以便输入数据可以可靠地保存到触发器中。
有3个主要的时序路径需要设置时间约束,如下图所述:register-to-register, input-to-register, 和register-to-output.
register-to-register时序路径的等式
Required Time = Hold Time (of the capturing flip-flop, from the timing .lib)
Arrival Time = CK→Q Delay (of Launching flip-flop) + Comb. Delay
为了满足保持时间限制,需要满足数据需要在保持时间窗口后的到达。
=> CK→Q Delay (of Launching flip-flop) + Comb. Delay ⋝ Hold Time
=>
Hold Time ≤ CK→Q Delay + Comb. Delay
这个保持时间等式意味着CK→Q Delay和Comb.Delay的最小总和必须足够大,以满足保持时间的限制。这解释了为什么修复保持时间违例最常见的方法是插入buffer,这增加了更多的组合逻辑延迟,以满足保持时间等式。
input-to-register和register-to-output的保持时间不再赘述,本质是一样的,只是延迟组成的形式差异。