下文参考xilinx ug903文档。

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

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

 

语法格式:

set_max_delay <delay> [-datapath_only] [-from <node_list>]
[-to <node_list>] [-through <node_list>]
 

set_min_delay <delay> [-from <node_list>]
[-to <node_list>] [-through <node_list>]
 

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

有没有datapath_only的区别如下表:

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

 

给出一个简单示例:

set_max_delay <delay> -datapath_only -from <startpoints_source_clock_domain> \
-to <endpoints_destination_clock_domain>

 

什么情况下使用set_max_delay?

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

 

 

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐