根据实际的设计需求,在某种工作模式下有些信号实际上为恒定的值,比如自测试逻辑中的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.