Xilinx 7系列FPGA的时钟管理

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

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

1.MMCMs和PLLs介绍

每个7系列FPGA最多支持24个时钟管理单元(CMT),而每个CMT都包含一个混合模式时钟管理器(MMCM)和一个锁相环(PLL)。
MMCMs和PLLs的主要功能包括频率综合、抖动滤波以及时钟去斜。它们能够处理广泛的频率范围,无论是作为外部还是内部时钟的抖动滤波器都能起到作用。具体来说,MMCM的功能更为强大,其时钟输出和分频能力均大于PLL。PLL则可以看作是MMCM功能的一个子集。
MMCM支持的其他功能有:
• 直接通过CLKOUT[0:3]将HPC连接到BUFR或BUFIO
• 提供反向时钟输出(CLKOUT[0:3]B)
• 提供CLKOUT6
• 提供CLKOUT4_CASCADE
• 提供CLKOUT0_DIVIDE_F的分数分频
• 提供CLKFBOUT_MULT_F的分数倍频
• 提供精细相位调整
• 提供动态相位调整
输入多路复用器可以从IBUFG、BUFG、BUFR、BUFH、GTs(仅CLKIN)中选择参考和反馈时钟。每个时钟输入都有一个可编程计数器分频器(D)。输入多路复用器从IBUFG、BUFG、BUFR、BUFH、GTs(仅CLKIN)中选择参考时钟和反馈时钟。每个时钟输入都有一个可编程的计数器分频器(D)。相位频率检测器(PFD)比较输入(参考)时钟和反馈时钟上升边缘的相位和频率。如果维持了最小的高/低脉冲,占空比就是次要的。
PFD用于生成一个与两个时钟之间的相位和频率成比例的信号。这个信号驱动电荷泵(CP)和环路滤波器(LF)来生成一个参考电压到压控振荡器(VCO)。PFD向电荷泵和环路滤波器产生一个上升或下降信号,以确定VCO应该工作在更高的频率还是更低的频率。当VCO工作在过高的频率时,PFD会激活一个下降信号,导致控制电压降低,从而降低VCO的工作频率。当VCO工作在过低的频率时,一个上升信号将增加电压。
VCO产生八个输出相位和一个可变相位用于精细相位调整。每个输出相位都可以被选择作为输出计数器的参考时钟(如图3-2和图3-3所示)。每个计数器都可以根据特定的客户设计进行独立编程。此外,还提供了一个特殊的计数器M。这个计数器控制MMCM和PLL的反馈时钟,允许进行广泛的频率合成。
除了整数分频输出计数器外,MMCMs还为CLKOUT0和CLKFBOUT添加了一个分数计数器。这增加了频率合成的灵活性,使得MMCM能够生成非整数的输出频率,从而满足更广泛的应用需求。
Xilinx 7系列FPGA的时钟管理,Xilinx 7 系列 学习,fpga开发
Xilinx 7系列FPGA的时钟管理,Xilinx 7 系列 学习,fpga开发
每个计数器都可以针对特定的客户设计进行独立编程。
此外,还提供了一个特殊的计数器M。这个计数器用于控制MMCM和PLL的反馈时钟,从而允许进行广泛的频率合成。
除了整数分频输出计数器外,MMCMs还为CLKOUT0和CLKFBOUT增加了一个分数计数器。分数计数器提供了更精细的频率控制,使得MMCMs能够生成非整数倍或分频的时钟信号,从而进一步扩展了可用的频率范围。这种灵活性使得MMCMs在需要精确控制时钟频率的应用中特别有用。通过适当编程,分数计数器可以实现高精度的频率调整,满足复杂系统中的时序要求。

2、MMCM 和 PLL 原语的应用

7系列FPGA的MMCM的原语有两种,分别是MMCME2_BASE和MMCME2_ADV。PLL原语也有两种,分别为PLLE2_BASE和PLLE2_ADV。

2.1 MMCME2_BASE

MMCME2_BASE是基本的混合模式时钟管理器,它提供了基本的时钟管理功能,如分频、倍频和相位调整等。它适用于大多数常见的时钟管理需求,并且相对简单易用。端口列在表3-1中。
Xilinx 7系列FPGA的时钟管理,Xilinx 7 系列 学习,fpga开发
使用MMCME2_BASE,可以轻松地实现基本的时钟管理需求。通过配置相应的端口和参数,可以实现输入时钟的相位锁定、频率转换以及占空比调整等功能。这使得MMCME2_BASE成为在FPGA设计中实现稳定可靠时钟信号的常用选择。

2.2 PLLE2_BASE

PLLE2_BASE原语提供了对独立PLL最常用功能的访问。它支持时钟去斜、频率合成、粗相位调整和占空比编程等功能。使用PLLE2_BASE,可以方便地实现基本的时钟同步和频率管理需求。通过配置相应的端口和参数,PLLE2_BASE能够实现输入时钟的相位锁定,从而生成稳定且准确的时钟信号。端口列在表3-2中,这些端口用于连接输入参考时钟、配置PLL的参数、以及输出生成的时钟信号等。通过合理地连接和配置这些端口,可以精确地控制PLL的行为,实现所需的时钟同步和频率转换功能。
Xilinx 7系列FPGA的时钟管理,Xilinx 7 系列 学习,fpga开发
需要注意的是,虽然PLLE2_BASE提供了基本的时钟管理功能,但在某些复杂的应用场景中,可能还需要使用更高级的原语或功能来满足特定的需求。例如,对于需要更高精度相位调整或更复杂时钟分配的应用,可以考虑使用更高级的PLL原语或结合其他时钟管理单元来实现。

2.3 MMCME2_ADV

MMCME2_ADV原语不仅提供了MMCME2_BASE的所有功能,还增加了时钟切换、动态重配置端口(DRP)访问以及动态精细相位调整等额外端口。这使得MMCME2_ADV在时钟管理方面更加灵活和强大。
Xilinx 7系列FPGA的时钟管理,Xilinx 7 系列 学习,fpga开发
通过时钟切换端口,MMCME2_ADV可以在多个时钟源之间进行选择,从而适应不同的应用场景和时序需求。这种灵活性使得设计师能够在FPGA设计中实现复杂的时钟分配和切换逻辑。
动态重配置端口(DRP)为MMCME2_ADV提供了在线配置的能力。通过DRP,设计师可以在系统运行过程中动态地改变MMCM的配置参数,从而实现时钟管理的实时调整和优化。这对于需要快速响应系统变化或进行时钟故障恢复的应用场景非常有用。

2.4 PLLE2_ADV

PLLE2_ADV是高级型的锁相环,PLLE2_ADV原语不仅提供了PLLE2_BASE的所有功能,还增加了时钟切换端口以及动态重配置端口(DRP)的访问功能。这使得PLLE2_ADV在时钟管理和配置方面具有更高的灵活性和可定制性。PLLE2_ADV的端口列在表3-4中。
Xilinx 7系列FPGA的时钟管理,Xilinx 7 系列 学习,fpga开发
通过时钟切换端口,PLLE2_ADV能够支持多个时钟源的选择,允许设计师在FPGA设计中根据应用需求灵活地切换不同的时钟源。这对于处理多种工作模式或动态调整时钟频率的场景非常有用。
动态重配置端口(DRP)的引入为PLLE2_ADV提供了在线配置的能力。通过DRP,设计师可以在系统运行过程中实时地修改PLL的配置参数,而无需重新加载整个设计。这种动态配置的能力使得PLLE2_ADV能够更好地适应系统变化,实现更高效的时钟管理。
7系列FPGA的MMCM和PLL是混合信号模块,旨在支持时钟网络去斜、频率合成和抖动减少。
压控振荡器(VCO)的工作频率可以通过以下关系确定:
Xilinx 7系列FPGA的时钟管理,Xilinx 7 系列 学习,fpga开发
其中M、D和O计数器如图3-2所示。M的值对应于CLKFBOUT_MULT_F设置,D的值对应于DIVCLK_DIVIDE,而O的值对应于CLKOUT_DIVIDE。
七个“O”计数器可以独立编程。例如,O0可以被编程为进行二分频,而O1被编程为三分频。唯一的限制是,由于单个VCO驱动所有计数器,因此所有输出计数器的VCO工作频率必须相同。
在实际应用中,根据设计需求,设计师可以通过配置MMCM和PLL的相应参数,来精确控制时钟信号的频率和相位。通过使用这些混合信号块,FPGA系统能够实现高性能、低抖动的时钟网络,确保数据在系统中正确、可靠地传输。此外,独立编程的O计数器为设计师提供了灵活性,可以根据不同的输出需求进行定制。

3、时钟网络去斜

在许多情况下,设计师不希望将时钟网络的延迟计入其I/O时序预算中,因此他们使用MMCM/PLL来补偿时钟网络的延迟。7系列FPGA支持这一特性。一个与参考时钟CLKIN频率相匹配的时钟输出(始终是CLKFBOUT)被连接到FPGA同一半部分的BUFG,并反馈回MMCM/PLL的CLKFBIN反馈引脚。其余的输出仍可用于将时钟分频以生成额外的合成频率。
在这种情况下,所有输出时钟与输入参考时钟之间都有明确的相位关系。MMCM或PLL的CLKOUT0至CLKOUT3可以用于级联到其他MMCMs/PLLs。然而,级联的MMCMs/PLLs之间的输出时钟存在相位偏移。

4、仅使用整数分频的频率合成

MMCMs和PLLs也可以用于独立的频率合成。在这种模式下,MMCM/PLL的反馈路径是内部的,这使得所有路由保持局部化,从而最小化了抖动。

5、分频频率合成

7系列FPGA在CLKOUT0输出路径上支持分数(非整数)分频。分数分频的分辨率为1/8或0.125,这实际上将可合成的频率数量增加了八倍。例如,如果CLKIN频率为100 MHz,并且M分频值设置为8,那么VCO频率为800 MHz。CLKOUT0可以进一步用于将800 MHz的VCO频率进行分数分频(例如,CLKOUT0_DIVIDE = 2.5,从而产生320 MHz的输出频率)。
当使用分数分频器时,用于分数模式的输出的占空比是不可编程的。

6、抖动滤波器

MMCMs和PLLs可以减少参考时钟固有的抖动。MMCM和PLL可以作为独立功能实例化,以支持在将外部时钟驱动到另一个块之前过滤其抖动。作为抖动滤波器,通常假定MMCM和PLL将作为缓冲器,并在输出上再生输入频率(例如,FIN = 100 MHz,FOUT = 100 MHz)。一般来说,通过将MMCM的BANDWIDTH属性设置为Low,可以实现更好的抖动滤波。将BANDWIDTH设置为Low可能会导致MMCM的静态偏移量增加。

7、动态相位偏移接口

MMCME2_ADV基本元件提供了三个输入和一个输出,用于动态精细相位偏移。每个CLKOUT和CLKFBOUT分频器都可以单独选择进行相位偏移。属性CLKOUT[0:6]_USE_FINE_PS和CLKFBOUT_USE_FINE_PS用于选择要进行动态相位偏移的输出时钟。所选的所有输出时钟将具有共同的动态相位偏移量。文章来源地址https://www.toymoban.com/news/detail-858405.html

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

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

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

相关文章

  • 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日
    浏览(87)
  • Vivado | FPGA开发工具(Xilinx系列芯片)

    官网下载地址 最详细的Vivado安装教程 Vivado的安装以及使用_入门

    2024年02月12日
    浏览(58)
  • Xilinx Alveo系列FPGA加速卡软件开发入门

    随着异构计算越来越火,FPGA加速卡在诸多领域的应用也越来越多。 FPGA加速卡与GPU加速卡加速原理完全不同。 GPU本质上是依靠海量的并行运算单元,提升整体的吞吐量,来吃尽内存带宽。 FPGA是通用的门阵列,按照数据结构和运算特点搭建专用运算单元,能够以更低功耗和时

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

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

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

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

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

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

    2023年04月09日
    浏览(44)
  • vivado中的FPGA时钟管理单元PLL学习记录

    FPGA中时钟管理模块(CMT)包括PLL和MMCM,用于将时钟倍频(比如输入时钟25M,我们要产生50M时钟)、分频(在不影响系统功能的前提下,较低的工作时钟,能够降低系统功耗)、改变相位偏移或占空比等。 当需要上板时,由于板上晶振时钟固定,所以其他频率的时钟产生就要用到

    2024年01月16日
    浏览(47)
  • Xilinx 7系列 FPGA硬件知识系列(八)——Xilinx FPGA的复位

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

    2024年03月11日
    浏览(72)
  • Xilinx 7系列 FPGA硬件知识系列(九)——FPGA的配置

    目录 1 .1配置模式 1.1.1  主模式 1.1.2  从模式 1.2  7种配置模式 1.2.1  主串配置模式 1.2.2  从串配置模式 ​编辑1.2.3  主并配置模式 1.2.4  从并配置模式 1.2.5  JTAG配置模式 ​编辑1.2.6  主SPI配置模式 ​编辑1.2.7  主BPI配置模式 1.2.8  FPGA BPI加载时间(参考xapp587) 2、BPI

    2024年03月13日
    浏览(67)
  • xilinx 7系列fpga上电配置

    Xilinx FPGA通过加载比特流到内部存储单元来进行配置。 Xilinx FPGA存在两种数据配置路径,一种是满足最小引脚需求的串行路径,一种是可用8位、16位或32位来连接到行业的高性能通用接口,如处理器,8位或者16位并行的闪存。与处理器和处理器外围设备一样, FPGA可以在系统中

    2024年04月14日
    浏览(71)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包