时序约束之 set_max_delay / set_min_delay

下文参考xilinx ug903文档。

set_max_delay 用于覆盖默认的setup(recovery)约束。

set_min_delay 用于覆盖默认的hold(removal)约束。

 

语法格式:

set_max_delay [-datapath_only] [-from ]
[-to ] [-through ]
 

set_min_delay [-from ]
[-to ] [-through ]
 

-datapath_only 只能用于set_max_delay,而且必须有-from。

有没有datapath_only的区别如下表:

时序约束之 set_max_delay / set_min_delay_第1张图片

对表格进行一个简单的总结:-datapath_only选项的使用将不考虑clock skew的影响,且不考虑hold约束,-from选项是必须的。

 

给出一个简单示例:

set_max_delay -datapath_only -from \
-to

 

什么情况下使用set_max_delay?

一般在约束异步信号时可以使用。跨时钟域的异步信号一般可以使用set_clock_groups或者set_false_path,但这两种约束方式将会导致跨时钟域的信号完全没有受到约束。使用set_max_delay约束可以保证两个异步时钟域的路劲延时依然受到约束,而不是高的离谱。

 

 

你可能感兴趣的:(时序约束之 set_max_delay / set_min_delay)