根據實際的設計需求,在某種工作模式下有些信號實際上爲恆定的值,比如自測試邏輯中的TEST引腳在測試模式下應該設置爲1,在常規工作模式下就應該一直保持爲0,如下圖所示。
如果沒有正確的恆定狀態約束,測試邏輯的時序延時是很難滿足常規工作模式下的時序要求的,因此需要通過做相應的恆定狀態約束來指導時序分析工具進行正確的時序分析。
使用SDC命令set_case_analysis來恆定狀態約束,命令示例如下。
set_case_analysis 0 [get_port test_scan_enable]
以上命令定義測試模式端口test_scan_analysis恆定狀態值爲0.
再比如,設計工作在不同的設計頻率下也可以通過恆定狀態約束來實現,如下圖所示。
根據設計的工作模式需要,通過設置恆定狀態約束來定義時鐘選擇端口的對應狀態值,選擇對應的時鐘頻率進行正確的時序分析。示例命令如下。
set_case_analysis 1 CLK_SEL
以上命令定義測試模式端口CLK_SEL的恆定狀態值爲1.