每个单元内部从输入端口到输出端口都定义有时序弧,默认情况下所有的时序弧都应该有效并用于时序分析。但是在设计中由于具体逻辑设计的原因,某些单元内部的时序弧由于没有对应功能逻辑的触发条件而应该是无效的,对于这样的特殊情况可以通过屏蔽时序弧的约束命令来实现,以指导时序分析工具进行正确的时序分析。
比如,选择器单元存在选择输入端到输出端的时序弧,但是设计中不存在通过该单元选择端口到输出端口的时序路径,这样可以通过屏蔽该时序弧,指导时序分析跳过包含该时序弧的时序分析,如下图所示。
屏蔽时序弧设置通过SDC命令set_disable_timing来定义。命令示例如下。
set_disable_timing -from S -to Z [get_cells MUX]
以上命令定义屏蔽选择器单元MUX从S端到Z端的时序弧。
屏蔽时序弧和为路径在某种情况下存在相似的实现结果,但是也存在本质的不同。屏蔽时序弧是针对单元具体端口内部的时序弧并且进行屏蔽,等价于移除掉该单元内部的时序弧,这样可以通过屏蔽该时序弧,指导时序分析跳过包含该时序弧的时序分析,如下图所示。
而伪路径是针对时序路径并移除对应时序路径上的默认时序约束,而所有时序弧是一直有效的,如果与单元同一时序弧相关的时序路径有多条&