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

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

3天内不再提示

详细讲解SDC语法中的set_input_delay和set_output_delay

快乐的芯片工程师 来源:快乐的芯片工程师 2024-05-06 14:15 次阅读

数字集成电路设计中,Synopsys Design Constraints(SDC)是一种重要的约束语言,用于指导综合、布局布线等后续流程。本文将详细讲解SDC语法中的set_input_delay和set_output_delay,解释它们的原理、作用,并通过实例进行说明。

一、set_input_delay和set_output_delay的基本原理

1. 时序约束:在数字集成电路设计中,时序约束是一个重要的概念。它定义了信号从一个时钟边沿到另一个时钟边沿之间的时间延迟。时序约束有助于确保设计满足性能要求,如时钟周期、时钟偏斜、时钟抖动等。

2. set_input_delay和set_output_delay:在SDC语法中,set_input_delay和set_output_delay是两种常用的时序约束命令。它们分别用于设置输入信号的建立时间和保持时间,以及输出信号的建立时间和保持时间。

3. 建立时间和保持时间:在时序分析中,建立时间和保持时间是两个关键参数。建立时间是指信号从低电平跳变到高电平,并在时钟边沿之后保持一段时间的最小要求。保持时间是指信号从高电平跳变到低电平,并在时钟边沿之前保持一段时间的最小要求。

二、set_input_delay和set_output_delay的作用

1. 确保信号正确传输:通过设置输入输出信号的建立时间和保持时间,可以确保信号在时钟边沿之前和之后都保持一段时间,从而保证信号的正确传输。

2. 优化设计性能:合理的设置输入输出信号的建立时间和保持时间,可以优化设计性能,提高电路的可靠性。

3. 支持时序分析:set_input_delay和set_output_delay是时序分析的重要组成部分,有助于确保设计满足时序要求。

三、set_input_delay和set_output_delay的举例说明

1. set_input_delay: 假设我们设计了一个简单的时序电路,包含一个时钟信号clk和一个输入信号A。为了确保信号A能够在时钟边沿之前和之后保持一段时间,我们可以使用set_input_delay命令进行设置。

set_input_delay -clock clk -max 2 [get_ports A]
这条命令设置了输入信号A的最大建立时间为2ns,确保信号A在时钟边沿之前至少保持2ns。

2. set_output_delay: 同样,为了确保信号A在时钟边沿之后保持一段时间,我们可以使用set_output_delay命令进行设置。
set_output_delay-clockclk-min1[get_portsA]
这条命令设置了输入信号A的最小保持时间为1ns,确保信号A在时钟边沿之后至少保持1ns。

四、总结

set_input_delay和set_output_delay是SDC语法中常用的时序约束命令,它们有助于确保信号的正确传输,优化设计性能,并支持时序分析。通过合理的设置输入输出信号的建立时间和保持时间,可以提高电路的可靠性。在数字集成电路设计中,了解和使用set_input_delay和set_output_delay是设计者必备的技能。



审核编辑:刘清

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

    关注

    5345

    文章

    10939

    浏览量

    355572
  • SDC
    SDC
    +关注

    关注

    0

    文章

    48

    浏览量

    15352
  • 时钟信号
    +关注

    关注

    4

    文章

    390

    浏览量

    28260
  • CLK
    CLK
    +关注

    关注

    0

    文章

    123

    浏览量

    16968

原文标题:深入解析SDC语法中的set_input_delay和set_output_delay

文章出处:【微信号:快乐的芯片工程师,微信公众号:快乐的芯片工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA的IO约束如何使用

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

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

    :create_clock -period 16.667 -name FT_CLK -waveform {0.000 8.333} [get_ports FT_CLK]set_input_delay -clock
    发表于 04-27 09:11

    ICinout port需要同时设置input_delayoutput_delay吗?

    请教:ICinout port 需要同时设置input_delayoutput_delay吗?
    发表于 06-25 06:37

    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_output_delay
    发表于 11-17 18:54 1.2w次阅读
    FPGA设计约束技巧之XDC约束之I/O篇 (上)

    set_max_delay被覆盖的解决办法

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

    Xilinx Vivado I/O延迟约束介绍

    的延迟值: 1,set_input_delay 2,set_output_delay 2 输入延迟(Input Delayset_input_d
    的头像 发表于 11-29 10:01 4678次阅读

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

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

    Vivado中如何做set_input_delay约束

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

    Vivado中如何做set_input_delay约束

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

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

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

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

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

    介绍基本的sdc时序特例

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

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

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

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

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