slack 的值通常用来表示设计是否满足时序要求。同样有setup slack 和 hold slack ,如果slack 的值为正,则表明设计可以满足setup / hold time 要求,反之不满足。
Setup slack = Data Required Time(setup) - Data Arrival Time
若setup slack 为正,表示Data Required Time 在Data Arrival Time之后,则一定满足setup time 。反之,则不满足setup time。
Hold slack = Data Arrival Time - Data Required Time (hold)
(这里的Data Arrival Time = latch edge[next launch time] + Tco +Tdata)
若hold slack 为正,表示Data Arrival Time 在Data required Time 之后,则一定满足hold time。反之,则不满足hold time 。
时钟抖动
时钟抖动是时钟沿相对于其理想位置的偏移,时钟抖动对slack 的值有贡献。
如图所示,红色箭头表示抖动时钟沿。 若把时钟抖动归在始终分析之内,那么:
setup Time 还应加上Tsetup’ ; hold time 还应加上 Th’ 。