set_input_delay中-add_delay的作用简析

描述

在设置input_delay时,我们经常会使用下面的方式:

 

set_input_delay -clock clk -min 2 [get_ports data_in]
set_input_delay -clock clk -max 4 [get_ports data_in]

 

但有时也会在后面增加一个-add_delay的参数:

 

set_input_delay -clock clk -max 2.1 [get_ports data_in]
set_input_delay -clock clk -max 1.9 [get_ports data_in] -clock_fall -add_delay
set_input_delay -clock clk -min 0.9 [get_ports data_in]
set_input_delay -clock clk -min 1.1 [get_ports data_in] -clock_fall -add_delay

 

在默认情况下,一个port只需要一个min和max的dealy值,如果我们设置两次,那么第二次设置的值会覆盖第一次的值:下面的第一行就无效了。

 

set_input_delay -clock clk -max 2.1 [get_ports data_in]
set_input_delay -clock clk -max 2.5 [get_ports data_in]

 

但如果是加了-add_delay参数,就可以多个约束同时存在:

 

set_input_delay -clock clk -max 2.1 [get_ports data_in]
set_input_delay -clock clk -max 2.5 [get_ports data_in] -add_delay

 

但其实,第一行也是无效的,因此2.5比2.1要大,如果满足2.5了,那一定满足2.1。

因此,-add_delay参数一般都是用于双沿采样的场景:

 

set_input_delay -clock clk -max 2.1 [get_ports data_in]
set_input_delay -clock clk -max 1.9 [get_ports data_in] -clock_fall -add_delay

 

如果不增加-add_delay参数,那么第二条会覆盖第一条约束,那么上升沿的约束就没有了。

在UG903中,也有下面的描述:

 

Add Delay Input Delay Command Option
The -add_delay option must be used if:
• A max (or min) input delay constraint exists, and
• You want to specify a second max (or min) input delay constraint on the same port.
This option is commonly used to constrain an input port relative to more than one clock 
edge, as, for example, DDR interface

 





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分