【FPGA】Vivado软件 PLL IP核使用教程

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

一、PLL简介

        PLL (Phase Locked Loop),锁相环,是一种反馈控制电路。其功能主要是时钟倍频、分频、相位偏移和可编程占空比。
【FPGA】Vivado软件 PLL IP核使用教程

 二、Vivado软件PLL创建

1、新建pll_test工程,点击Project Manager界面下的IP Catalog。

【FPGA】Vivado软件 PLL IP核使用教程

 2、再在IP Catalog界面里搜索框搜索Clocking,找到下面的Clocking Wizard,双击打开配置界面。

【FPGA】Vivado软件 PLL IP核使用教程

3、进入配置界面。默认这个Clocking Wizard的名字为clk_wiz_0, 可以修改。在第一个界面Clocking Options里,输入的时钟名字可以修改。输入的时钟频率也可以修改,这里我设置为20Mhz。

【FPGA】Vivado软件 PLL IP核使用教程

 4、在Output Clocks界面里可以选择clk_out1~clk_out4四个时钟的输出,这里我只选择一个时钟clk_out1,频率我设置为50Mhz。这里还可以设置时钟输出的相位,我没有设置。

【FPGA】Vivado软件 PLL IP核使用教程

5、在弹出的对话框中点击Generate按钮生成PLL IP的设计文件。

【FPGA】Vivado软件 PLL IP核使用教程

 pll_test工程中自动生成一个clk_wiz_0.xci,双击可以修改IP的配置。

【FPGA】Vivado软件 PLL IP核使用教程

三、pll ip实例化

1、在IP Sources界面找到clk_wiz_0.veo文件,文件中是IP的例化模板。我们只需要将文件中内容复制粘贴到我们verilog程序中,对IP进行实例化。

【FPGA】Vivado软件 PLL IP核使用教程

 2、我们在创建一个顶层设计文件来实例化这个PLL IP, 编写pll_test.v代码如下。注意PLL的复位是高电平有效,也就是高电平时一直在复位状态,PLL不会工作。而rst_n是低电平复位,因此需要反向连接到PLL的复位。

`timescale 1ns/1ps
module pll_test(
    input   clk   ,//20m系统时钟
    input   rst_n ,

    output  clk_out//pll clk output
);

//参数定义
wire    locked;

//ip核例化
 clk_wiz_0 instance_name
   (
    // Clock out ports
    .clk_out1 (clk_out ),       // output clk_out1
    // Status and control signals
    .reset    (~rst_n  ),       // input reset
    .locked   (locked  ),       // output locked
    // Clock in ports
    .clk_in1  (clk     )
    ); 
endmodule

3、保存工程后,pll_test自动成为了top文件,clk_wiz_0成为Pll_test文件的子模块。

【FPGA】Vivado软件 PLL IP核使用教程

四、对实例化顶层文件仿真

1、我们在创建一个仿真激励文件来仿真这个pll_test顶层文件, 编写pll_test_tb.v代码如下。 

`timescale 1ns / 1ps
//
// Module Name: _led_test_tb
//

module pll_test_tb;
	// Inputs
	reg sys_clk;
	reg rst_n;

	// Outputs
    wire clk_out;

	// Instantiate the Unit Under Test (UUT)
	pll_test u_pll_test (
	.clk(sys_clk),            //system clock 20Mhz on board
    .rst_n(rst_n),             //reset ,low active

    .clk_out(clk_out),           //pll clock output 50Mhz

	);

	initial begin
		// Initialize Inputs
		sys_clk = 0;
		rst_n = 0;

		// Wait 100 ns for global reset to finish
		#100;
          rst_n = 1;        
		// Add stimulus here
		#20000;
      //  $stop;
	 end
   
    always #10 sys_clk = ~ sys_clk;   //5ns一个周期,产生50MHz时钟源
   
endmodule

2、运行后PLL的lock信号会变高,说明PLL IP锁相环已经初始化完成。clk_out有时钟信号输出,输出的频率为输入时钟频率20Mhz的5/2, 为50Mhz。

【FPGA】Vivado软件 PLL IP核使用教程文章来源地址https://www.toymoban.com/news/detail-460557.html

到了这里,关于【FPGA】Vivado软件 PLL IP核使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • vivado中的FPGA时钟管理单元PLL学习记录

    vivado中的FPGA时钟管理单元PLL学习记录

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

    2024年01月16日
    浏览(11)
  • Vivado 下 IP核之 PLL实验

    Vivado 下 IP核之 PLL实验

    目录 实验任务:Vivado 下 IP核之 PLL实验 1、实验简介     2、实验环境 3、实验原理 3.1、PLL IP核简介 3.2、MMCM 和 PLL 各自的含义以及两者的区别 3.3、PLL 分频 和 倍频 的工作原理 3.4、实验任务 4、建立工程 4.1、PLL IP 核配置 4.2、模块设计 4.3、编写代码 4.4、Vivado 自带仿真器的使

    2024年02月09日
    浏览(10)
  • Vivado clocking wizard IP核PLL/MCMM配置

    Vivado clocking wizard IP核PLL/MCMM配置

           PLL的英文全称是Phase Locked Loop,即锁相环,是一种反馈控制电路。PLL对时钟网络进行系统级的时钟管理和偏移控制,具有时钟倍频、分频、相位偏移和可编程占空比的功能。Xilinx 7系列器件中的时钟资源包含了时钟管理单元CMT,每个CMT由一个MMCM和一个PLL组成。对于一个

    2024年02月12日
    浏览(11)
  • FPGA开发必备软件——Vivado,安装教程

    FPGA开发必备软件——Vivado,安装教程 如果你想开始FPGA的开发学习,那么Vivado是一个不可或缺的软件。它是Xilinx推出的一款针对FPGA、SoC和ASIC开发的综合设计环境。在这里,我们详细介绍如何下载、安装和配置Vivado软件。 在Xilinx官网上注册一个账号。注册时需要提供自己的邮

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

    手把手教你在Vivado创建一个PLL或MMCM的IP核(超详细)

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

    2024年02月11日
    浏览(17)
  • FPGA_学习_10_IP核_PLL

    FPGA_学习_10_IP核_PLL

    片上资源的使用,或者说IP核的使用,是FPGA编程要学习的分量很重的一部分内容。 其中最常见的就要属PLL了,时钟是一切程序的基础。 PLL的时钟倍频功能是用户自己手撕代码无法实现的,但使用PLL IP核,几步简单的图像界面的操作就能个实现。本文的内容就是配置一个PLL

    2024年02月13日
    浏览(13)
  • 从底层结构开始学习FPGA(16)----PLL/MMCM IP的定制与测试

    目录 系列目录与传送门 1、PLL IP的定制 ①、第一页 ②、第二页  ③、第三页

    2024年02月02日
    浏览(15)
  • xilinx FPGA 乘法器ip核(multipler)的使用(VHDL&Vivado)

    xilinx FPGA 乘法器ip核(multipler)的使用(VHDL&Vivado)

    一、创建除法ip核  可以选择两个变量数相乘,也可以选择一个变量输入数据和一个常数相乘 可以选择mult(dsp资源)或者lut(fpga资源) 可以选择速度优先或者面积优先 可以自己选择输出位宽 还有时钟使能和复位功能  二、编写VHDL程序:声明和例化乘法器ip核 三、编写仿真程

    2024年02月11日
    浏览(17)
  • FPGA零基础学习之Vivado-FIFO使用教程

    FPGA零基础学习之Vivado-FIFO使用教程

    本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。 系统性的掌握技术开发以及相关要求

    2024年02月20日
    浏览(7)
  • FPGA设计入门:Vivado综合简介

    FPGA设计入门:Vivado综合简介 FPGA是一种基于可编程逻辑器件的数字电路设计技术,可以通过编程实现各种电路功能。Vivado是Xilinx公司推出的一款开发工具,可以用来对FPGA进行综合、布局、布线、生成比特流等操作。本篇文章将从Vivado综合的基本流程入手,详细介绍如何使用

    2024年02月09日
    浏览(12)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包