勇敢的芯伴你玩转Altera FPGA连载63:PLL IP核创建于配置

[复制链接]
795|0
手机看帖
扫描二维码
随时随地手机跟帖
rousong1989|  楼主 | 2018-4-20 21:54 | 显示全部楼层 |阅读模式
勇敢的芯伴你玩转Altera FPGA连载63PLL IP核创建于配置
特权同学,版权所有
配套例程和更多资料下载链接:
http://pan.baidu.com/s/1i5LMUUD
1.jpg
         可以复制上一个实例cy4ex7的整个工程文件夹,更名为cy4ex8。然后在Quartus II中打开这个新的工程。
         Cyclone IV的PLL输入一个时钟信号,最多可以产生5个输出时钟,输出的频率和相位都是可以在一定范围内调整的。
         下面我们来看本实例如何配置一个PLL硬核IP,并将其集成到工程中。如图8.18所示,在新建的工程中,点击菜单“ToolsàMegaWizard Plug-In Manager”。
2.jpg
图8.18MegaWizard菜单
如图8.19所示,选择“Creat a new custommegafunction variation”,然后点击Next。
3.jpg
图8.19 新建IP核向导
         接着选择我们所需要的IP核,如图8.20所示进行设置。
●  在“Select a megafunction from the list below”下面选择IP核为“I/O à ALTPLL”。
●  在“What device family will you be using”后面的下拉栏中选择我们所使用的器件系列为“Cyclone IV E”。
●  在“What type of output file do you want to create?”下面选择语言为“Verilog”。
●  在“What name do you want for the output file?”下面输入工程所在的路径,并且在最后面加上一个名称,这个名称是我们现在正在例化的PLL模块的名称,我们可以给他起名叫pll_controller,然后点击Next进入下一个页面。这里它所在的路径,实际上是我们在工程文件夹cy4ex8下面创建的ip_core文件夹和其下的pll文件夹。
4.jpg
图8.20 选择ALTPLL为IP核
         接着来到了PLL的参数配置页面,如图8.21所示进行设置。然后点击Next进入下一个页面。
●  在“What device speed grade will you be using?”后面选择“8”,即我们使用的器件的速度等级。
●  在“What is the frequency of the inclk0 input?”后面选择“25MHz”,即我们输入到该PLL的基准时钟频率。
5.jpg
图8.21 PLL的General配置页面
         Input/lock页面中,如图8.22所示进行设置,接着点击Next进入下一个页面。
●  勾选“Create an ‘areset’ input to asynchronously reset the PLL”,即引出该PLL硬核的’areset’信号,这是该PLL硬核的异步复位信号,高电平有效。
●  勾选“Create ‘locked’ output”,即引出该PLL硬核的’locked’信号,该信号用于指示PLL是否完成内部初始化,已经可以正常输出了高电平有效。
6.jpg
图8.22 PLL的input/lock配置页面
         Bandwidth/SS、Clock Switchover和PLLReconfiguration页面不用设置,默认即可。直接进入OuputClocks页面,如图8.23所示,这里有5个可选的时钟输出通道,通过勾选对应通道下方的Usethis clock选项开启对应的时钟输出通道。可以在配置页面中设置输出时钟的频率、相位和占空比。这里是 C0通道的设置。
●  勾选“Use this clock”,表示使用该时钟输出信号。
●  输入“Enter output clock frequency”为“12.5MHz”,表示该通道输出的时钟频率为12.5MHz。
●  输入“Clock phase shift”为“0 deg”,表示该通道输出的时钟相位为0 deg。
●  输入“Clock duty cycle(%)”为“50.00%”,表示该通道输出的时钟占空比为50%。
7.jpg
图8.23 PLL的clk c0配置页面
         和C0的配置一样,我们可以分别开启并且配置C1、C2、C3,这些时钟虽然这个例程暂时用不上,但是后续的例程将会使用到。
●  C1的时钟频率为25MHz,相位为0deg,占空比为50%。
●  C2的时钟频率为50MHz,相位为0deg,占空比为50%。
●  C3的时钟频率为100MHz,相位为0deg,占空比为50%。
         配置完成后,最后在Summary页面,如图8.24所示,勾选上*_inst.v文件,这是一个PLL例化的模板文件,一会我们可以在工程目录下找到这个文件,然后打开它,将它的代码复制到工程中,修改对应接口即可完成这个IP核的集成。
8.jpg
图8.24 PLL的Summary配置页面
         点击Finish完成PLL的配置。工程中若弹出如图8.25所示的对话框,勾选“Automaticallyadd Quartus II IP Files to all projects”选项后,点击Yes。
9.jpg
图8.25 添加IP核文件到工程
         此时,我们可以来到pll文件夹下,如图8.26所示,打开pll_controller_inst.v文件,它是这个PLL IP核的例化模板。
10.jpg
图8.26 PLL IP核生成文件
         pll_controller_inst.v如图8.27所示。复制文件中的内容,将()内的信号名改为我们连接到这个模块的接口信号名就可以了。
11.jpg
图8.27 PLL IP核例化模板

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

338

主题

338

帖子

28

粉丝