静态时序分析——建立时间、保持时间

407 阅读2分钟
  1. 定义

    •   建立时间:
    •   触发器的时钟边沿到来之前,数据输入需要一段时间内稳定不变,触发器才会正确的采样,触发器的输出才会保持正确,即为t_su;
    •   保持时间:
    •   触发器的时钟边沿到来之后,数据输入还是需要一段时内稳定不变,触发器才会正确的采样,触发器的输出才会保持正确,即为t_hold;
  1. 建立时间影响到了什么:

假设周期时间T=1s,从零时刻开始,即从CLK_1 --> CLK_2,D1的数据经历t_cq=0.3s和t_logic=0.6s这段延迟后,终于传输到D2,也就是说,两个上升沿之间,只有在最后0.1s,D2才是期待的输入电平;但D触发器要求边沿到来之前,期待的输入电平必须保持0.2s+,才可以被正确的采样。

结果就是D2的实际电平≠期待电平。

大白话: D2接收的应是上一个边沿时D1的值,前置电路的延迟太高,信号到达D2太晚,FF2来不及准备。

因此:T - t_cq - t_logic ≥ t_su

一般来说,t_cqt_su是器件的特性,一般是固定的,假如组合逻辑电路设计不佳,t_logic比较大;则必须T >= t_cq + t_logic + t_su电路才能正常工作,也就是时钟周期也变长,时钟频率降低,整体性能变差,而且取决于最差的那段电路;

  1. 保持时间影响到了什么:

在CLK_2到来后,FF2处,需要D2的电平(CLK_1时D1的值,也就是上一个周期传递过来的电平)需要保持t_hold=0.3s,信号才会正确地被采样;

但CLK_2时,新的边沿时刻,又有新的电平从D1传递过来,假如从D1到D2的延迟很低,t_cq + t_logic = 0.1 + 0.1 = 0.2s < t_hold,此时D2对上一个周期的电平还没建立完成,新的电平又来了;

结果就是FF2的输入输出又变得混乱。

大白话: D2正在处理来自上一个边沿从D1输入的值,但前置电路的延迟太低,下一个信号来得太快,FF2还没处理完上一个信号。

因此:t_hold ≤ t_cq + t_logic;

一般来说,会影响电路输入输出的不稳定,也就是影响功能;

参考:

www.freesion.com/article/302…

blog.csdn.net/weixin_4220…