FPGA时钟资源详解(3)——全局时钟资源

这篇具有很好参考价值的文章主要介绍了FPGA时钟资源详解(3)——全局时钟资源。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 FPGA时钟系列文章总览:
FPGA原理与结构(14)——时钟资源https://ztzhang.blog.csdn.net/article/details/132307564

一、概述

        全局时钟是 FPGA 中的一种专用互连网络,旨在将时钟信号分配到 FPGA 内各种资源的时钟输入处。这种设计考虑了时钟信号在整个芯片上的传播,确保了低偏斜(low skew)、低占空比失真、低功耗以及改进的抖动容忍度。全局时钟网络还支持非常高频率的信号,满足现代高性能电子系统的需求。

1.1 全局时钟网络的设计特点

  • 低偏斜:通过优化时钟信号在 FPGA 内部的传播路径,全局时钟网络能够最小化时钟到达不同资源的时间差异,这对于保证同步操作和提高系统性能至关重要。

  • 低占空比失真:全局时钟网络保证时钟信号的上升沿和下降沿均匀分布,避免时钟信号的占空比发生变化,这有助于维持稳定的时钟周期和提高电路的可靠性。

  • 低功耗:通过减少时钟网络中的电容负载和优化信号传输路径,全局时钟网络设计力求降低功耗,这对于发热控制和提升电池驱动设备的续航能力尤为重要。

  • 改进的抖动容忍度:全局时钟网络通过减少信号抖动,提高时钟信号的稳定性,从而支持高精度的时钟定时需求。

  • 支持高频信号:全局时钟网络被设计来支持非常高频率的信号,满足了现代 FPGA 应用中对快速数据处理和高速通信的需求。

1.2 对全局时钟资源的理解

        理解全局时钟的信号路径有助于深入认识 FPGA 中的各种全局时钟资源,包括但不限于 BUFG(全局时钟缓冲器)、PLL(相位锁定环)和 MMCM(混合模式时钟管理器)。这些资源共同工作,提供精确的时钟管理功能,包括时钟生成、分频、选择和门控等。

        全局时钟资源的有效利用是 FPGA 设计中的关键环节,它不仅影响电路的性能和稳定性,还涉及到系统的功耗和成本。因此,设计师需要根据应用的具体需求仔细规划时钟网络,以实现最优的性能和资源利用效率。

二、时钟树和网——GCLK

        在 Xilinx 的 7 系列 FPGA 架构中,时钟树的设计专注于低偏斜和低功耗运作。这种设计通过断开任何未使用的分支来进一步降低功耗,确保只有需要的时钟信号路径被激活。此外,时钟树还可以用于驱动逻辑资源,例如重置或时钟使能信号,这在需要驱动高扇出/负载网络的应用中尤其有用。

        7 系列 FPGA 的一个显著特点是,全局时钟线的引脚访问不限于逻辑资源的时钟引脚。全局时钟线还可以驱动可配置逻辑块(CLB)中的其他引脚,例如控制引脚 SR和 CE(时钟使能)。这提供了额外的灵活性,允许设计师利用高性能的全局时钟网络来实现快速信号连接和管理大负载/扇出需求。

三、时钟区域

        7系列 FPGA 设备通过使用时钟区域改进了时钟分配机制。时钟区域的设计使得时钟信号的分配更为高效和灵活,有助于提高整体系统的性能和稳定性。以下是7系列设备时钟分配机制的关键特点:

3.1 时钟区域与全局时钟域

3.1.1 时钟区域(Clock Regions)

        时钟区域是 FPGA 内部用于划分和管理时钟信号的物理区域。在 Xilinx 7 系列 FPGA 中,一个时钟区域定义为包含一定数量的可配置逻辑块(CLBs)的区域,通常跨越 FPGA 设备的一半宽度,并向上和向下延伸多个(25个) CLB 行。时钟区域的主要目的是优化和控制时钟信号在特定区域内的分配,以减少时钟偏斜和延迟,提高设计的稳定性和性能。

  • 时钟区域的定义:每个时钟区域可以拥有多达12个全局时钟域。这些全局时钟域能够被任意组合中的32个全局时钟缓冲器驱动,这些缓冲器在单片设备或超大规模集成(SLR,Super Logic Region)中可用。

  • 时钟区域的尺寸:时钟区域的尺寸固定为50个CLB块高(50个I/O块),并跨越芯片的左侧或右侧。这种设计确保了时钟信号可以有效地覆盖特定区域,同时减少信号传播的延迟和偏斜。

fpga 全局时钟,FPGA原理与结构,fpga开发,fpga,时钟资源

3.1.2 全局时钟域(Global Clock Domains)

        全局时钟域指的是 FPGA 设计中被全局时钟信号覆盖的逻辑部分。全局时钟信号通常由全局时钟缓冲器(如 BUFG)分发,旨在提供低偏斜、高稳定性的时钟源给 FPGA 设计中的各个模块。一个全局时钟域可以跨越多个时钟区域,支持设计中不同功能模块的同步运作。

3.2 设备分割与时钟主干

  • 时钟主干:7系列设备中的时钟背骨将设备分割为左侧或右侧。重要的是,这个主干并不位于芯片的中心,这种设计有助于优化时钟信号在芯片上的分布和管理。

  • 时钟区域数量:通过固定时钟区域的尺寸,更大的7系列设备可以拥有更多的时钟区域。7系列 FPGA 提供1到24个时钟区域,不同型号的设备提供的时钟区域数量不同,以满足不同规模设计的需求。

        总之,7系列 FPGA 设备的时钟区域机制为时钟信号的高效分配和管理提供了强大的支持,这对于满足现代高性能电子系统的需求至关重要。通过充分利用这一机制,设计师可以优化他们的时钟网络设计,实现更高的系统性能和稳定性。

四、全局时钟缓冲器

        在7系列的FPGA中,有着多达32个全局时钟缓冲器(BUFG)。32个BUFG被划分成两组,每组16个BUFG,分别位于设备的顶部和底部。

        设备上半部分的 CMT 只能驱动上半部的 BUFG,而下半部分的 CMT 只能驱动下半部的 BUFG。同样,只有同一半设备内的 BUFG 才能作为反馈信号提供给同一半设备内的 CMT。这种设计确保了时钟网络在物理布局上的优化,有助于降低时钟传播延迟和偏斜。

        一个CC(Clock-Capable)input 可以直接连接到同一半设备中(上下划分)的任何全局时钟缓冲器。每对差分时钟引脚都可以连接到PCB上的差分或单端时钟。Xilinx 7系列 FPGA 的CC input 通过存在于时钟主干的垂直时钟网络间接驱动全局时钟缓冲器(BUFG)。任何直接连接到BUFG的资源(例如,GTX收发器)都有顶部/底部的限制。例如,顶部的每个MMCM只能驱动位于设备顶部的16个BUFG。同样,底部的MMCM驱动底部的16个BUFG。

        在7系列设备中,所有全局时钟缓冲器可以驱动所有时钟区域。然而,在单个时钟区域内,只能驱动12种不同的时钟(也就是一个时钟区域最多包含12个全局时钟域)。时钟区域(包括50个CLBs)是时钟树的一部分,其中25行CLB在上,25行CLB在下,横跨设备的一半。

        时钟缓冲器被设计为可以配置为同步或异步无抖动的2:1多路复用器,具有两个时钟输入。存在专用路径(路由资源)用于BUFG级联,以允许选择两个以上的时钟输入。

        在 Xilinx 7 系列 FPGA 的时钟架构中,BUFGCTRL 多路复用器及其所有衍生形式能够在设备上半部和下半部各自的16个时钟缓冲器组内相邻的时钟缓冲器之间进行级联,有效地在上半部和下半部分别创建一个包含16个 BUFGMUX(BUFGCTRL 多路复用器)的环形网络。这种设计极大地增加了时钟网络的灵活性和扩展性,允许设计师构建复杂的时钟选择和分配方案。

        BUFGCTRL 多路复用器的级联:

  • 级联功能:通过将一个 BUFGCTRL 的输出连接到另一个 BUFGCTRL 的输入,可以构建一个连续的时钟路径,这允许从多个时钟源中选择时钟信号,同时最小化时钟传播延迟和偏斜。

  • 环形网络:在设备的上半部和下半部,这些 BUFGCTRL 多路复用器可以形成两个独立的环形网络,每个网络包含16个 BUFGMUX。这种环形结构提供了强大的时钟选择和分配能力,同时保持了低功耗和高效率。

  • 应用:这种级联和环形网络的设计非常适合于需要动态选择不同时钟源的应用,例如在不同操作模式之间切换或实现时钟门控逻辑。

fpga 全局时钟,FPGA原理与结构,fpga开发,fpga,时钟资源

五、全局时钟缓冲器原语

        原语总表如下所示:

fpga 全局时钟,FPGA原理与结构,fpga开发,fpga,时钟资源

        在 Xilinx FPGA 设计中,上面所有的时钟原语(primitives)都是基于 BUFGCTRL 的软件预设衍生而来。BUFGCTRL 是一个非常灵活的全局时钟缓冲器控制原语,提供了广泛的功能,包括时钟选择、时钟门控以及时钟分频等。通过利用这些软件预设,设计师可以实现复杂的时钟管理策略,优化时钟网络的性能和资源利用率。

5.1 BUFGCTRL

        BUFGCTRL 原语能够在两个异步时钟之间进行切换,所有其他的全局时钟缓冲区原语都来自于BUFGCTRL的某些配置。

fpga 全局时钟,FPGA原理与结构,fpga开发,fpga,时钟资源

        BUFGCTRL 是 Xilinx FPGA 中一个非常强大且灵活的全局时钟缓冲器控制原语,它允许设计师基于多种控制信号来选择和管理时钟信号。具有四条选择线(S0, S1, CE0, 和 CE1)以及两条额外的控制线(IGNORE0 和 IGNORE1),BUFGCTRL 提供了对两个输入 I0 和 I1 高度的控制能力。

5.1.1 控制线的作用

  • S0 和 S1:这两条线用于选择输入(I0 或 I1)作为 BUFGCTRL 的输出。通过不同的 S0 和 S1 组合,设计师可以实现时钟输入的动态选择。

  • CE0 和 CE1:时钟使能(Clock Enable)线,用于控制是否使能对应的输入 I0 和 I1。当 CE 线被置为有效(通常是高电平)时,对应的时钟输入被允许通过到输出;当 CE 线为无效时,对应的输入被禁用。

  • IGNORE0 和 IGNORE1:这两条控制线提供了对 BUFGCTRL 行为的额外控制。通过设置 IGNORE 线,设计师可以指示 BUFGCTRL 忽略对应的 CE 线的状态,这在某些特定的时钟管理策略中非常有用。

fpga 全局时钟,FPGA原理与结构,fpga开发,fpga,时钟资源

5.2 BUFG

        BUFG 是 Xilinx FPGA 中的一种基本时钟缓冲器原语,它具有一个时钟输入和一个时钟输出。这个原语基于 BUFGCTRL 设计,但是其一些引脚被固定连接到逻辑高(High)或逻辑低(Low),简化了其使用方式,使其成为实现单一时钟源分配的理想选择。通过将某些控制信号固定为高或低,BUFG 能够以更简单的配置满足大多数常见的时钟缓冲需求。

fpga 全局时钟,FPGA原理与结构,fpga开发,fpga,时钟资源

5.3 BUFGCE and BUFGCE_1

        BUFGCE 是一种在 Xilinx FPGA 设计中用于时钟管理的原语,与 BUFG 类似,但它增加了一个时钟使能(CE)线。这使得设计师能够根据需要动态地使能或禁用时钟信号,提供了对时钟信号更精细的控制,从而优化系统性能和功耗。

fpga 全局时钟,FPGA原理与结构,fpga开发,fpga,时钟资源

        BUFGCE_1 是一种特殊的全局时钟缓冲器,类似于 BUFGCE,但其在时钟使能(CE)控制和时钟信号切换条件方面有所不同。这种差异主要体现在对 CE 输入信号的响应以及时钟信号的输出行为上。

5.3.1 BUFGCE

  • 通用行为:当 CE 输入为高(逻辑高)时,BUFGCE 允许时钟信号从输入传递到输出。当 CE 输入为低(逻辑低)时,时钟信号被阻塞,不会传递到输出。
  • 输出状态:在 CE 为低时,即时钟信号被禁用时,输出的具体状态(高或低)取决于时钟信号被禁用时的最后状态。

5.3.2 BUFGCE_1

  • 特殊的切换条件:BUFGCE_1 的区别在于,如果 CE 输入在即将到来的下降时钟边沿之前为低,则接下来的时钟脉冲不会通过时钟缓冲器,输出保持高。
  • CE 输入的变化:在即将到来的时钟低脉冲期间,CE 的任何电平变化都不会产生效果,直到时钟信号向高跳变。这意味着,即使 CE 在时钟低脉冲期间变高,输出也会保持高状态,直到下一个时钟高脉冲的开始。
  • 时钟禁用时的输出:当时钟被禁用时,输出保持高状态。然而,如果在禁用时钟的过程中,BUFGCE_1 会完成时钟的低脉冲,确保时钟信号的完整性。

5.4 BUFGMUX and BUFGMUX_1

        BUFGMUX 是 Xilinx FPGA 中的一种时钟缓冲器原语,它具备两个时钟输入、一个时钟输出以及一个选择线。这种原语是基于 BUFGCTRL 设计的,通过将某些引脚固定连接到逻辑高(High)或逻辑低(Low),实现了更专用的功能。BUFGMUX 允许设计师根据选择线的状态动态选择两个时钟输入中的一个来传递到输出,从而为设计提供了更大的灵活性和时钟管理能力。

fpga 全局时钟,FPGA原理与结构,fpga开发,fpga,时钟资源

        在 Xilinx FPGA 设计中,BUFGMUX 和 BUFGMUX_1 都是用于时钟信号选择的全局时钟缓冲器原语,但它们在时钟选择行为和逻辑上存在细微差异。这些差异影响了它们在特定设计场景中的应用方式。

5.4.1 BUFGMUX

  • 基本功能:BUFGMUX 允许设计师根据选择信号(S)的状态动态选择两个输入时钟(I0 和 I1)中的一个作为输出。
  • 选择逻辑:通常,当选择信号 S 为高(逻辑高)时,I1 被选为输出;当 S 为低(逻辑低)时,I0 被选为输出。

5.4.2 BUFGMUX_1

  • 特殊行为:BUFGMUX_1 与 BUFGMUX 类似,提供两个时钟输入和一个选择线,但在具体的时钟选择和切换逻辑上可能有所不同。具体差异可能涉及到对选择信号变化的响应时间、时钟切换的同步/异步行为等方面,依据不同的 FPGA 版本和设计需求可能有所调整。
  • 应用场景:BUFGMUX_1 的这些特殊行为使其在需要对时钟切换时机或行为有特殊要求的应用中更为适用。

 5.5 BUFGMUX_CTRL

        BUFGMUX_CTRL是一个更新的时钟缓冲器原语,它取代了旧的BUFGMUX_VIRTEX4 原语。这表明 Xilinx 在其 FPGA 设计工具和库中进行了更新,以提供更加灵活和强大的时钟管理能力。 BUFGMUX_CTRL继承了BUFGMUX的基本功能,并在此基础上增加了更多控制选项,使其更加符合现代 FPGA 设计的需求。

fpga 全局时钟,FPGA原理与结构,fpga开发,fpga,时钟资源

        BUFGMUX_CTRL 的特性如下:文章来源地址https://www.toymoban.com/news/detail-859398.html

  • 两个时钟输入:提供两个时钟输入端口(I0 和 I1),允许连接两个独立的时钟源。
  • 一个时钟输出:无论选择哪个输入,BUFGMUX_CTRL 都将所选的时钟信号输出到其单一的输出端口。
  • 选择线:通过一个选择线(S),设计师可以控制是将 I0 或 I1 的时钟信号输出。这提供了动态选择时钟信号的能力,适用于需要在运行时切换不同操作模式的设计。
  • 基于 BUFGCTRLBUFGMUX_CTRL 原语是基于 BUFGCTRL 实现的,通过将 BUFGCTRL 的某些引脚固定连接到逻辑高(High)或逻辑低(Low),实现了时钟选择功能。

到了这里,关于FPGA时钟资源详解(3)——全局时钟资源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • FPGA原理与结构——时钟IP核的使用与测试

    系列文章目录:FPGA原理与结构(0)——目录与传送门         本文介绍xilinx的时钟IP核 Clocking Wizard v6.0的具体使用与测试过程,在学习一个IP核的使用之前,首先需要对于IP核的具体参数和原理有一个基本的了解,具体可以参考: FPGA原理与结构——时钟IP核原理学习 https:/

    2024年02月09日
    浏览(37)
  • FPGA原理与结构(16)——时钟IP核的使用与测试

    系列文章目录:FPGA原理与结构(0)——目录与传送门         本文介绍xilinx的时钟IP核 Clocking Wizard v6.0的具体使用与测试过程,在学习一个IP核的使用之前,首先需要对于IP核的具体参数和原理有一个基本的了解,具体可以参考: FPGA原理与结构——时钟IP核原理学习 https:/

    2024年02月08日
    浏览(40)
  • FPGA的时钟资源

    目录 简介 Clock Region详解 MRCC和SRCC的区别  BUFGs 时钟资源总结 7系列FPGA的时钟结构图: Clock Region:时钟区域,下图中有6个时钟区域,用不同的颜色加以区分出来 Clock Backbone:从名字也能看出来,这个一个纵向贯穿整个FPGA的时钟资源,把FPGA的clock region分成了两个部分,所有的

    2024年04月12日
    浏览(39)
  • Xilinx 7系列FPGA全局时钟缓冲器基本单元

    Global Clock Buffer Primitives(全局时钟缓冲器基本单元)在FPGA(现场可编程门阵列)和其他数字系统中扮演着至关重要的角色。这些基本单元被设计用于处理、分配和增强时钟信号,以确保系统中的各个组件都能以精确和同步的方式工作。 表2-2中的基本单元代表了全局时钟缓冲

    2024年04月23日
    浏览(61)
  • xilinx 7系列FPGA时钟布线资源

    7系列FPGA拥有多种时钟路由资源,以支持各种时钟方案和需求,包括高扇出、短传播延迟以及极低的偏斜。为了最佳地利用时钟路由资源,需要了解如何将用户时钟从PCB传递到FPGA,确定哪种时钟路由资源最优,然后通过利用适当的I/O和时钟缓冲器来访问这些时钟路由资源。

    2024年04月22日
    浏览(62)
  • Xilinx 7系列FPGA局部时钟资源

    局部时钟网络是玩去哪独立于全局时钟网络的。与全局时钟不同,局部时钟信号(BUFR)的覆盖范围仅限于一个时钟区域。一个I/O时钟信号驱动单个时钟区域。这些网络对于源同步接口设计特别有用。在7系列器件中,I/O bank与局部时钟域的大小相同。 在7系列器件中,局部时钟

    2024年04月29日
    浏览(58)
  • 几种FPGA时钟BUF资源的区别:

    目前,已知的FPGA内部的buf资源分为:          BUFG:直接把时钟信号路由到全局时钟树,可以全芯片使用,驱动能力强,但时钟质量略差,同时资源有限。(优先使用)          BUFH:把时钟信号路由到本时钟域和 左右 相邻两个时钟域,驱动能力仅次于BUFG,但时钟质

    2024年02月08日
    浏览(33)
  • FPGA时钟资源与设计方法——Xilinx(Vivado)

    1.时钟资源包括:时钟布线、时钟缓冲器(BUFGBUFRBUFIO)、时钟管理器(MMCM/PLL)。 2.时钟类型有三种:全局时钟,可以驱动整个内核上的同步逻辑;局部时钟,可以驱动特定和相邻区域的逻辑;IO时钟,可以驱动某个IO的特定逻辑。 3.混合模式时钟管理器(MMCM)和数字时钟管理

    2024年02月22日
    浏览(55)
  • Xilinx FPGA器件中时钟资源的说明以及使用 --ibufg ibufgds

    xilinx 时钟资源分为两种:全局时钟和第二全局时钟。 一、全局时钟资源 Xilinx 全局时钟采用全铜工艺实现,并设计了专用时钟缓冲与驱动结构,可以到达芯片内部任何一个逻辑单元,包括CLB、I/O引脚、内嵌RAM、硬核乘法器等,而且时延和抖动都很小。对FPGA设计而言,全局时

    2023年04月09日
    浏览(46)
  • 【差分时钟转单端时钟】FPGA原语设计详解

    【差分时钟转单端时钟】FPGA原语设计详解 在现代电子系统中,为了提高数据传输的速率和抗干扰能力使用差分信号传输时钟信号已成为一种常见的做法。而FPGA作为可编程逻辑器件,其灵活性和可重构性得到越来越广泛的应用。本文将介绍利用FPGA实现差分时钟转单端时钟的原

    2024年02月04日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包