SDC設計限制(3)——時序異常限制
作者:夏風喃喃
參考:綜合與時序分析的設計限制 —— Synopsys設計限制(SDC)實用指南
文章目錄
- SDC設計限制(3)——時序異常限制
-
- 一. 虛假路徑
-
- set_false_path(無需時序限制的路徑)
- 二. 多周期路徑
-
- set_multicycle_path(觸發器間傳播需要多周期的路徑)
- 三. 組合電路路徑
-
- 3.1 set_max_delay(組合路徑最大延遲)
- 3.2 set_min_delay(組合路徑最小延遲)
一. 虛假路徑
不需要滿足任何時序要求的路徑。實作工具在受限制時忽略此種路徑上的時序。
如輸出與輸入無關的組合邏輯或時序邏輯,異步複位信号路徑,輸出為恒定值的時序邏輯時鐘路徑,兩個無法直接通信的從機間的路徑,虛拟時鐘(用于指定輸入輸出延遲)和真實時鐘(觸發捕獲觸發器)間的虛假路徑。
set_false_path(無需時序限制的路徑)
set_false_path
#設定為建立或保持路徑的虛假路徑
[-setup]
[-hold]
#定義虛假路徑的起始,終點與途徑的元器件或時鐘
[-from from_list]
[-to to_list]
[-through through_list] #-through{P1,P2}無順序,分開寫則有途經順序
#定義虛假路徑上的過渡過程提供虛假規格
#如負邊沿異步複位可模組化為set_false_path -fall_from reset_n
[-rise][-fall]
[-rise_from rise_from_list]
[-rise_to rise_to_list]
[-rise_throuhg rise_through_list]
[-fall_from fall_from_list]
[-fall_to fall_to_list]
[-fall_throuhg fall_through_list]
#指令的注釋
[-comment comment_string]
二. 多周期路徑
set_multicycle_path(觸發器間傳播需要多周期的路徑)
set_multicycle_path
#設定為建立或保持分析的多周期路徑
#例如-setup N将建立分析用的捕獲沿向右移動N個周期,
#此時保持分析的捕獲沿在此基礎上需往前推一個周期,即右移了N-1個周期,
#這時-hold N-1将保持分析的捕獲沿左移N-1個周期,實作多周期路徑的建立保持分析
[-setup]
[-hold]
#多周期數的參考,當啟動觸發器與捕獲觸發器時鐘頻率不同時,
#-start參考了啟動觸發器的時鐘,-end參考了捕獲觸發器的時鐘
[-start][-end]
#定義多周期路徑的起始,終點與途徑的元器件或時鐘
[-from from_list]
[-to to_list]
[-through through_list] #-through{P1,P2}無順序,分開寫則有途經順序
#定義多周期路徑上的過渡過程提供規格
[-rise][-fall]
[-rise_from rise_from_list]
[-rise_to rise_to_list]
[-rise_throuhg rise_through_list]
[-fall_from fall_from_list]
[-fall_to fall_to_list]
[-fall_throuhg fall_through_list]
#周期的倍數,用于确定多周期的周期數
path_multiplier
#指令的注釋
[-comment comment_string]
三. 組合電路路徑
組合電路的時序限制中,若是純組合邏輯,沒有任何路徑分支入時序部分,則可以用
set_max_delay/set_min_delay
限制;若組合邏輯的中途有分支進入時序部分,并從時序部分分支出來,建議使用
set_input_delay/set_output_delay
限制。
3.1 set_max_delay(組合路徑最大延遲)
set_max_delay
#定義組合路徑的起始,終點與途徑的元器件或時鐘
[-from from_list]
[-to to_list]
[-through through_list] #-through{P1,P2}無順序,分開寫則有途經順序
#定義組合路徑上的過渡過程提供規格
[-rise][-fall]
[-rise_from rise_from_list]
[-rise_to rise_to_list]
[-rise_throuhg rise_through_list]
[-fall_from fall_from_list]
[-fall_to fall_to_list]
[-fall_throuhg fall_through_list]
#延遲的值
delay_value
#指令的注釋
[-comment comment_string]
3.2 set_min_delay(組合路徑最小延遲)
set_min_delay
#定義組合路徑的起始,終點與途徑的元器件或時鐘
[-from from_list]
[-to to_list]
[-through through_list] #-through{P1,P2}無順序,分開寫則有途經順序
#定義組合路徑上的過渡過程提供規格
[-rise][-fall]
[-rise_from rise_from_list]
[-rise_to rise_to_list]
[-rise_throuhg rise_through_list]
[-fall_from fall_from_list]
[-fall_to fall_to_list]
[-fall_throuhg fall_through_list]
#延遲的值
delay_value
#指令的注釋
[-comment comment_string]