setup检查是为了检查数据传输不能太慢,否则,在目的寄存器的capture edge不能正确的锁存数据。因此数据传输所用的时间Arrival Time就必须要求在Require Time内传输到目的寄存器,因此slack(松弛时间)=Require time- Arrival time。
那对于四种不同类型的timing path, setup slack的表示方式有所不一样,但本质其实是相同的,我们以最普遍的reg2reg path为例:
在上述图中,
Data Require Time = Clock Arrival Time - Tsetup - uncertainty = Capture Edge +network latency - Tsetup - uncertainty
Data Arrival Time = Launch Edge + source latency + Tck2q+ Tdp
所以setup的slack = Data Require Time - Data Arrival Time = Capture Edge