程序存储器与数据存储器
程序存储器是用来存放用户程序的,通常采用只读存储器 ROM 来存储程序。数据存储
器存放运算数据及中间结果,一般采用随机存储器 RAM 来实现其功能。这里主要介绍利用
LPM 模块构建程序存储器和数据存储器的方法。
CPU 中的一些重要部件,如 RAM,ROM 等,可直接调用 LPM 模块构成。因此在 FPGA
中利用嵌入式阵列块可以构成各种结构的存储器。下面详细介绍利用 MegaWizard Plug-In
Manager 进行 LPM 模块调用和测试的一般方法。
1.定制初始化数据文件
首先确定 ROM 内的数据文件。QuartusII 能接受的 LPM 模块 LPM_ROM 中的初始化数
据文件的格式有 2 种:Memory Initialization File(.mif)格式和 Hexadecimal(Intel-Format)
File(.hex)格式。
实际应用中只要使用其中一种格式的文件即可。
(1)建立.mif 格式文件
首先在 Quartus II 中选择 ROM 数据文件编辑窗,即在 File 菜单中选择 New,并在 New
窗中选择 Other files 页,再选择 Memory Initialization File 项,单击 OK 按钮后产生 ROM
数据文件大小选择窗。根据实际情况,可选 ROM 的存储单元数 Number 为 64,数据宽 Word size
取 8 位。单击 OK 按钮,将出现如图 1 所示的空的 mif 数据表格。表格中的数据格式可通过
鼠标右键点击窗口边缘的地址数据弹出的窗口选择。此表中任一数据(如第三行的 99)对
应的地址为左列与顶行数之和(如 16+2=18。十六进制为 12H,即 00010010)。然后将数据
填入此表中。完成后,在 File 菜单中单击 Save as 按钮,保存此数据文件,在这里不妨取
名为 romd.mif。
图 1 将波形数据填入 mif 文件表中
评论0