PLL 动态重配置手把手教程

本文详细介绍了如何在FPGA中实现PLL动态重配置,包括创建.mif文件、配置PLL IP核、生成ROM以及设计顶层文件和频率选择模块,旨在帮助初学者逐步掌握PLL RECONFIGURATION技术。
摘要由CSDN通过智能技术生成

查阅了所有关于PLLRECONFIGURATION的资料(官方和非官方),发现说的都差不多,但是说的内容都是高高在上,一点都不接地气。让我这种学渣看的不清不楚迷迷糊糊。所以以下内容在于帮助像我一样的学渣一步一步的学会PLL RECONFIGURATION。

 

本文介绍的PLL动态重配置是通过动态更新ALTPLL IP内核中的参数实现。PLL IP内核中的参数又是通过ALTPLL RECONFIG IP、单口ROM和.Mif文件三者配合工作实现参数的更新。同时还设计了一个选择.mif的功能模块,可以通过拨码开关实现输出频率的改变。整个流程框图如下所示:

整个流程需要做三部分的工作:

 

第一步:生产用于放置不同频率参数的.mif文件

 

本文设计输出60M,80M,96M和120M四个不同的频率。所以.mif文件的命名分别为60M.mif,80M.mif,96M.mif和120M.mif。详细过程如下,以64M.mif为例。

 

  1. 新建一个工程:工程命名为:pll_reconfig_hty

  2. 新建.mif文件

 

 

  1. 更改位宽和数据个数

 

 

  1. 保存文件,保存时需要对文件中的数据进行修改才能保存。随便更改一个数据就可以了,后面整个文件都要更新的。文件命名为64M.mif

 

 

  1. 相同的方法生产80M.mif、96M.mif和120M.mif。

第二步:生产PLL  IP 核,并重新配置.mif文件。

 

  1. 新建一个PLL ,命名为pll_sw;

 

 

在第6小步中在“inclock”中输入自己板子上FPGA的晶振频率,我使用的晶振频率是48M。所以输入“48”。

更改“7”“8”中的值,使“9”配置为60M。

 

 

 

重复“7”~“18”步,把剩下80M,96M和120M全部配置一下。配置完后,点击“Finish”。

第三步:为每个.mif文件生产对应的ROM,分别命名为:ROM_64M、ROM_80M、ROM_96M、ROM_120M。

 

  1. 生成ROM

 

 

 

第四步:生产ALTPLL_RECONFIGIP,IP命名为pll_reconfig_sw

 

 

 

 

 

 

 

 

第五步:设计顶层文件和频率选择功能模块程序文件。

 

1、顶层文件

 

LIBRARY IEEE;

 

USE IEEE.STD_LOGIC_1164.ALL;

 

USE IEEE.STD_LOGIC_ARITH.ALL;

 

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

 

 

 

ENTITY pll_reconfig_hty IS

 

PORT

 

      (

 

           fpga_clk_in                               : IN STD_LOGIC;

 

           fpga_reset_global                   : IN STD_LOGIC;

 

           sel_control_in                          : INSTD_LOGIC_VECTOR(1 DOWNTO 0);

 

           pll_clk_out0                        : OUT STD_LOGIC

 

      );

 

END pll_reconfig_hty;

 

 

 

ARCHITECTURE struct OF pll_reconfig_hty IS

 

 

 

 

 

----------------------------------------------------------------------------

 

---------------------------------PLL 信号------------------------------------

 

      SIGNALreset_global                                          :STD_LOGIC;

 

      SIGNALreset_global_not                             :  STD_LOGIC;

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值