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

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

3天内不再提示

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

sanyue7758 来源:IC的世界 2023-08-12 09:48 次阅读

1、set_output_delay的本质

set_output_delay是对模块output信号在模块外部延迟的约束,本质上EDA工具会根据约束调整内部器件(UFF0)的类型,摆放位置以及组合逻辑(C1)以满足约束要求,即EDA工具保证模块DUA的UFF0的Tclk2q+Tc1延时能够满足约束要求。

约束指导原则:尽量照顾设计外部逻辑延时

max 正值尽量大

set_output_delay -max delay_vaule : delay_vaule 数值越大,对自身的约束越严格,对外部的要求越宽松,本质上是对setup time的约束。

set_output_delay -min delay_vaule : delay_vaule 可以是负值,delay_vaule 数值越小,需要自身的延时(Tclk2q+Tc1)越大,本质上是对hold time的约束。delay_vaule 为0 表示要求信号的自身的延时(Tclk2q+Tc1)至少要大于capture(UFF1)的hold time。

2、set_output_delay示意图

图7-23显示了DUA(the design under analysis )的输出路径。触发器UFF0在DUA内部,并向DUA外部的触发器UFF1提供数据。数据由UFF0的Q端输出,经过组合逻辑C1,通过输出端口OUTB输出经过组合逻辑C2到达UFF1。触发器UFF0和触发器UFF1的采样时钟均为CLKQ。不考虑CLKQ时钟偏移,该时钟周期是两个触发器UFF0和UFF1之间采样时间差。针对DUA输出管脚OUTB设置的set_output_delay指的就是相对于时钟CLKQ的Tc2延时加上UFF1的setup time延时。

set Tc2 3.9 
set Tsetup 1.1 
set_output_delay -clock CLKQ -max [expr Tc2 + Tsetup] [get_ports OUTB]

99d4a722-3859-11ee-9e74-dac502259ad0.png

3、set_output_delay简单案例

如图所示,组合逻辑Tc2的延时范围为0ns~7ns。外部触发器的Tsetup 为0.4ns,Thold为0.2ns,因此外部路径的最大延时为7.4ns (= max Tc2 plus Tsetup = 7 + 0.4),外部路径的最小延时为-0.2ns (= min Tc2 minus Thold = 0 - 0.2)。(PS:12nm~5nm工艺,hold time和setup time仅仅只有几十~十几ps。)

create_clock -period 20 -waveform {0 15} [get_ports CLKQ] 
set_output_delay -clock CLKQ -min -0.2 [get_ports OUTC] 
set_output_delay -clock CLKQ -max 7.4 [get_ports OUTC]

99f78328-3859-11ee-9e74-dac502259ad0.png





审核编辑:刘清

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

    关注

    4

    文章

    254

    浏览量

    31293
  • 触发器
    +关注

    关注

    14

    文章

    1694

    浏览量

    60424
  • 延时器
    +关注

    关注

    1

    文章

    36

    浏览量

    14748
  • Dua
    Dua
    +关注

    关注

    0

    文章

    3

    浏览量

    7097
  • CLK
    CLK
    +关注

    关注

    0

    文章

    122

    浏览量

    16912

原文标题:浅谈时序:set_ouput_delay

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是output_delay

    顾名思义,output_delay就是指输出端口的数据相对于参数时钟边沿的延时。
    的头像 发表于 09-26 10:07 2996次阅读

    FPGA静态时序分析——IO口时序(Input Delay /output Delay

    FPGA静态时序分析——IO口时序(Input Delay /output Delay)1.1概述  在高速系统中FPGA
    发表于 04-25 15:42

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

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

    set_max_delay被覆盖的解决办法

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

    Xilinx Vivado I/O延迟约束介绍

    的延迟值: 1,set_input_delay 2,set_output_delay 2 输入延迟(Input Delayset_input_delay命令指定输入端口上相对于设计
    的头像 发表于 11-29 10:01 4460次阅读

    时序约束中如何精确找到匹配的template?

    时序约束中的  set_input_delay/set_output_delay 约束一直是一个难点,无论是概念、约束值的计算,还是最终的路径分析,每一次都要费一番脑子。Vivado为方便用户创建
    的头像 发表于 04-10 09:38 1755次阅读
    <b class='flag-5'>时序</b>约束中如何精确找到匹配的template?

    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 2693次阅读
    Vivado中如何做<b class='flag-5'>set_input_delay</b>约束

    Vivado中如何做set_input_delay约束

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

    详解FPGA的时序input delay约束

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

    FPGA的虚拟时钟用于什么地方?

    如果I/O路径参考时钟源于内部的衍生时钟,那set_input_delayset_output_delay约束中-clock参数后的时钟不能是衍生时钟,比如下图的例子中,输入10MHz时钟经过了MMCM后去采输入的数据。
    的头像 发表于 06-23 10:15 1197次阅读

    FPGA的时序input delay约束

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

    创建输入输出接口时序约束的窍门

    时序约束中的 set_input_delay/set_output_delay 约束一直是一个难点,无论是概念、约束值的计算,还是最终的路径分析,每一次都要费一番脑子。Vivado为方便用户创建
    的头像 发表于 08-02 09:54 1870次阅读
    创建输入输出接口<b class='flag-5'>时序</b>约束的窍门

    介绍基本的sdc时序特例

    今天我们要介绍的基本sdc是 **时序特例** ,也就是我们常说的Path exception。针对一些路径需要的一些特殊设定,常用的有set_false_path, set_multicycle_path,
    的头像 发表于 07-03 15:34 513次阅读
    介绍基本的sdc<b class='flag-5'>时序</b>特例

    怎样查看input/output delay是否生效

    通过get_port命令查看接口。 get_ports * 以LVDS的输入输出为例 怎样去查看outputdelay   set_output_delay -clock
    的头像 发表于 02-27 08:38 216次阅读
    怎样查看input/<b class='flag-5'>output</b> <b class='flag-5'>delay</b>是否生效