这篇文章介绍的是基于Altera器件(支持PLL的器件有Stratix III,Stratix II,Stratix II GX,Stratix,Stratix GX,Cyclone III,Cyclone II,Cyclone,HardCopy II,HardCopy Stratix),使用Quartus II(6.1)软件。
使用FPGA时,要产生需要的特定频率是一件非常简单的事情。一种方法是自己设计对输入的时钟进行倍频和分频。另一种非常简单的方法,使用FPGA自带的PLL,如果运用MegaFunction图形化的设计方法定制PLL模块,仅需几步即可完成。
打开MegaWizard Plug-In Manager,在Installed Plug-Ins下,展开I/O,找到ALTPLL模块。如果你没有选择器件,可以在窗口右边最上选择器件。选择要生成模块的程序语言,输入要生成的模块文件的路径和名字。
第二步进入到类似web的设定参数窗口,可以点击各个步骤的链接跳到相应步骤去。右上角的About可以看到这个ALTPLL模块的相关信息,Documentation里有模块用户指南、设计参考等参考文档,还可以生成样例波形作为参考。
第一步General/Modes。在General栏里设定器件,速度等级,输入频率,还可以将PLL设置在LVDS模式下(需要器件支持)。在PLL type中设置PLL类型(影响补偿模式)。在Operation mode设置PLL的补偿模式:
Use the feedback path inside the PLL:内反馈模式:
Create an ‘fbin’ input for an external feedback (External Feedback Mode):外反馈模式:fbin反馈补偿输入到PLL。输入时钟管脚和反馈时钟管脚的延迟最小。
Which output clock is to be compensated?:选择要补偿的管脚。
下一步(Scan/Lock)设置PLL控制信号:
直接跳到2 Output Clocks。clk c0~c5是5个时钟信号,选中Use this clock来启用他们。选择clk c0,为c0设置参数。最简单的方法是使用Enter output clock frequency直接输入要输出的频率。也可以选择Enter output clock parameters输入multiplication factor(倍频因子)和division factor(分频因子)。输入Clock phase shift(相移),Clock duty cycle(占空比)。More Details可以设置更详细的参数。
3 Simulation Library选择模拟时使用的库。
4 Summary可以看到将要生成的文件。
MegaFunction的ALTPLL模块实际是使用代码,通过调用altera_mf库中的PLL模块实现PLL的。打开生成的.vhd文件可以看到调用情况。
用户5521 2007-8-15 15:49
那怎么把这个模块拿来用呢?
是不是和普通模块一个用法
即:用原理图编辑器的话,当成一般的模块一样,只是输入要接到全局clk上?