时序约束·
建立时间 tsetup:在时钟上升沿的 tsetup 时间前数据必须是稳定的;
保持时间 thold:时钟上升沿之后的 thold 时间内数据必须是稳定的;
传播延迟 tpcq:时钟上升沿到输出端信号稳定所需要的时间;
污染延迟 tccq:时钟上升沿到输出端信号开始变化所需要的时间;
建立时间与保持时间·
如左图所示,对 R2 的输入要在 tsetup 之前稳定,因此要满足关系:
tpcq+tpd+tsetup≤Tc
如右图所示,在 R2 接收数据后要保持 thold 时间,这段时间内不能被干扰,因此组合逻辑的输入必须在 thold 之后,因此要满足关系:
tccq+tcd>thold
时钟偏移与抖动·
时钟信号到达各寄存器的时间不同,将 tskew 定义为两个时钟边沿的间隔。
如左图,由于 CLK2 比 CLK1 早了 tskew,因此输入到来要更提前,需满足关系
tpcq+tpd+tsetup≤Tc−tskew
如右图,CLK2 比 CLK1 晚了 tskew,因此前面组合逻辑的输出要再晚一段时间到达 R2,才能保证不干扰 R2 本来的数据,需满足关系
tccq+tcd>thold+tskew
注:相反的时钟信号关系不会影响上述的时序约束。
时钟抖动(Clock Jitter)·
Skew 会改变时钟边沿的顺序,不会改变时钟信号的占空比;时钟抖动会改变时钟信号的占空比。
考虑时钟抖动时,要考虑 “最差的情况”。分析过程与 时钟偏移(Clock Skew) 相似。
参考资料·
Sequential Circuits: Timing
时序分析本文由 Euler0525 创作,采用CC BY-NC-SA 4.0 许可协议。
讨论
评论