launch edge:是源寄存器发送数据的时钟沿,是时序分析的起点。
latch edge:是目的寄存器捕获数据的时钟沿,是时序分析的终点。
Data Arrival Time:从launch edge开始,data实际到达Reg2 D端的时间。
Data Arrival Time = Tclk1 + Tco + Tdata + launch edge
Tclk1:时钟生成器生成的时钟信号到达reg1时钟输入端的时间延迟。
Tco:reg1时钟输入端从接收到时钟信号,到生成有效输出的时间延迟。
Tdata:reg1的输出传输到reg2的输入端的时间延迟。
Clock Arrival Time : 从latch edge开始,时钟实际到达Reg2时钟输入端的时间。
Clock Arrival Time = latch edge + Tclk2
Tclk2:时钟生成器生成的时钟信号到达reg2时钟输入端的时间延迟(clock skew)。
Data Required Time(setup):为能让数据打入寄存器,在此时间点之前数据必须传到目标寄存器的数据输入端。
Data Required Time(setup)= latch edge + Tclk2 – Tsu。
Tsu:reg2的数据输入端的建立时间。
Data Required Time(hold):为能让数据打入寄存器,数据至少要保持到的时间点。
Data Required Time(hold)= latch edge + Tclk2 +Th 。
setup slack(建立时间余量)= min DRT(setup) – max DAT。
1)要符合要求,setup slack需要大于0。
2)令setup slack = 0,可求最小时钟周期,进而得到最大时钟频率。
例:假设图中T =20ns 未知
setup slack = min DRT(setup) – max DAT = (Tmin + 2 + 5 + 2 - 4) – (2 + 11 + 2 + 9 + 2) = Tmin – 21
令setup slack = 0,则Tmin = 21ns,fmax = 1/Tmin = 47.6MHZ。
hold slack(保持时间余量)与setup slack类似
参考文章链接:
launch edge 和 latch edge 延迟以及静态时序分析相关概念