时序约束之 set_max_delay / set_min_delay
下文参考xilinx ug903文档。set_max_delay 用于覆盖默认的setup(recovery)约束。set_min_delay 用于覆盖默认的hold(removal)约束。语法格式:set_max_delay <delay> [-datapath_only] [-from <node_list>][-to <node_list>] [-thro
下文参考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约束可以保证两个异步时钟域的路劲延时依然受到约束,而不是高的离谱。
更多推荐
所有评论(0)