Vivado clocking wizard IP核PLL/MCMM配置

这篇具有很好参考价值的文章主要介绍了Vivado clocking wizard IP核PLL/MCMM配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       PLL的英文全称是Phase Locked Loop,即锁相环,是一种反馈控制电路。PLL对时钟网络进行系统级的时钟管理和偏移控制,具有时钟倍频、分频、相位偏移和可编程占空比的功能。Xilinx 7系列器件中的时钟资源包含了时钟管理单元CMT,每个CMT由一个MMCM和一个PLL组成。对于一个简单的设计来说,FPGA整个系统使用一个时钟或者通过编写代码的方式对时钟进行分频是可以完成的,但是对于稍微复杂一点的系统来说,系统中往往需要使用多个时钟和时钟相位的偏移,且通过编写代码输出的时钟无法实现时钟的倍频,因此学习Xilinx MMCM/PLL IP核的使用方法是我们学习FPGA的一个重要内容。

11.1MMCM/PLL IP核简介
锁相环作为一种反馈控制电路,其特点是利用外部输入的参考信号控制环路内部震荡信号的频率和相位。因为锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。
Xilinx 7系列器件中具有时钟管理单元CMT时钟资源,xc7z020芯片内部有4个CMT,xc7z010芯片内部有2个CMT,为设备提供强大的系统时钟管理以及高速I/O通信的能力。时钟管理单元CMT的总体框图如下图所示。

vivado clocking wizard,fpga开发

图 11.1.1 CMT总体框图

    MMCM/PLL的参考时钟输入可以是IBUFG(CC)即具有时钟能力的IO输入、区域时钟BUFR、全局时钟BUFG、GT收发器输出时钟、行时钟BUFH以及本地布线(不推荐使用本地布线来驱动时钟资源)。在最多的情况下,MMCM/PLL的参考时钟输入都是来自IBUFG(CC)即具有时钟能力的IO输入,本实验也是如此。MMCM/PLL的输出可以驱动全局时钟BUFG和行时钟BUFH等等。BUFG能够驱动整个器件内部的PL侧通用逻辑的所有时序单元的时钟端口。BUFG/BUFH/CMT在一个时钟区域内的连接框图如下图所示。

vivado clocking wizard,fpga开发

图 11.1.2 BUFG/BUFH/CMT在一个时钟区域内的连接

有关Xilinx时钟资源和CMT的更详细信息,读者后期可以花一些时间和精力去学习一下Xilinx官方的手册文档“UG472,7 Series FPGAs Clocking Resources User Guide”里的介绍。
MMCM和PLL的总体框图如下图所示。

vivado clocking wizard,fpga开发

图 11.1.3 MMCM总体框图

vivado clocking wizard,fpga开发

图 11.1.4 PLL总体框图

其中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检测其参考频率(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)。
Xilinx提供了用于实现时钟功能的IP核Clocking Wizard,该IP核能够根据用户的时钟需求自动配置器件内部的CMT及时钟资源,以实现用户的时钟需求。在这里我们主要讲解的是如何使用该IP核,有关该IP核的更详细介绍,读者可以参阅Xilinx官方的手册文档“PG065,Clocking Wizard v6.0 LogiCORE IP Product Guide”。

11.2实验任务
本节实验任务是使用Zynq开发板输出4个不同时钟频率或相位的时钟,并在Vivado中进行仿真以验证结果,最后生成比特流文件并将下载到开发板上,使用示波器来测量时钟的频率。

打开“IP Catalog”窗口后,在搜索栏中输入“clock”关键字,可以看到Vivado已经自动查找出了与关键字匹配的IP核名称,如下图所示。

vivado clocking wizard,fpga开发

接下来就是配置IP核的时钟参数。最上面的“Component Name”一栏设置该IP元件的名称,这里保持默认即可。在第一个“Clocking Options”选项卡中,“Primitive”选项用于选择是使用MMCM还是PLL来输出不同的时钟,对于我们的本次实验来说,MMCM和PLL都可以完成,这里我们可以保持默认选择MMCM。需要修改的是最下面的“Input Clock Information”一栏,把“Primary”时钟的输入频率修改为我们开发板的核心板上的晶振频率50MHz,其他的设置保持默认即可,如下图所示。

vivado clocking wizard,fpga开发

接下来切换至“Output Clocks”选项卡,在“Output Clock”选项卡中,勾选前4个时钟,并且将其“Output Freq(MHz)”分别设置为100、100、50、25,注意,第2个100MHz时钟的相移“Phase(degrees)”一栏要设置为180。其他设置保持默认即可,如下图所示。

vivado clocking wizard,fpga开发

Port Renaming”选项卡主要是对一些控制信号的重命名。这里我们只用到了锁定指示locked信号,其名称保持默认即可,如下图所示。

vivado clocking wizard,fpga开发

“MMCM Setting”选项卡展示了对整个MMCM/PLL的最终配置参数,这些参数都是根据之前用户输入的时钟需求由Vivado来自动配置,Vivado已经对参数进行了最优的配置,在绝大多数情况下都不需要用户对它们进行更改,也不建议更改,所以这一步保持默认即可,如下图所示。

vivado clocking wizard,fpga开发文章来源地址https://www.toymoban.com/news/detail-523775.html

到了这里,关于Vivado clocking wizard IP核PLL/MCMM配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Vivado】clock ip核的使用

    ​ Clock在时序逻辑的设计中是不可或缺的,同时对于Clock的编写和优化也能体现一个FPGA工程师的技术水平,Clock的分频,倍频在设计项目时都有可能用到,对于分频,可以通过代码的方式进行实现,而倍频,就要用到我们今天的主角——Clock IP核。熟练使用Clock IP核是学习FPG

    2024年01月16日
    浏览(59)
  • Vivado PLL锁相环 IP核的使用

    本文纯属学习笔记,使用的FPGA是Xilinx的XC7A35TFGG484-1,使用Vivado调用PLL IP核来实现倍频效果,使50Mhz的晶振时钟源倍频到100Mhz、200Mhz和400Mhz。 Clocking Options 1.MMCM与PLL相比,PLL的时钟质量更高,所以对时钟质量要求较高的时候需要选择PLL,但是一般可以不用纠结。 2.修改Input Fre

    2024年02月08日
    浏览(40)
  • 手把手教你在Vivado创建一个PLL或MMCM的IP核(超详细)

    不会新建工程的可以看一下我之前的博客,这里只展示一些简略的新建工程过程。 新建好工程后的页面 本文配置了四个时钟输出,分别是clk0(100Mhz),clk1(100Mhz,180°相位延迟),clk2(50Mhz),clk4(25Mhz) 点击ok直接生成 点击generate 看到如图所示界面代表IP核已经生成成功了 点击“

    2024年02月11日
    浏览(48)
  • FPGA开发之Vivado安装及HLS环境配置,并实现流水灯实例

    HLS(High-Level Synthesis)高层综合,就是将 C/C++的功能用 RTL 来实现,将 FPGA 的组件在一个软件环境中来开发,这个模块的功能验证在软件环境中来实现,无缝的将硬件仿真环境集合在一起,使用软件为中心的工具、报告以及优化设计,很容易的在 FPGA 传统的设计工具中生成 IP。

    2024年02月05日
    浏览(51)
  • Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)

    qspi_50m.xdc文件: 等同于图形化配置方式:

    2024年02月22日
    浏览(66)
  • 【FPGA】 Vivado FIFO IP核使用教程

    目录 一、FIFO简介 二、FIFO的应用 三、Vivado FIFO创建 四、FIFO IP核实例化 五、对实例化顶层文件仿真        FIFO 的英文全称是 First In First Out ,即 先进先出 。 FPGA 使用的 FIFO 一般指的是对数据的存储具有先进先出特性的一个缓存器,常被用于数据的缓存或者高速异步数据的交

    2024年02月06日
    浏览(113)
  • FPGA vivado IP核学习笔记——单端口RAM

    1. 新建IP 在IP Catalog中找到Block Memory Generator 2. 基本配置 ①在 Component Name 位置可以修改IP名字 ② Interface Type 选择接口类型,有Native(常规)和AXI4两种,AXI4常用于软核控制FPGA或ZYNQ中PS端控制FPGA时使用 ③ Generate address interface with 31 bits ,将地址深度固定在32bit ④ Memory Type : 有一

    2024年04月29日
    浏览(40)
  • FPGA开发环境 Vivado

    Vivado是Xilinx系列FPGA开发环境。本文记载收录了vivado常用开发技巧,随机记录、随时更新。。。 任何Xilinx相关问题都可到WELCOME TO XILINX SUPPORT!查询 静态时序分析(Static Timing Analysis, STA):简介及内容导航 VIVADO的综合属性ASYNC_REG 在XDC中作如下约束,表示对名字末尾为 _cdc_to 的寄

    2024年02月11日
    浏览(58)
  • 【FPGA】 十二、Vivado DDS IP核实现扫频信号

    文章目录 前言 一、DDS IP核概述 二、DDS IP核配置 三、调用DDS IP核 总结     在我前面的工程中,都是一些比较通用的设计工程,没有用到哪一家的IP核,所以代码具有很好的移植性;今天我就来讲一下基于Xilinx厂家的芯片做一期DDS的设计与验证,这里我所采用的EDA工具是Viva

    2024年02月03日
    浏览(47)
  • FPGA开发环境安装VIVADO

     BASYS3开发板使用的是 Xilinx 厂商的 Artix-7 FPGA 芯片,所以要使用 Xilinx 提供的配套开发软件 Vivado ,我使用的是 Vivado 18.3 。Vivado 18.3 的版本相对来说是较为稳定的,所以推荐给大家这个版本当然 读者也可安装更新的版本,安装步骤都是大同小异的。 第一步: 找到 Vivado 2018.

    2024年02月09日
    浏览(90)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包