首页->【FPGA/CPLD助学小组】

7 0

勇敢的芯伴你玩转Altera FPGA连载63:PLL 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.18 MegaWizard菜单

如图8.19所示,选择“Creat a new custom megafunction 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和PLL Reconfiguration页面不用设置,默认即可。直接进入Ouput Clocks页面,如图8.23所示,这里有5个可选的时钟输出通道,通过勾选对应通道下方的Use this 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所示的对话框,勾选“Automatically add 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核例化模板

 

 

 

 

 


楼主可见