FPGA原理与结构——时钟IP核原理学习

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

系列文章目录:FPGA原理与结构(0)——目录与传送门

一、前言

        在之前的文章中,我们介绍了FPGA的时钟结构

FPGA原理与结构——时钟资源https://blog.csdn.net/apple_53311083/article/details/132307564?spm=1001.2014.3001.5502        在本文中我们将学习xilinx系列的FPGA所提供的时钟IP核,来帮助我们进一步理解时钟的原理,从而快速实现我们的设计需求。

二、时钟IP核

1、简介

        我们本次讨论的对象是Xilinx的 Clocking Wizard v6.0 IP核 。时钟向导(Clocking Wizard)帮助我们实现自己需要的输出时钟频率,相位和占空比,它是通过一个混合模式的时钟管理器(MMCM)(E2/E3/E4)或锁相环路(PLL)(E2/E3/E4)原语来实现的。它还有助于验证仿真中输出产生的时钟频率,提供了一个可在硬件上进行测试的可合成的实例设计。它还支持扩频特性,这有助于减少电磁干扰。图2-1显示了时钟向导的方框图:

FPGA原理与结构——时钟IP核原理学习,FPGA原理与结构,fpga开发,fpga,硬件架构,时钟资源,CMT,PLL和MMCM

2、性能

(1)最大频率:不同的器件之间有所不同,具体的请查阅手册

(2)功率:最小化功率特性最小化原件所需的功率,但可能会牺牲频率、相位偏移或占空比精度。

(3)输出:可以最多提供7个不同的时钟输出。

3、IP核结构

        时钟向导会生成源代码HDL,以实现时钟网络。生成的时钟网络通常包括一个时钟原语(MMCM(E2/E3)_ADV或PLL(E2/E3)_ADV)和一些附加电路,其中通常包括缓冲器和时钟引脚。网络分为分段,如图3-12所示。下面的部分将描述这些部分的详细信息。

FPGA原理与结构——时钟IP核原理学习,FPGA原理与结构,fpga开发,fpga,硬件架构,时钟资源,CMT,PLL和MMCM

三、MMCM和PLL

        在简单介绍了时钟这个IP核后,我们开始今天的重点,在之前的内容中,我们一直提到时钟IP核是通过例化MMCM和PLL这两个原语来实现的,这究竟是什么,其工作原理是怎么样的,接下来我们来一探究竟。

1、FPGA的时钟资源

        在之前的文章中,我们有介绍过7系列的FPGA中,每个时钟区域对应一个CMT(clock management tile),CMT由一个MMCM(mixed-mode clock manager)和一个PLL(phase-locked loop)组成。
  PLL的英文全称为Phase-Locked Loop,即锁相环,是一种控制反馈电路。PLL对时钟网络进行系统级别的时钟管理和偏移控制,具有时钟倍频、分频、相位偏移和可编程占空比的功能。锁相环作为一种反馈控制电路,其特点是利用外部输入的参考信号控制环路内部震荡信号的频率和相位。因为锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。

  MMCM是混合模式时钟管理器,相当于能够进行精准相移的PLL。(PLL为模拟电路,动态调相位数字电路)。7系列fpga中的PLL是MMCM功能的一个子集,它基于MMCM,而不一定基于以前的PLL设计。
  总结:MMCM相对PLL的优势就是相位可动态调整,但PLL占用的面积更小
  MMCM/PLL的参考时钟输入可以是IBUFG(CC)即具有时钟能力的IO输入、区域时钟BUFR、全局时钟BUFG、GT收发器输出时钟、行时钟BUFH以及本地布线(不推荐使用本地布线来驱动时钟资源)。绝大多数情况下,MMCM/PLL的参考时钟输入为IBUFG(CC)即具有时钟输入能力的IO输入。

FPGA原理与结构——时钟IP核原理学习,FPGA原理与结构,fpga开发,fpga,硬件架构,时钟资源,CMT,PLL和MMCM

        所以我们进行一个简单的总结,在FPGA中,PLL和MMCM是时钟管理单元CMT的组成部分,其主要功能可以概括到以下三点:(1)作为一个频率范围很广的频率合成器;(2)可作为外部或内部时钟的抖动滤波器;(3)去时钟倾斜

2、结构对比

        输入多路复用器从IBUFG、BUFG、BUFR、BUFH、GTs(仅限CLKIN)或互连(不推荐)中选择参考和反馈时钟。每个时钟输入都有一个可编程的计数器分频器(D)每个时钟输入都有一个可编程的计数器分频器(D)。

        下面给出了MMCM和PLL的具体结构分析:

FPGA原理与结构——时钟IP核原理学习,FPGA原理与结构,fpga开发,fpga,硬件架构,时钟资源,CMT,PLL和MMCM

FPGA原理与结构——时钟IP核原理学习,FPGA原理与结构,fpga开发,fpga,硬件架构,时钟资源,CMT,PLL和MMCM

        其中 MMCM 的功能是 PLL 的超集,其具有比 PLL 更强大的相移功能。MMCM 主要用于驱动器件逻辑(CLB、DSP、RAM 等)的时钟。PLL 主要用于为内存接口生成所需的时钟信号,但也具有与器件逻辑的连接,因此如果需要额外的功能,它们可以用作额外的时钟资源。
         PLL 由以下几部分组成:前置分频计数器(D 计数器)、相位-频率检测器(PFD,Phase-Frequency Detector)电路,电荷泵(Charge Pump)、环路滤波器(Loop Filter)、压控振荡器(VCO,Voltage Controlled Oscillator)、反馈乘法器计数器(M 计数器)和后置分频计数器(O1-O6 计数器)。PFD用于产生与两个时钟之间的相位和频率成比例的信号。该信号驱动电荷泵(CP)和回路滤波器(LF)产生一个基于VCO的参考电压。PFD向电荷泵和循环滤波器产生上或向下信号,以确定VCO应以更高或更低的频率工作。当VCO工作频率过高时,PFD激活一个下降信号,导致控制电压降低,降低VCO工作频率。当VCO在过低的频率下工作时,一个上升信号将增加电压。VCO产生8个输出相位和1个可变相位,用于精细相位转移。
        在工作时,PFD 检测其参考频率(FREF)和反馈信号(Feedback)之间的相位差和频率差,控制电荷泵和环路滤波器将相位差转换为控制电压;VCO 根据不同的控制电压产生不同的震荡频率,从而影响Feedback 信号的相位和频率。在 FREF和 Feedback 信号具有相同的相位和频率之后,就认为 PLL 处于锁相的状态。在反馈路径中插入 M 计数器会使 VCO 的震荡频率是 FREF信号频率的 M 倍,FREF信号等于输入时钟(FIN)除以预缩放计数器(D)。参考频率用以下方程描述:FREF= FIN/D,VCO 输出频率为 FVCO=FIN*M/D,PLL 的输出频率为 FOUT=(FIN*M)/(N*O)。
        除了整数除法输出计数器外,MMCM还为CLKOUT0和CLKFBOUT添加了一个分数计数器。
        Xilinx 提供了用于实现时钟功能的 IP 核 Clocking Wizard,该 IP 核能够根据用户的时钟需求自动配置器件内部的 CMT 及时钟资源,以实现用户的时钟需求。

 3、MMCM和PLL的使用示例

        本节中的示例显示了MMCM,但是,它们同样可以应用于PLL。使用MMCM和/或PLL有几种设计方法。ISE或Vivado设计工具中的时钟向导可以帮助生成各种MMCM和PLL参数。此外,MMCM还可以手动实例化为一个组件。MMCM也可以与IP核合并。IP核将包含和管理MMCM。

3.1 Clock Network Deskew(时钟网络去偏斜)

        MMCM的主要用途之一是对时钟网络的去歪斜。一个CLKOUT用来驱动逻辑资源,而另一个反馈时钟用来精确控制输入和输出时钟之间的相位关系,右边的波形图展示了输入和输出需要相位对齐时的情况(图中的输入2和输出5是对齐的)。反馈计数器用于控制输入时钟和输出时钟之间的精确相位关系(例如:90°的相移)。下图中的配置是最灵活的,但它需要两个全局时钟网络(BUFG)。

FPGA原理与结构——时钟IP核原理学习,FPGA原理与结构,fpga开发,fpga,硬件架构,时钟资源,CMT,PLL和MMCM

        我们也可以通过BUFH来实现,原理是相同的

FPGA原理与结构——时钟IP核原理学习,FPGA原理与结构,fpga开发,fpga,硬件架构,时钟资源,CMT,PLL和MMCM

3.2 MMCM with Internal Feedback(MMCM内部反馈)

        当MMCM被用作频率合成和抖动过滤,并且对输出和输入的相位没有要求时,可以用内部信号作为反馈信号。此时MMCM的性能会更好,因为反馈时钟没有经过其他电源供电的元件,因此,也就没有其他电源的噪声。但是从CLKIN和BUFG的噪声还是照常。

FPGA原理与结构——时钟IP核原理学习,FPGA原理与结构,fpga开发,fpga,硬件架构,时钟资源,CMT,PLL和MMCM

 3.3 Zero Delay Buffer(零缓冲Buffer)

           MMCM也能被用来生成一个无延迟的buffer clcok, 如下图。无延迟的buffer可以把一个时钟信号扇出给多个目的地,并且信号之间的偏斜很小。它们之间有一个低偏斜的应用程序。此配置如图3-14所示。在这里,反馈信号驱动出芯片和板跟踪反馈被设计为将跟踪与外部组件相匹配。在这种配置中,假设时钟边缘在FPGA的输入和外部组件的输入处对齐。CLKIN和CLKFBIN的输入时钟缓冲区必须在同一bank中。

FPGA原理与结构——时钟IP核原理学习,FPGA原理与结构,fpga开发,fpga,硬件架构,时钟资源,CMT,PLL和MMCM

四、总结

        在本文中我们对于xilinx系列的FPGA所提供的时钟IP核:Clocking Wizard v6.0 IP核进行了简单的介绍,然后对于FPGA中时钟的CMT结构进行了解读,介绍了MMCM和PLL的作用与区别,最后介绍了一些MMCM和PLL的使用示例。理解IP核的原理可以帮助我们更好地使用IP核,在接下来的文章中,我们也将介绍这个IP核的具体使用方式。文章来源地址https://www.toymoban.com/news/detail-687008.html

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

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

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

相关文章

  • FPGA原理与结构——RAM IP核原理学习

    系列文章目录:FPGA原理与结构(0)——目录与传送门 目录 一、什么是RAM 二、RAM IP介绍 1、RAM分类简介  2、可选的内存算法 (1)Minimum Area Algorithm(最小面积算法) (2)Low Power Algorithm (低功耗算法) (3)Fixed Primitive Algorithm (固定模块算法) (4)小结 3、位宽 4、工作模

    2024年02月12日
    浏览(29)
  • FPGA原理与结构——FIFO IP核原理学习

    系列文章目录:FPGA原理与结构(0)——目录与传送门         FIFO是英文First-In-First-Out的缩写,是一种先入先出的数据缓冲器,与一般的存储器的区别在于没有地址线, 使用起来简单,缺点是只能顺序读写数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器

    2024年02月11日
    浏览(36)
  • FPGA原理与结构(9)——RAM IP核原理学习

    系列文章目录:FPGA原理与结构(0)——目录与传送门 目录 一、什么是RAM 二、RAM IP介绍 1、RAM分类简介  2、可选的内存算法 (1)Minimum Area Algorithm(最小面积算法) (2)Low Power Algorithm (低功耗算法) (3)Fixed Primitive Algorithm (固定模块算法) (4)小结 3、位宽 4、工作模

    2024年02月01日
    浏览(30)
  • FPGA原理与结构(12)——FIFO IP核原理学习

    系列文章目录:FPGA原理与结构(0)——目录与传送门         FIFO是英文First-In-First-Out的缩写,是一种先入先出的数据缓冲器,与一般的存储器的区别在于没有地址线, 使用起来简单,缺点是只能顺序读写数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器

    2024年02月08日
    浏览(35)
  • FPGA原理与结构——时钟资源

    系列文章目录:FPGA原理与结构(0)——目录与传送门         时钟,即clock信号,是由晶体经过激发产生的振荡电路。模拟端通过各种技术(PLL,DPLL)产生规律、周期性变化的信号给数字端,数字端使用该信号的边沿进行过赋值(procedural assignment)操作。         7系

    2024年02月12日
    浏览(29)
  • FPGA的学习分享--03 时钟IP核

    需要掌握: 1.博宸电子ZYNQ7020DEV开发板 2.Vivado 2018.3 3.一定的verilog语法基础 1.2.1 个人理解 在我看来,时钟IP核就是产生多个时钟的“芯片”。将系统时钟输入此芯片,时钟IP核会根据每个人配备的要求,生成不同的时钟。 不同点在于:1. 时钟频率 2.占空比 “当然,特别专业的

    2024年01月24日
    浏览(28)
  • 基于 VPX 总线的工件台运动控制系统研究与开发-DSP+FPGA硬件架构(一)

    作为光刻机核心单元之一,超精密工件台主要负责实现快速扫描、上下片、精密定位、调平调焦等功能。目前,较为成熟的方案大多采用 VME 并行总线架构来建立超精密工件台控制系统,由于随着系统性能要求的提升,VME 总线以及相应的处理器已无法满足需求,所以必须设计

    2024年02月03日
    浏览(29)
  • FPGA原理与结构——ROM IP的使用与测试

    系列文章目录:FPGA原理与结构(0)——目录与传送门         本文介绍 Block Memory Generator v8.4 IP核 实现ROM,在学习一个IP核的使用之前,首先需要对于IP核的具体参数和原理有一个基本的了解,具体可以参考: FPGA原理与结构——块RAM(Block RAM,BRAM) https://blog.csdn.net/appl

    2024年02月11日
    浏览(21)
  • FPGA原理与结构——RAM IP核的使用与测试

    系列文章目录:FPGA原理与结构(0)——目录与传送门 目录 一、前言 二、RAM IP核定制 1、RAM IP核 step1 打开vivado工程,点击左侧栏中的IP Catalog step2 在搜索栏搜索RAM,找到Block Memory Generator IP核: 2、IP核定制 step3 Baisc界面定制 step4 端口定制 step5 Other Options step6 Summary 3、IP核例化

    2024年02月11日
    浏览(27)
  • FPGA学习笔记-1 FPGA原理与开发流程

    注:笔记主要参考: B站 正点原子 教学视频“正点原子手把手教你学FPGA-基于达芬奇Pro开发板 Artix-7 XC7A35T/XC7A100T”。 小梅哥爱漂流 教学视频“【零基础轻松学习FPGA】小梅哥Xilinx FPGA基础入门到项目应用培训教程”。 B站搬运 “特权同学2020版《深入浅出玩转FPGA视频教程》

    2024年02月05日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包