| |
我的理解:flow 会把clk gating 看做sink点 去balence ,所以clk gating 后面的那段越长 hold vio 就越大了。
大佬的原话:
通常這個hold time violation會發生在gating cell的地方
clock gating一般為了預防glitch的發生會用一級DFF用負緣去latch住enable訊號,在用這個DFF的輸出
去和Clock作AND。
而這個AND就會是gating cell。
因此你可以看到,在你的timing report中上面的clock是用rising edge來看
而下面經過的AND2D1是用falling edge來看,因此hold time一定是不過的。
但是通常enable訊號的行為,會是一直拉住的所以你的hold time絕對會是沒問題的。
在prime time裡面我會對你的gating cell下 set_disable_clock_gating_check [get_cell ***]
來處理這條路徑