屏蔽時序弧

    ​    ​每個單元內部從輸入端口到輸出端口都定義有時序弧,默認情況下所有的時序弧都應該有效並用於時序分析。但是在設計中由於具體邏輯設計的原因,某些單元內部的時序弧由於沒有對應功能邏輯的觸發條件而應該是無效的,對於這樣的特殊情況可以通過屏蔽時序弧的約束命令來實現,以指導時序分析工具進行正確的時序分析。

    ​    ​比如,選擇器單元存在選擇輸入端到輸出端的時序弧,但是設計中不存在通過該單元選擇端口到輸出端口的時序路徑,這樣可以通過屏蔽該時序弧,指導時序分析跳過包含該時序弧的時序分析,如下圖所示。  ​    ​

    ​    ​屏蔽時序弧設置通過SDC命令set_disable_timing來定義。命令示例如下。

    ​    ​set_disable_timing  -from  S  -to  Z  [get_cells  MUX]

    ​    ​以上命令定義屏蔽選擇器單元MUX從S端到Z端的時序弧。

    ​    ​屏蔽時序弧和爲路徑在某種情況下存在相似的實現結果,但是也存在本質的不同。屏蔽時序弧是針對單元具體端口內部的時序弧並且進行屏蔽,等價於移除掉該單元內部的時序弧,這樣可以通過屏蔽該時序弧,指導時序分析跳過包含該時序弧的時序分析,如下圖所示。 ​

    ​    ​而僞路徑是針對時序路徑並移除對應時序路徑上的默認時序約束,而所有時序弧是一直有效的,如果與單元同一時序弧相關的時序路徑有多條,而僞路徑設置只作用於其中部分時序路徑,那麼時序工具默認還是會計算所有時序路徑延時,只是對存在時序約束的時序路徑進行時序性能評估,如下圖所示。  ​

​    ​    ​當僞路徑設置是移除通過某單元具體PIN腳上的所有時序約束時,命令如下所示。

    ​    ​set_false_path  -through  [get_pins  ADDER/CI]

    ​    ​可以用屏蔽時序弧約束替代,命令如下所示。

    ​    ​set_disable__timing  [get_pins  ADDER/CI]

    ​    ​這樣做的好處是可以減少靜態時序分析工具的計算負載,對應的時序弧已經無效,所以不需要在計算該路徑。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章