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
    +关注

    关注

    1629

    文章

    21735

    浏览量

    603139
  • 锁相环
    +关注

    关注

    35

    文章

    584

    浏览量

    87751
  • Xilinx
    +关注

    关注

    71

    文章

    2167

    浏览量

    121353
  • pll
    pll
    +关注

    关注

    6

    文章

    776

    浏览量

    135146
  • 时钟
    +关注

    关注

    10

    文章

    1733

    浏览量

    131469
收藏 人收藏

    评论

    相关推荐

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

    上文XILINX FPGA IP之Clocking Wizard详解说到时钟IP的支持动态重配的,本节介绍通过DRP进行MMCM PLL的重新配置。
    发表于 06-12 18:24 1.1w次阅读
    <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主要有全局时钟、区域时钟、时钟管理块(CMT)。 通过以上时钟资源的结合,Xil
    发表于 08-31 10:44 2622次阅读
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>7</b><b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>的时钟结构解析

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

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

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

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

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

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

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

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

    Xilinx 7系列FPGA介绍

    Xilinx 7系列FPGA概览 文章目录 Xilinx 7
    的头像 发表于 11-13 18:03 1.5w次阅读

    Xilinx 7系列FPGA可配置逻辑块的用户指南

    Xilinx7系列FPGA包括四个FPGA系列,它们都是为最低功耗而设计的,以使一个通用设计能够跨系列
    发表于 12-09 14:49 6次下载
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>7</b><b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>可配置逻辑块的用户指南

    Xilinx 7系列FPGA时钟资源

    Xilinx7系列FPGA包括四个FPGA系列,它们都是为最低功耗而设计的,以使一个通用设计能够跨系列
    发表于 12-10 14:20 18次下载
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>7</b><b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>时钟资源

    Xilinx7系列FPGA选择资源用户指南

    Xilinx7系列FPGA包括四个FPGA系列,它们都是为最低功耗而设计的,以使一个通用设计能够跨系列
    发表于 12-10 15:27 24次下载
    <b class='flag-5'>Xilinx7</b><b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>选择资源用户指南

    Xilinx 7 系列FPGA的Serdes总结

    本文档的主要内容详细介绍的是Xilinx 7 系列FPGA的Serdes总结。
    发表于 12-31 17:30 25次下载

    Xilinx 7系列FPGA简介--选型参考

    Xilinx-7系列FPGA主要包括:Spartan®-7、Artix®-7、Kintex®-7
    发表于 01-30 06:00 17次下载
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>7</b><b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>简介--选型参考

    Xilinx 7系列与Ultrascale系列FPGA区别

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

    简述Xilinx 7系列FPGA芯片相关知识

    Xilinx 7系列 芯片 应用非常广泛,具有成本低、性能强悍、成熟稳定的特点,目前Xilinx( AMD )已延长该系列芯片的生命周期至少
    的头像 发表于 11-28 10:20 1148次阅读
    简述<b class='flag-5'>Xilinx</b> <b class='flag-5'>7</b><b class='flag-5'>系列</b><b class='flag-5'>FPGA</b>芯片相关知识

    Xilinx 7系列FPGA PCIe Gen3的应用接口及特性

    Xilinx7系列FPGA集成了新一代PCI Express集成块,支持8.0Gb/s数据速率的PCI Express 3.0。本文介绍了7系列
    的头像 发表于 11-05 15:45 772次阅读
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>7</b><b class='flag-5'>系列</b><b class='flag-5'>FPGA</b> PCIe Gen3的应用接口及特性