Vivado时序约束基础

这篇具有很好参考价值的文章主要介绍了Vivado时序约束基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

      今天这篇博客,笔者向大家简单介绍Xilinx FPGA中的Vivado时序约束基础知识,也为后续的学习打好铺垫。

Xilinx Design Constraints (XDC) 概述

• XDC 在本质上就是Tcl 语言,但其仅支持基本的Tcl 语法,如变量、列表和运算符等等,对其他复杂的循环以及文件I/O 等语法可以通过在 Vivado中source 一个Tcl 文件的方式来补充。

• XDC 可以像UCF一样作为一个整体文件被工具读入,也可以在实现过 程中被当作一个个单独的命令直接执行。这就决定了XDC也具有Tcl命 令的特点,即后面输入的约束在有冲突的情况下会覆盖之前输入的约束。

• 不同于UCF是全部读入再处理的方式,在XDC中约束是读一条执行一条,所以先后顺序很重要。设置IO 约束之前,相对应的clock 一定 要先创建好。

•  UCF是完全以FPGA的视角看问题,所以缺省认为所有的时钟之间除非预先声明是同步的,否则就视作异步而不做跨时钟域时序分析。

• XDC恰恰相反,ASIC世界的血缘背景决定了在其中,所有的时钟缺省视作全同步,在没有时序例外的情况下,工具会主动分析每一条跨时钟域的路径。

XDC的基本时序约束可以分为时钟约束、I/O 约束以及时序例外约束三大类。

时钟约束

    首先时钟约束必须最早创建,对于7系列FPGA来说,端口进来的时钟和GT的输出RXCLK/TXCLK都必须用create_clock自主创建为主时钟,如果是差分输入的时钟,可以仅仅在差分对的P侧用get_ports获取端口,并使用create_clock创建。

Vivado时序约束基础

      其次Vivado自动推导的衍生时钟,MMCM/PLL/BUFR的输出作为衍生时钟,可以由Vivado自动推导无需用户创建。

      再次存在用户自定义的衍生时钟,工具不能自动推导出衍生钟的情况,包括使用寄存器和组合逻辑搭建的分频器等,必须由用户使用creat_generate_clock来创建,举例说明:

Vivado时序约束基础

I/O约束

      在设计的初级阶段,可以不加I/O约束,让工具专注于满足FPGA内部的时序要求,当时序要求基本满足后,再加上I/O约束跑实现。XDC中的I/O约束有以下几点需要注意:

  1. 不添加I/O约束的端口时序要求被视为无穷大;
  2. XDC中的set_input_delay/set_output_delay是从系统的角度来进行约束;
  3. 典型的I/O时序,包括系统同步、源同步、SDR和DDR等等,在Vivado图形界面的XDC templates中都有示例;

时序例外约束

      时序例外约束包括set_max_delay/set_min_delay,set_multicycle_path,set_false_path等,这类约束除了要满足XDC的先后顺序优先级外,还受到自身优先级的限制,不同的时序例外约束和同一约束中的不同条件优先级如下图所示:

Vivado时序约束基础文章来源地址https://www.toymoban.com/news/detail-497187.html

到了这里,关于Vivado时序约束基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vivado 一文归纳出时序约束

    对于时序路径来说,一共有4种时序路径,如下图: (1)从上游芯片最后一级触发器的时钟发送沿有效到FPGA中第一级触发器的输入。 (2)FPGA内部从上级触发器时钟发送沿有效到下级触发器的输入。 (3)从FPGA最后一级触发器的时钟发送沿有效到下游芯片第一级触发器的输入

    2024年01月20日
    浏览(40)
  • Vivado操作之时序约束介绍

    目录 一、前言 二、时序约束界面 三、时序约束介绍 四、参考        任何一个FPGA工程都需要设置相关的时序约束,下面将介绍Vivado中如何进行时序约束操作以及各种约束的使用方法。          在一个工程运行到IMPLEMENTATION后,进入到左侧的Flow Navigator窗口,点击IMPL

    2024年02月05日
    浏览(57)
  • Vivado约束添加方法:一文全面解析IO和时序约束

    FPGA开发离不开IO约束和时序约束,IO约束用于确定输入/输出端口的物理端口和电气特性,与芯片和电路设计有关。而时序约束则用于设定FPGA设计中的时序特性,以确保系统能够在预期时钟频率下正常运行。本文将介绍vivado中常见的设置约束的方法。 IO约束,实际上是将工程的

    2024年02月02日
    浏览(45)
  • Vivado XDC约束与时序优化(一)

    摘要:有关xdc约束、时序优化的文章很多,并不重头开始介绍,仅仅记录一下在实际工程中遇到的情况。时序不好是非常正常的现象,此时需要进行大量的约束。我认为时序约束的难点其实更多的是在,有时候约束一条路径之后导致了功能出现异常。此时不得不采取其它的方

    2023年04月14日
    浏览(86)
  • tcl学习之路(五)(Vivado时序约束)

      主时钟通常是FPGA器件外部的板机时钟或FPGA的高速收发器输出数据的同步恢复时钟信号等。下面这句语法大家一定不会陌生。该语句用于对主时钟的名称、周期、占空比以及对应物理引脚进行约束。   在设计中,未约束的时钟可以通过时钟网络报告和时钟确认报告查看

    2024年02月12日
    浏览(46)
  • FPGA的时序分析、约束和收敛(6)----如何读懂vivado下的时序报告?

    目录 写在前面 1、建立工程与添加时序约束 2、时序报表         在之前的文章中写了一些时序分析的基础概念,同时还说了文章中提到的公式根本就不需要记忆,因为综合工具vivado会帮你把所有时序路径都做详尽的分析,你所需要做的就是理解概念。         光说不

    2024年02月12日
    浏览(53)
  • Vivado时序约束之—— set_max_delay、set_min_dealy(最大最小延迟约束)

    1. set_max_delay、set_min_delay约束的目的 最大最小延迟约束主要是为了解决异步信号之间的时序路径进行时序约束的问题。最大延迟约束(set_max_delay)将默认覆盖建立时间分析中的最大路径延迟;最小延迟约束(set_min_delay)将默认覆盖保持时间分析中的最小路径延迟。所谓的最

    2023年04月09日
    浏览(40)
  • FPGA时序分析与时序约束(一)——基础知识

    目录 一、为什么要进行时序分析和时序约束 二、什么是时序分析和时序约束 三、时序约束的基本路径 四、时序分析与约束的基本概念 4.1 Clock Uncertainty 4.2 建立时间和保持时间 4.3 发起沿和采样沿 4.4 数据到达时间和时钟达到时间 4.5 建立时间下的数据需求时间 4.6 保持时间

    2024年02月03日
    浏览(34)
  • FPGA时序约束--基础理论篇

    FPGA开发过程中,离不开时序约束,那么时序约束是什么?简单点说,FPGA芯片中的逻辑电路,从输入到输出所需要的时间,这个时间必须在设定的时钟周期内完成,更详细一点,即需要满足建立和保持时间。 时序约束可以让VIvado和Quartus等FPGA开发软件,在布线时检测综合出来

    2024年02月10日
    浏览(38)
  • FPGA时序分析与约束(6)——综合的基础知识

            在使用时序约束的设计过程中,综合(synthesis)是第一步。         在电子设计中,综合是指完成特定功能的门级网表的实现。除了特定功能,综合的过程可能还要满足某种其他要求,如功率、操作频率等。         有时,针对特定种类或者电路有专门的综合工具

    2024年02月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包