set_clock_transition和set_input_transition的主要差別是:
1.set_clock_transition所指定的transition value會apply到整個clock network上,而不是在不同的點重新去計算.
2.set_input_transition隻會作用于指定的port,對于這個port的logic cone上的其他點,transition value會根據前一級進行計算。
以下圖為例,如果是使用set_clock_transition在clk port指定transition time,那麼所有的clk network point都會使用同樣的transition time(包括flop的CLK pin),如n1/n2/n2/n4/n5/n6…
如果使用set_input_transition在clk port指定transition time,那麼在每個clk network point都會重新計算transition time,包括flop的CLK pin。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLzcGRNd3ZE5kMNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLhdDNhVzMzEmYjJzMjVTNiFDMzQTYmBzMhFGOkhDOiBzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
一個建議是:
在CTS前
,因為clk的負載很多,去計算transition time的話會非常差,而且沒有實際的clk tree結構,這樣的計算并沒有意義,是以使用
set_clock_transition
;
在CTS後
,有了實際的clk tree結構,使用
set_input_transition
,在每個clk network point計算實際的transition time。
文章首發于個人微信公衆号:IC小白
歡迎關注~