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

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

3天内不再提示

Xilinx 7系列FPGA中MMCM和PLL的区别

CHANBAEK 来源:硬件王国 作者:小山哥 2023-11-17 17:08 次阅读

导读:

7系列FPGA包含最多24个CMT块,CMT具体的分布和与其他时钟资源的关系请参考本合集(FPGA应用开发)的上一篇文章。本文主要介绍CMT内部MMCM和PLL的区别以及在实际开发中怎么使用CMT,怎么实现跨时钟区域,第一次读者最好先阅读上一篇文章——解剖时钟结构篇。

MMCM和PLL的区别

在xilinx 7系列FPGA中,时钟管理块(CMT)包括混合模式时钟管理器(MMCM)和锁相环(PLL)。MMCM和PLL可用于广泛范围频率的频率合成器,用作外部或内部时钟的抖动滤波器,并用于去斜时钟。

下图显示了各种时钟输入源与MMCM/PLL之间连接的高层次视图。在7系列FPGA中,时钟输入允许多个资源(如红框所示)提供参考时钟给MMCM/PLL。

图片

PLL与MMCM的区别:

在CMT中,PLL是MMCM功能的一个子集。PLL主要用于频率合成,但不支持MMCM的一些高级功能,如直接连接到HPC(高性能时钟)或BUFIO(缓冲器输入输出)等。MMCM是7系列FPGA中用于时钟管理的核心。简单来说PLL适用于较简单的时钟管理需求,而MMCM提供了更多高级功能,适用于更复杂的时钟管理场景。其中MMCM支持的附加功能主要包括:

  • 使用CLKOUT[0:3]直接连接到HPC或BUFR或BUFIO。
  • 反相时钟输出(CLKOUT[0:3]B),即支持差分输出。
  • CLKOUT6(相比PLL多一路输出)。
  • CLKOUT4_CASCADE(级联输出,允许将一个 MMCM 的输出连接到另一个 MMCM 的输入)。
  • CLKOUT0_DIVIDE_F的分数分频(用于进行时钟频率合成时的分数分频,非整数倍时钟频率的设计有用)
  • CLKFBOUT_MULT_F的分数倍频(用于进行时钟频率合成时的倍频设置)
  • 微调相移
  • 动态相移
    PLL和MMCM内部结构就不再这里详述了,大家知道怎么用就足够了,感兴趣的读者可以参考xilinx原文档。

Clock IP和原语

怎么使用CMT?工程中可以选择IP即预设计的时钟管理模块,也可以选择原语硬件描述语言(如VHDL或Verilog)中的代码自定义时钟管理。

选用IP使用简单,有图形用户界面(GUI),可以通过可视化的方式配置参数,如下图所示。

选用原语,自定义代码可以更好地控制硬件资源的利用,减小资源占用。对于经验较丰富的开发者,使用原语可能更为灵活;而对于初学者,使用IP更容易上手。

图片

Clock IP:可选择MMCM还是PLL

图片

图片

MMCM和PLL 原语

注:

MMCME2_BASE原语提供了对独立MMCM的最常用功能的访问。时钟去斜、频率合成、粗略相移和占空比编程都可以与MMCME2_BASE一起使用。MMCME2_ADV原语提供对所有MMCME2_BASE功能的访问,以及用于时钟切换、访问动态重配置端口(DRP)以及动态精细相移的额外端口。PLL类似,不再细述。

实际用例

xilinx原文档有描述,在不使用其他原语的情况下,进入器件的时钟信号(通过CCIO引脚)只能驱动同一时钟区域内的BUFR或BUFIO。如果要驱动其他时钟区域的逻辑则必须使用BUFMR原语,BUFMR原语是一种多区域时钟缓冲器,允许输入访问进入器件的时钟信号所在时钟区域上方和下方的BUFR和BUFIO。BUFMR可以跨越多个时钟区域。每个时钟区域中有两个BUFMR。

然而,在某些情况下,我们可以通过经过MMCM和BUFG等元素来实现跨时钟区域的时钟分配。BUFMR主要用于驱动多个时钟区域的一种特定情况,这是一种确保最小时钟偏移和时钟抖动的方法。因为它专为跨时钟区域提供时钟信号设计。

case1:使用BUFMR跨时钟区域

图片

外部时钟从MRCC引脚(注:通过BUFMR跨多个时钟区域时,只能从MRCC引脚,SRCC引脚为单时钟区域,不过也可以使用GT时钟)送至BUFMR原语,然后BUFMR被多个BUFR或BUFIO驱动的逻辑分组为(最多三个)子集,每个子集都有一个独立的BUFR或BUFIO。使用Vivado设计工具对设计进行布局和约束,以便将逻辑分配给各个BUFR和BUFIO。

case2:使用BUFG和MMCM跨时钟区域

图片

外部时钟从CCIO引脚(MRCC或SRCC)送至BUFG(单端时钟)或IBUFGDS(差分时钟),经过MMCM合成消抖后再连至BUFG,此时BUFG输出时钟则是全局时钟,实现了跨时钟区域的时钟分配。

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

    关注

    1602

    文章

    21323

    浏览量

    593213
  • 锁相环
    +关注

    关注

    35

    文章

    551

    浏览量

    87248
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119374
  • pll
    pll
    +关注

    关注

    6

    文章

    740

    浏览量

    134576
  • 时钟
    +关注

    关注

    10

    文章

    1479

    浏览量

    130306
收藏 人收藏

    评论

    相关推荐

    XILINX FPGA IP之MMCM PLL DRP时钟动态重配详解

    上文XILINX FPGA IP之Clocking Wizard详解说到时钟IP的支持动态重配的,本节介绍通过DRP进行MMCM PLL的重新配置。
    发表于 06-12 18:24 6408次阅读
    <b class='flag-5'>XILINX</b> <b class='flag-5'>FPGA</b> IP之<b class='flag-5'>MMCM</b> <b class='flag-5'>PLL</b> DRP时钟动态重配详解

    xilinx公司的7系列FPGA应用指南

    xilinx公司的7系列FPGA应用指南
    发表于 08-14 12:17

    赛灵思(XILINX)全新7系列FPGA详述

    赛灵思(XILINX)全新7系列FPGA详述
    发表于 08-14 12:20

    arm7pllfosc和Fosc有什么区别

    arm7pllfosc和Fosc有什么区别
    发表于 05-31 14:56

    Xilinx FPGA入门之PLL实例的基本配置

    Xilinx FPGA入门连载24:PLL实例之基本配置 1 工程移植可以复制上一个实例sp6ex7的整个工程文件夹,更名为sp6ex8。然后在ISE
    发表于 01-21 21:33

    请问如何设置动态和实时改变Artix FPGAMMCM时钟的相移?

    嗨, 我想使用MMCM时钟生成模块来实时和动态地改变Artix FPGA的相移。但我见过Xilinx UG472&amp; PG065用户指南和时钟设置手册。我使用PSCLK,PSE
    发表于 08-11 10:33

    7系列FPGAMMCMPLL之间是否有专用的CMT路由?

    系列FPGAMMCMPLL之间是否有专用的CMT路由? 我做了两个实验。 在第一个实验
    发表于 08-21 09:16

    可以用MMCM替换PLL,然后获得适合驱动这个ISERDES代码的差分时钟输出吗?

    不是FPGA输出引脚。更具体地说,我正在使用一些Xilinx示例代码来执行ISERDES。此代码需要来自FPGA输入引脚的差分时钟。但是,我没有正确的频率进入引脚,必须使用PLL来产生
    发表于 08-21 08:24

    【正点原子FPGA连载】第十一章IP核之MMCM/PLL实验-领航者ZYNQ之FPGA开发指南

    时钟倍频、分频、相位偏移和可编程占空比的功能。Xilinx 7系列器件的时钟资源包含了时钟管理单元CMT,每个CMT由一个MMCM和一个
    发表于 09-22 16:48

    Xilinx-7系列FPGA主要包括哪些

    Xilinx 7系列FPGA简介--选型参考
    发表于 02-01 06:10

    Xilinx 7系列FPGA管脚是如何定义的?

    引言: 我们在进行FPGA原理图和PCB设计时,都会涉及到FPGA芯片管脚定义和封装相关信息,本文就Xilinx 7系列
    发表于 05-28 09:23

    Xilinx 7系列FPGA芯片管脚定义与封装

    引言: 我们在进行FPGA原理图和PCB设计时,都会涉及到FPGA芯片管脚定义和封装相关信息,本文就Xilinx 7系列
    发表于 07-08 08:00

    xilinx公司的7系列FPGA应用指南

    本文是关于 xilinx公司的7系列FPGA应用指南。xilinx公司的7系列FPGA包括3个子
    发表于 08-07 17:22 201次下载
    <b class='flag-5'>xilinx</b>公司的7<b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>应用指南

    Xilinx 7系列与Ultrascale系列FPGA区别

    Xilinx是一家专业的可编程逻辑器件(PLD)厂商,其产品包括FPGA、CPLD、SOC等。XilinxFPGA产品线有多个系列,其中7
    发表于 09-15 14:44 2179次阅读
    <b class='flag-5'>Xilinx</b> 7<b class='flag-5'>系列</b>与Ultrascale<b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>的<b class='flag-5'>区别</b>

    Xilinx fpga芯片系列有哪些

    Xilinx FPGA芯片拥有多个系列和型号,以满足不同应用领域的需求。以下是一些主要的Xilinx FPGA芯片
    的头像 发表于 03-14 16:24 771次阅读