for
for setup time:(门级电路最大延迟)
tlauch + tcq + tdp < tcapture + tclk - tsetup
clock_skew = Tcapture - Tlauch
tcq + tdp < t_skew + tclk - tsetup
setup violation repaired method:
1 tclk: 降频率
2 tdp: 减少组合逻辑
3 clock_skew: 增大skew
for hold time: (门级电路最小延迟)
tlauch + tcq + tdp > tcapture + thold
tcq + tdp > t_skew + thold
hold time repaired method:
① T_dp:增加组合路径延时,通过插buffer、插delay cell、更换驱动、更换阈值的方法(组合逻辑深度的增加会增加芯片的面积、布线资源、功耗,可能产生在慢速工艺库条件下建立时间违例)
② T_skew:减小skew,甚至采用negative skew,但需做好时钟树的balance。
③ 插入低电平有效的锁存器(Lock-up Latch):高电平期间,锁存器输出保持不变,相当于人为将数据推迟了半个时钟周期,以保证满足hold时间要求。