天天看點

SDC設計限制(3)——時序異常限制SDC設計限制(3)——時序異常限制

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]
           

繼續閱讀