在设置input_delay时,我们经常会使用下面的方式:
set_input_delay-clockclk-min2[get_portsdata_in] set_input_delay-clockclk-max4[get_portsdata_in]
但有时也会在后面增加一个-add_delay的参数:
set_input_delay-clockclk-max2.1[get_portsdata_in] set_input_delay-clockclk-max1.9[get_portsdata_in]-clock_fall-add_delay set_input_delay-clockclk-min0.9[get_portsdata_in] set_input_delay-clockclk-min1.1[get_portsdata_in]-clock_fall-add_delay
在默认情况下,一个port只需要一个min和max的dealy值,如果我们设置两次,那么第二次设置的值会覆盖第一次的值:下面的第一行就无效了。
set_input_delay-clockclk-max2.1[get_portsdata_in] set_input_delay-clockclk-max2.5[get_portsdata_in]
但如果是加了-add_delay参数,就可以多个约束同时存在:
set_input_delay-clockclk-max2.1[get_portsdata_in] set_input_delay-clockclk-max2.5[get_portsdata_in]-add_delay
但其实,第一行也是无效的,因此2.5比2.1要大,如果满足2.5了,那一定满足2.1。
因此,-add_delay参数一般都是用于双沿采样的场景:
set_input_delay-clockclk-max2.1[get_portsdata_in] set_input_delay-clockclk-max1.9[get_portsdata_in]-clock_fall-add_delay
如果不增加-add_delay参数,那么第二条会覆盖第一条约束,那么上升沿的约束就没有了。
在UG903中,也有下面的描述:
AddDelayInputDelayCommandOption The-add_delayoptionmustbeusedif: •Amax(ormin)inputdelayconstraintexists,and •Youwanttospecifyasecondmax(ormin)inputdelayconstraintonthesameport. Thisoptioniscommonlyusedtoconstrainaninputportrelativetomorethanoneclock edge,as,forexample,DDRinterface
审核编辑:刘清
-
DDR
+关注
关注
11文章
747浏览量
68527 -
ADD
+关注
关注
1文章
20浏览量
9690
原文标题:set_input_delay中-add_delay的作用
文章出处:【微信号:傅里叶的猫,微信公众号:傅里叶的猫】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
FPGA的IO约束如何使用
Vivado IP核心约束错误的解决办法?
保持输入双倍数据速率的时间错误的解决办法?
IDDR LVDS25时序违规如何改善?
input_delay应该设置为多少?
FPGA设计约束技巧之XDC约束之I/O篇 (上)
set_max_delay被覆盖的解决办法
怎么解决有关于data保存时间的时序错误?
STM32上进行Delay延时的方法
详解FPGA的时序input delay约束
set_output_delay的本质是什么?浅谈set_ouput_delay时序

set_input_delay中-add_delay的作用简析
评论