時序約束優先順序 6 xdc約束優先順序

2021-10-14 12:58:21 字數 1599 閱讀 6113

在xdc檔案中,按約束的先後順序依次被執行,因此,針對同乙個時鐘的不同約束,只有最後一條約束生效。

雖然執行順序是從前到後,但優先順序卻不同;就像四則運算一樣,+-x÷都是按照從左到右的順序執行,但x÷的優先順序比+-要高。

時序例外的優先順序從高到低為:

clock groups (set_clock_groups)

false path (set_false_path)

maximum delay path (set_max_delay) and minimum delay path (set_min_delay)

multicycle paths (set_multicycle_path)

set_bus_skew約束並不影響上述優先順序且不與上述約束衝突。原因在於set_bus_skew並不是某條路徑上的約束,而是路徑與路徑之間的約束。

對於同樣的約束,定義的越精細,優先順序越高。各物件的約束優先順序從高到低為:

ports->pins->cells

clocks。

路徑宣告的優先順序從高到低為:

-from -through -to

-from -to

-from -through

-from

-through -to

-to-through

優先考慮物件,再考慮路徑。

example1:

set_max_delay 12 -from [get_clocks clk1] -to [get_clocks clk2]

set_max_delay 15 -from [get_clocks clk1]

該約束中,第一條約束會覆蓋第二條約束。

example2:

set_max_delay 12 -from [get_cells inst0] -to [get_cells inst1]

set_max_delay 15 -from [get_clocks clk1] -through [get_pins hier0/p0] -to

[get_cells inst1]

該約束中,第一條約束會覆蓋第二條約束。

example3:

set_max_delay 4 -through [get_pins inst0/i0]

set_max_delay 5 -through [get_pins inst0/i0] -through [get_pins inst1/i3]

這個約束中,兩條都會存在,這也使得時序收斂的難度更大,因為這兩條語句合併成了:

set_max_delay 4 -through [get_pins inst0/i0] -through [get_pins inst1/i3]
個人主頁:

時序約束優先順序 幾種進行時序約束的方法

對自己的設計的實現方式越了解,對自己的設計的時序要求越了解,對目標器件的資源分布和結構越了解,對eda工具執行約束的效果越了解,那麼對設計的時序約束目標就會越清晰,相應地,設計的時序收斂過程就會更可控。從最近一段時間工作和學習的成果中,我總結了如下幾種進行時序約束的方法。按照從易到難的順序排列如下 ...

UILabel設定約束優先順序

相信很多人在ios開發中,使用多個uilabel會遇到乙個問題,在多個uilabel並列或者垂直排列設定約束都會報錯.既無法確定高度或者寬度.其實這是ios系統沒法判斷哪個控制項的約束優先順序更多而報錯。下面我們就看看 如何設定吧 水平方向別扯我 label setcontenthuggingpri...

xenomai 應用開發 6 優先順序反轉 WT

優先順序反 生在高優先順序任務被迫無限期等待低優先順序任務完成的情況下。例如,假設priohigh priomedium和priolow分別是高優先順序 中等優先順序和低優先順序的任務。priolow通過獲取其關聯的二進位制訊號量來獲取資源。當priohigh搶占priolow並通過獲取相同的訊號量...