0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

set_input_delay中-add_delay的作用简析

傅里叶的猫 来源:傅里叶的猫 2023-04-13 09:07 次阅读

在设置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
    DDR
    +关注

    关注

    11

    文章

    712

    浏览量

    65396
  • ADD
    ADD
    +关注

    关注

    1

    文章

    20

    浏览量

    9438

原文标题:set_input_delay中-add_delay的作用

文章出处:【微信号:傅里叶的猫,微信公众号:傅里叶的猫】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA的IO约束如何使用

      set_input_delay属于时序约束的IO约束,我之前的时序约束教程,有一篇关于set_input_delay的文章,但里面写的并不是很详细,今天我们就来详细分析一下,这
    发表于 09-06 09:22 1991次阅读

    Vivado IP核心约束错误的解决办法?

    [get_clocks FT_CLK] -min -add_delay 1.000 [get_ports {FT_PDB }] set_input_delay -clock [get_clocks
    发表于 04-27 09:11

    保持输入双倍数据速率的时间错误的解决办法?

    vi_clk150Mhz]set_input_delay -clock [get_clocks vi_clk150Mhz] -clock_fall -min -add_delay 0.500 [get_ports DE
    发表于 05-01 14:42

    IDDR LVDS25时序违规如何改善?

    [get_clocks clkin_adc_a] -clock_fall -max -add_delay 0.3 [get_ports {datain_adc_a_p }] set_input_delay -clock
    发表于 08-06 06:07

    input_delay应该设置为多少?

    1、如下图所示,当CLK1为100MHz时,约束set_input_delay -clocks CLK1 -max 5sig_a,如果CLK1变成50MHz,需要保证的约束效果不变,此时
    发表于 07-22 07:11

    FPGA设计约束技巧之XDC约束之I/O篇 (上)

    从UCF到XDC的转换过程,最具挑战的可以说便是本文将要讨论的I/O约束了。 I/O 约束的语法 XDC 可以用于 I/O 约束的命令包括 set_input_delay / set_ou
    发表于 11-17 18:54 1.3w次阅读
    FPGA设计约束技巧之XDC约束之I/O篇 (上)

    set_max_delay被覆盖的解决办法

    XDC描述的时序约束是有优先级的,尤其是涉及到时序例外的约束,如set_clock_groups、set_false_path、set_max_delayset_multicycle
    的头像 发表于 09-07 10:53 9968次阅读
    <b class='flag-5'>set_max_delay</b>被覆盖的解决办法

    怎么解决有关于data保存时间的时序错误?

    -min -add_delay -1.300 [get_ports rxData_n] set_input_delay -clock [get_clocks rxDco_p] -clock_fall
    的头像 发表于 04-10 09:43 1818次阅读
    怎么解决有关于data保存时间的时序错误?

    STM32上进行Delay延时的方法

    1、使用SYStick专门的延时。void delay_us(uint32_t us){ static uint32_t delay_flag = 0; delay_flag = 1; /*
    发表于 12-24 19:39 2次下载
    STM32上进行<b class='flag-5'>Delay</b>延时的方法

    Vivado如何做set_input_delay约束

    在STA,要分析上游器件和FPGA之间的时序关系就得指定input delay
    的头像 发表于 02-19 19:32 3316次阅读
    Vivado<b class='flag-5'>中</b>如何做<b class='flag-5'>set_input_delay</b>约束

    Vivado如何做set_input_delay约束

    在STA,要分析上游器件和FPGA之间的时序关系就得指定input delay
    的头像 发表于 02-16 16:21 3584次阅读
    Vivado<b class='flag-5'>中</b>如何做<b class='flag-5'>set_input_delay</b>约束

    详解FPGA的时序input delay约束

    本文章探讨一下FPGA的时序input delay约束,本文章内容,来源于配置的明德扬时序约束专题课视频。
    发表于 05-11 10:07 4127次阅读
    详解FPGA的时序<b class='flag-5'>input</b> <b class='flag-5'>delay</b>约束

    FPGA的时序input delay约束

    本文章探讨一下FPGA的时序input delay约束,本文章内容,来源于明德扬时序约束专题课视频。
    的头像 发表于 07-25 15:37 3072次阅读
    FPGA的时序<b class='flag-5'>input</b> <b class='flag-5'>delay</b>约束

    set_output_delay的本质是什么?浅谈set_ouput_delay时序

    set_output_delay是对模块output信号在模块外部延迟的约束,本质上EDA工具会根据约束调整内部器件(UFF0)的类型,摆放位置以及组合逻辑(C1)以满足约束要求,即EDA工具保证模块DUA的UFF0的Tclk2q+Tc1延时能够满足约束要求。
    的头像 发表于 08-12 09:48 2012次阅读
    <b class='flag-5'>set_output_delay</b>的本质是什么?浅谈<b class='flag-5'>set_ouput_delay</b>时序

    详细讲解SDC语法set_input_delayset_output_delay

    在数字集成电路设计,Synopsys Design Constraints(SDC)是一种重要的约束语言,用于指导综合、布局布线等后续流程。
    的头像 发表于 05-06 14:15 2991次阅读