set_false_path 与 set_disable_timing 的区别

在静态时序分析中, set_false_path 和 set_disable_timing 都可以用来设置 timing exceptions,告诉工具忽略某些特定的path,但是在使用过程中,这两个命令又有些细微的区别。

set_false_path 是用来设置 timing path,表示不用 check 这些 path 的 timing,但是依然会去计算这些 path 上的delay

set_disable_timing 是用来设置 timing arc,表示打断这条时序弧,不去计算这段时序弧的 delay,并且所有经过这段时序弧的 path 都会被打断(要慎用)

举个例子:

上图中,在 function mode 下,是不需要管 Test_Clk 的,此时就可以把 MUX 的 a-y 这条 timing arc 设置成 disable 的:

set_disable_timing  -from U1/a  -to  U1/y

思考:

上图中,是否可以用 set_false_path  -from  Test_clk  -to  Int_Clk 来约束?

答案是:不可以!!,因为 set_false_path 只对数据路径有效,而 [ -from  Test_clk  -to  Int_Clk ] 这段 path 是 clock path,这样设置是无效的

 

补充:

什么是 timing arc?

timing arc 时序弧是 timing path 的基本组成元素,比如cell input to output就是一种典型的timing arc,至于为什么叫时序弧,可能是因为在时序图上经常用一条弧形线段来标示这些元素,比如下图中的这些带箭头的弧形线段都是 timing arc

 

 

 

 

|----------------------------------------|

 

原文地址:https://www.cnblogs.com/xiaoxie2014/p/12538453.html