Xilinx 7系列FPGA全局时钟缓冲器基本单元

这篇具有很好参考价值的文章主要介绍了Xilinx 7系列FPGA全局时钟缓冲器基本单元。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

1. BUFGCTRL

BUFGCTRL基本单元如图2-3所示,可以在两个异步时钟之间切换。所有其他全局时钟缓冲器基本单元都是基于BUFGCTRL的某些配置推导而来的。
Xilinx 7系列FPGA全局时钟缓冲器基本单元,Xilinx 7 系列 学习,fpga开发
BUFGCTRL具有四个选择线,即S0、S1、CE0和CE1。它还有两条额外的控制线,即IGNORE0和IGNORE1。这六条控制线用于控制输入I0和I1。

BUFGCTRL的工作机制是通过选择线和控制线来确定哪个输入时钟信号被传递到输出。选择线S0和S1用于选择输入I0或I1,而CE0和CE1则用于使能或禁用相应的输入。IGNORE0和IGNORE1控制线提供了额外的灵活性,可以在某些条件下忽略输入时钟的变化。

BUFGCTRL的设计是为了在两个时钟输入之间切换,而不会出现任何毛刺(glitch)。当目前所选的时钟在S0和S1改变后从高电平过渡到低电平时,输出将保持低电平状态,直到另一个(待选)时钟从高电平过渡到低电平。然后,新的时钟开始驱动输出。BUFGCTRL的默认配置是对下降边沿敏感的,并且在输入切换之前保持在低电平状态。通过使用INIT_OUT属性,BUFGCTRL也可以配置为对上升边沿敏感,并在输入切换之前保持在高电平状态。

在某些应用中,之前描述的条件可能并不理想。断言IGNORE引脚将使BUFGCTRL绕过检测两个时钟输入之间切换的条件。换句话说,当断言IGNORE时,多路复用器(MUX)会在选择引脚变化的瞬间切换输入。IGNORE0会在选择引脚变化时立即使输出从I0输入切换开,而IGNORE1则会在选择引脚变化时立即使输出从I1输入切换开。

选择一个输入时钟需要一对“选择”信号(S0和CE0,或S1和CE1)被断言为高电平。如果S或CE中的任何一个没有被断言为高电平,那么期望的输入将不会被选中。在正常情况下,不期望S和CE对(所有四个选择线)同时被断言为高电平。通常,一个“选择”对中的一个引脚用作选择线,而另一个引脚则连接高电平。真值表如表2-3所示。
Xilinx 7系列FPGA全局时钟缓冲器基本单元,Xilinx 7 系列 学习,fpga开发
注意:
①旧输入指的是在此状态达到之前的有效输入时钟。
②对于所有其他状态,输出将变为INIT_OUT属性的值,并且不会切换(toggle)。
对于两个控制信号:S和CE。尽管两者都用于选择所需的输出,但仅建议使用S进行无故障切换。这是因为当使用CE切换时钟时,时钟选择的变化可能比使用S时更快。如果CE引脚的建立/保持时间(Setup/Hold time)被违反,时钟输出可能会产生故障(glitch)。故障是指电路中的瞬时错误信号,可能导致电路功能异常。
另一方面,使用S引脚可以在不考虑建立/保持时间的情况下在两个时钟输入之间切换。因此,使用S切换时钟不会导致故障。

2. BUFG

BUFG是一个具有一个时钟输入和一个时钟输出的时钟缓冲器。这个基本单元是基于BUFGCTRL的,其中一些引脚被连接到逻辑高电平或低电平。BUFG通常用于确保时钟信号的稳定性和质量,减少时钟信号的抖动和偏斜。
图2-5展示了BUFG和BUFGCTRL之间的关系。可以使用LOC约束来手动放置BUFG的位置。
Xilinx 7系列FPGA全局时钟缓冲器基本单元,Xilinx 7 系列 学习,fpga开发
BUFGCTRL是一个更高级别的控制单元,用于配置和管理BUFG的行为。它提供了更多的配置选项,允许用户根据需要调整BUFG的工作方式。然而,BUFG可以被视为BUFGCTRL的一个简化版本,其中某些引脚被固定连接到高电平或低电平,从而限制了其配置选项。

3. BUFGCE和BUFGCE_1

都是具有一个时钟输入、一个时钟输出以及一个时钟使能(enable)线的时钟缓冲器。这些基本单元都是基于BUFGCTRL的,其中一些引脚被连接到逻辑高电平或低电平。图2-7展示了BUFGCE和BUFGCTRL之间的关系。
Xilinx 7系列FPGA全局时钟缓冲器基本单元,Xilinx 7 系列 学习,fpga开发
BUFGCE的时钟使能线允许设计者动态地控制时钟信号的传递。当使能线被激活(通常是置为高电平)时,时钟信号会从输入传递到输出;当使能线被禁用(置为低电平)时,时钟输出会被停止或保持在当前状态,这取决于具体的FPGA实现。

BUFGCE的切换条件与BUFGCTRL类似。如果CE(时钟使能)输入在即将到来的上升时钟边沿之前为低电平,那么接下来的时钟脉冲不会通过时钟缓冲器,并且输出将保持低电平。在时钟信号处于高电平期间,CE的任何电平变化都不会产生影响,直到时钟信号变为低电平。当时钟被禁用时,输出保持低电平。然而,当时钟正在被禁用时,它会完成时钟高电平的脉冲。

由于时钟使能线使用BUFGCTRL的CE引脚,因此选择信号必须满足建立时间要求。违反这个建立时间可能会导致出现毛刺(glitch)。建立时间是指信号在到达其目标之前必须保持稳定的最短时间,以确保电路能够正确响应。在BUFGCE的情况下,如果CE信号在时钟边沿到达之前没有足够的建立时间,可能会导致输出不稳定或产生意外的脉冲,这可能会对系统的稳定性和性能产生负面影响。

BUFGCE_1与BUFGCE非常相似,但它们的切换条件有所不同。如果CE输入在即将到来的下降时钟边沿之前为低电平,那么接下来的时钟脉冲不会通过时钟缓冲器,并且输出将保持高电平。在时钟信号处于低电平期间,CE的任何电平变化都不会产生影响,直到时钟信号变为高电平。当时钟被禁用时,输出保持高电平。然而,当时钟正在被禁用时,它会完成时钟低电平的脉冲。

与BUFGCE一样,BUFGCE_1的CE引脚也用于控制时钟信号的传递。不同的是,BUFGCE_1对下降时钟边沿敏感,而BUFGCE则对上升时钟边沿敏感。这种差异使得BUFGCE_1能够在不同的应用场景中提供更大的灵活性。

4. BUFGMUX和BUFGMUX_1

都是带有两个时钟输入、一个时钟输出以及一个选择线的时钟缓冲器。这些基本单元基于BUFGCTRL,其中一些引脚被连接到逻辑高电平或低电平。图2-10展示了BUFGMUX和BUFGCTRL之间的关系。
Xilinx 7系列FPGA全局时钟缓冲器基本单元,Xilinx 7 系列 学习,fpga开发
BUFGMUX的主要功能是根据选择线的状态来选择并传递两个输入时钟信号中的一个到输出。选择线通常是一个二进制信号,当它为高电平时,BUFGMUX会选择并输出第一个时钟输入;当它为低电平时,则会选择并输出第二个时钟输入。这种能力使得BUFGMUX在需要动态切换不同时钟源的应用中非常有用,比如在不同工作模式之间切换、故障切换或时钟门控等场景。

5. BUFGMUX_CTRL

BUFGMUX_CTRL具有两个时钟输入、一个时钟输出以及一个选择线,这使得它能够在两个不同的时钟源之间切换,并将选定的时钟信号传递到输出。图2-13展示了BUFGMUX_CTRL和BUFGCTRL之间的关系。
Xilinx 7系列FPGA全局时钟缓冲器基本单元,Xilinx 7 系列 学习,fpga开发
BUFGMUX_CTRL的设计基于BUFGCTRL,并通过一些引脚连接到逻辑高电平或低电平来实现其功能。这种设计使得BUFGMUX_CTRL能够利用BUFGCTRL的灵活性和性能优势,同时增加了额外的控制选项,以满足更复杂的时钟管理需求。

BUFGMUX_CTRL使用S引脚作为选择引脚。S可以在任何时候进行切换,而不会导致毛刺(glitch)的产生。S引脚的建立时间(Setup time)和保持时间(Hold time)用于确定在切换到新时钟之前,输出是否会传递之前所选时钟的额外脉冲。

6. 其他模型

① 使用BUFGCTRL的异步MUX

在某些情况下,应用程序需要立即在时钟输入之间切换,或者绕过BUFGCTRL的边沿敏感性。一个例子是当其中一个时钟输入不再切换时。如果发生这种情况,时钟输出将不会具有正确的切换条件,因为BUFGCTRL从未检测到时钟边沿。在这种情况下,需要使用异步MUX。图2-15展示了使用BUFGCTRL的异步MUX设计示例。Xilinx 7系列FPGA全局时钟缓冲器基本单元,Xilinx 7 系列 学习,fpga开发

异步MUX允许在不考虑时钟边沿的情况下进行时钟信号的切换。它不受BUFGCTRL的边沿检测机制的限制,因此即使某个时钟输入停止切换,也能实现快速的时钟源切换。

在设计异步MUX时,需要特别注意确保切换过程不会导致时钟信号的失真或毛刺。这通常涉及到对S引脚(选择引脚)的精确控制,以确保在切换过程中时钟信号的稳定性和连续性。

② 带有时钟使能的BUFGMUX_CTRL

带有时钟使能的BUFGMUX_CTRL和BUFGCTRL配置允许在选择输入时钟信号之间进行切换。如果需要,可以使用时钟使能来禁用输出。图2-17展示了BUFGCTRL的使用设计示例。
Xilinx 7系列FPGA全局时钟缓冲器基本单元,Xilinx 7 系列 学习,fpga开发
在这种配置中,BUFGMUX_CTRL用作多路复用器,它根据S引脚(选择引脚)的状态选择并传递一个输入时钟信号到输出。同时,BUFGCTRL提供时钟使能功能,通过控制CE引脚(时钟使能引脚)的状态来启用或禁用BUFGMUX_CTRL的输出。

当时钟使能被禁用(CE引脚为低电平)时,无论BUFGMUX_CTRL如何选择时钟输入,其输出都将被禁止,即输出时钟信号将被停止。这提供了一种灵活的方式来控制时钟信号的传播,以适应不同的系统需求和工作模式。文章来源地址https://www.toymoban.com/news/detail-856635.html

到了这里,关于Xilinx 7系列FPGA全局时钟缓冲器基本单元的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Xilinx 7系列FPGA局部时钟资源

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

    2024年04月29日
    浏览(58)
  • Xilinx 7系列FPGA的时钟管理

    在7系列FPGA中,时钟管理单元(CMT)包含了混合模式时钟管理器(MMCM)和锁相环(PLL)。PLL是包含了MMCM功能的一个子集。CMT骨干网可用于链接CMT的时钟功能。CMT图(图3-1)展示了各种时钟输入源与MMCM/PLL之间连接的高级视图,时钟输入连接允许多个资源为MMCM/PLL提供参考时钟

    2024年04月26日
    浏览(41)
  • 【惊喜揭秘】xilinx 7系列FPGA时钟区域内部结构大揭秘,让你轻松掌握!

      本文对xilinx 7系列FPGA的时钟布线资源进行讲解,内容是对ug472手册的解读和总结,需要该手册的可以直接在xilinx官网获取,或者在公众号回复“ xilinx手册 ”即可获取。   7系列器件根据芯片大小不同,会有8至24个时钟区域,如图1所示,图中的每个虚线框就表示一个时钟

    2024年02月03日
    浏览(67)
  • FPGA学习_Xilinx7系列FPGA基本结构

    参考:https://xilinx.eetrend.com/content/2019/100042384.html xilinx7系列FPGA主要包括:Spartan®-7、Artix®-7、Kintex®-7、Virtex®-7。其性能/密度/价格也随着系列的不同而提升。 Spartan7 系列拥有最低的价格、最低的功耗、最小的尺寸以及最低的设计难度,一些低端应用中极为合适。 Artix7 系列相

    2024年04月09日
    浏览(93)
  • FPGA时钟资源与设计方法——Xilinx(Vivado)

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

    2024年02月22日
    浏览(55)
  • 【Xilinx FPGA】DDR3 MIG 时钟管脚分配

    之前在验证 FPGA 板卡的芯片管脚时,所用的测试工程使用内部 PLL 生成的时钟作为 DDR3 的参考时钟。后来尝试将参考时钟改为外部 100M 晶振时钟,发现 MIG IP 配置工具找不到相应管脚,于是学习并梳理了 Xilinx DDR3 MIG IP 时钟管脚的分配规则,在这里做个记录。   目录 1 MIG 时钟

    2024年02月06日
    浏览(48)
  • FPGA时钟资源详解(3)——全局时钟资源

     FPGA时钟系列文章总览: FPGA原理与结构(14)——时钟资源 https://ztzhang.blog.csdn.net/article/details/132307564         全局时钟是 FPGA 中的一种专用互连网络,旨在将时钟信号分配到 FPGA 内各种资源的时钟输入处。这种设计考虑了时钟信号在整个芯片上的传播,确保了低偏斜(

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

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

    2023年04月09日
    浏览(46)
  • xilinx zynq7000系列 sdio时钟超频详解

    zynq7000的时钟系统很简单,首先是PS_CLK输入时钟,这是外部33.33333Mhz晶振时钟,直接输入到三路PLL(锁相环),分别是 ARM PLL、I/O PLL、DDR PLL;ARM PLL给 CPU核心、SCU(用来管理多核通信)、OCM、AXI总线提供时钟;I/O PLL给各类外设包括SDIO、USB、Ethernet等提供时钟;DDR PLL仅用来给DDR2/3提供

    2023年04月08日
    浏览(44)
  • Xilinx 7系列 FPGA硬件知识系列(八)——Xilinx FPGA的复位

    目录  概要  Xilinx复位准则 全局复位主要由以下三种方式实现 高时钟频率下的复位时序全局复位对时序的要求真的很关键吗? 独热码状态机的复位        FPGA配置 Xilinx白皮书WP272《Get Smart About Reset: Think Local, Not Global》详细讲述了FPGA的全局复位。在数字系统设计中,我们

    2024年03月11日
    浏览(76)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包