1、建立存储器编辑文件
当在设计中使用了FPGA器件内部的存储器模块(作为RAM、ROM或双口RAM等)时,有时需要对存储器模块的存储内容进行初始化。
在QuartusⅡ软件中,可以直接利用存储器编辑器(Memory Editor)建立或编辑Intel Hex格式(.hex)或Altera存储器初始化格式(.mif)文件。
1.创建存储器初始化文件
步骤如下:
(1) 在QuartusⅡ环境中选择File®New菜单,在新建对话框中选择Memory Files标签页,从中选择Memory Initialization File(MIF)文件格式或Hexadecimal(Intel-For
2、mat)File文件格式。
点击OK按钮。在弹出的对话框中输入字数(Number of words)和字长(word Size),如下图(或图3.39)所示。
点击OK按钮。
(2) 打开的存储器编辑窗口如下图(或图3.40)所示。
(3)改变编辑器选项,如下图(或图3.40)所示。
在QuartusⅡ的View菜单中,
选择Cells per Row中的选项(如8),可以改变存储器编辑窗口中每行显示的单元(字)数;
选择Address Radix中的选项,包括Binary(二进制)、Hexadeeimal(十六进制)、Octal(八进制)、Dec
3、imal(十进制)四种,可以改变存储器编辑窗口中地址的显示格式;
选择Memory Radix中的选项,包括Binary、Hexadecimal、Octal、Signed Decimal(有符号十进制)、Unsigned Decimal(无符号十进制)五种选择,可以改变存储器编辑窗口中字的显示格式。
(4)编辑存储器内容。
在存储器编辑窗口中选择需要编辑的字,输入内容;或在选择的字上点击鼠标右键,在下拉菜单中选择Value中的一项。
选Fill Cells with 1’s,结果如下:
(5)保存文件。
4、
选择File菜单中的Save As命令,以.hex或.mif格式保存编辑好的存储器文件。
2.在设计中使用存储器文件
在前面建立图形设计文件中,主要介绍了在图形编辑器中调用Altera标准库符号、图形块设计以及宏功能模块的实例化。
这里介绍如何在图形设计文件中使用MegaWizard plug-In Manager向导建立存储器模块。
建立一个256x8的RAM模块,其中8表示每个字的位宽。
(1) 在图形编辑器工作区双击左键或者点击符号工具,在弹出的Symbol对话框Libraries的列表中选择storage类
5、在storage类中选择lpm_ram_dp,并点击MegaWizard Plug-In Manager按钮,如图3.41所示。
(2) 在弹出的对话框中选择Create a new custom megafunction Variation。
点击Next按钮。进入下面窗口。
(3)在下一个对话框中,展开Memory Compiler类,从中选择RAM:2-PORT,如下图或(图3.42)所示。
RAM:2-PORT是双端口RAM宏功能模块。Altera建议在使用
6、Cyelone、Cyclone Ⅱ、Stratix以及Stratix GX等新型器件进行设计时使用altsyncram宏功能模块,而且建议使用同步RAM宏功能。
(4)在图3.42中,
点击右上角器件系列选择下拉框,从中选取项目所用的器件系列(如选择Cyclone ⅣE系列);
选择参数化模块输出文件的类型(如选择Verilog HDL);
在What name do you want for the output file?栏中键入输出模块的名字;
最后点击Next按钮。
(5)在上面对话框窗口中选择With one read port and one write por
7、t项,在存储容量中选择As a number of words项,点击Next按钮。
(6)在上面窗口中选择存储器字数,这里选择256,在字的宽度中选择8位,点击Next按钮。
(7)在上面窗口中,在时钟使用方法中选择单时钟Single dock项,点击Next按钮。
(8)在MegaWizard Plug-In Manager第5~9个页面中使用默认设置,连续点击Next按钮;
Page 7 of 12
Page 8 of 12
Page 10 of 12
在第10个页面中,在是否指定存储器初始内容栏中选择Yes,use this file for the memory content data,并点击File name栏上方的Browse按钮;
将前面建立的.mif或.hex文件作为存储器内容的初始化文件,如上图(或图3.43)所示。点击Open按钮得到下图。
点击Next
点击Next
点击Finish
点击OK。
工作区中出现所需部件。