不枉初心,砥砺前行

皮皮祥的博客

欢迎留言,评论

导航

图解setup slack 与hold slack

 

 

从上面两个图中可以清晰的看出Setup与Hold Slack的定义与计算方法:

Setup slack=latch edge+Tclk2-Tsu-(launch edge+Tclk1 +Tco+Tdata)

=(latch edge-lanuch edge) +(Tclk2-Tclk1)-(Tsu+Tco+Tdata)

对于工具默认的单周期来说, latch edge-lanuch edge=T,如果不考虑时钟的skew, Tclk2-Tclk1=0,

上式可以表达成:Setup slack=T-(Tsu+Tco+Tdata),这就是为什么说源寄存器与目的寄存器之间延迟不能太长的原因,

延迟越长, slack越小。

Hold slack=data arrival time -data required time

=(launch edge + Tclk1 + Tco + Tdata)-(latch edge +Tclk2-Th)

=(launch edge-latch edge)-(Tclk2-Tclk1) + (Tco + Tdata-Th)

注意,上式中的launch edge为next launch edge,即为latch edge,所以launch edge-latch edge=0,

如果不考虑时钟的skew, Tclk2-Tclk1=0,上式可以表达成:

Hold slack=Tco + Tdata-Th,这就是为什么说源寄存器与目的寄存器之间延迟不能太短的原因,

延迟越短, slack越小。

hold slack计算例子:

 

 

 

 

 

 

 

 

 

posted on 2021-12-03 15:40  皮皮祥  阅读(1868)  评论(0)    收藏  举报