如上图所示,是比较典型的STA分析路径。今天面试的时候,被问到对于这样的一条path,是否存在setup&hold 同时violation的情况。
当时考虑了下,没有想出来。回来回忆,面试官提示要考虑derate的情况,考虑derate的话:
对于setup 而言 max launch delay + max data path delay <= min capture delay -setup + T ①
对于hold 而言 min launch time + min data path delay >= max capture delay +hold ②
对于上面的两个公式,我想是不是存在一种这样的情况,就是我的clock tree buffer的级数比较的多,但是组合逻辑路径又比较的小,导致这个时候clock path的延时占据了主要的位置,也就是launch delay和capture delay占据的份额大
可以举个例子,考虑到derate的影响,导致 max launch delay=3ns min launch time=2ns
max capture delay=3ns max capture delay=2ns
然后有 T=1ns setup=0.04 hold=0.03 max data path delay=0.8 min data path delay=0.6
对于①式 有 3+0.8<=2-0.04+1 出现了setup vio
对于②式 有 2+0.6 >= 3+0.03 出现了hold vio
----------------------------------------