大家都知道FPGA内部就像一堆积木零件,开发人员可以根据自己的需求搭建任意电路,但实际上在项目开发过程中适当的使用ALTERA内置的IP核,将会大大地缩短你的研发周期!下面给大家介绍一下quartus软件里面有哪些IP核可以直接调用!
在quartus上面的菜单栏里选择Tools->Megawizard->plug-In Manager,打开后界面如下所示:
从左边的列表可以看到所有支持的IP种类,设计开发过程中最常用的两种IP就是PLL和sram,今天我们就以这两种IP的创建来做一下演示。
在上图界面中选择I/O这一项展开并拉到下面,可以看到一个ALTPLL的选项,我们选中它并在右边的what name do you want for the output file?那一栏下面填上你想要的文件名,它会按照你设定的名字生成对应的文件。
如上图所示我设定的名字是24MHz,因为我想要产生一个输出24M的PLL,最好名字和输出频率对应,这样一眼就知道这个PLL的功能。选好后点击next,弹出以下界面:
接下来就是填写PLL IP核的参数了,这里主要是选择PLL的输入时钟,根据这个开发板外部晶振是52MHz,我这里就填上52,大家使用的时候根据实际填写。后面一直点next,一直到出现以下画面时需要特别注意:
这里是选择PLL输出频率的参数,有两种方式可以设置输出频率参数:一种是直接设置想要的输出频率,比如说101MHz,但并不是所有你想要的频率都能输出,如果你设置后这个频率不能输出,那么它会计算得到一个和你想要的频率的最接近的值输出。另外一种是设置乘系数和除系数,就是对PLL的输入频率乘以和除以系数后输出。另外,还可以设置时钟的相位偏差和时钟的占空比。设置好之后继续点next,将会跳到clk_c1界面,后面的clk_c2、clk_c3、clk_c4都是一样的。也就是说一个PLL支持输出5个不同的频率,相当强大了。
一直点击到出现以下画面时,再点击finish,PLL就生成完毕了。
此时我们回到quartus II界面,点击左上角的File,就可以看到一个24MHz的PLL文件已经加入了工程当中了,也就是说我们在设计中可以直接调用这个IP核。
接下来介绍一下另一个最常用的IP核--SRAM,这个IP核的作用是存储数据。
我们还是按照前面介绍的菜单栏打开IP创建目录,并展开Memory Compiler这一栏,如下图所示:
从上图可以看到memory有很多种,首先是分FIFO、SHIFTREG、RAM和ROM,RAM和ROM下面又区分1-PORT和2-PORT。下面我们以1-PORT RAM为例,介绍一下创建过程。在左边选中后,在右边的目录里填上sram的名字:sram_256,然后点击next:
首先需要选择的是RAM的深度和位宽:位宽就是数据总线的bit数,深度就是这个memory可以存储多少个数据。这里选择数据位宽为8bit,深度为256,然后点击next:
上图红色方框中需要特别说明一下,这是一个在线边界memory的功能,勾选该选项后,你可以在FPGA运行过程中通过quartus软件直接编辑或者读取memory的内容。
一直点击next,直到出现以下界面,看到sram_256_bb.v这一项是默认勾选的,软件会生成一个.v文件,我们设计时直接调用这里面的模块就可以仿真了。
最后点击fnish,就完成1-PORT RAM的创建了。此时再回到quarts II查看Files,就会发现现在PLL和RAM这两个IP都已经加入到了工程中。下一步就是如何利用这两个IP嵌入到你的开发中使用的事情啦。
文章评论(0条评论)
登录后参与讨论