FPGA 中 ROM 定制与读出实验
一、 实验目的
1、掌握 FPGA 中 ROM 的设置,作为只读存储器ROM 的工作特性和配置方法。
2、用文本编辑器编辑 mif 文件配置ROM,学习将程序代码以 mif 格式文件加载于ROM中。
3、在初始化存储器编辑窗口编辑 mif 文件配置ROM。
4、验证 FPGA 中 ROM 的功能。
二、 实验要求
1、实验前认真复习 ROM 存储器部分的有关内容。
2、记录实验数据,写出实验报告,给出仿真波形图。
3、通过本实验,熟悉 FPGA 中 EAB 构成的ROM 存储器。
三、 实验原理
ALTERA 的 FPGA 中有许多可调用的模块库,可构成如 rom、ram、fifo 等存储器结构。
CPU 中的重要部件,如 RAM、ROM 可直接调用他们构成,因此在 FPGA 中利用嵌入式阵列块EAB 可以构成各种结构的存储器,ROM 是其中的一种。ROM 有 5 组信号:地址信号address[ ]、数据信号 q[ ]、时钟信号 inclock、outclock、允许信号 memenable,其参数都是可以设定的。由于 ROM 是只读存储器,所以它的数据口是单向的输出端口,ROM 中的数据是在对 FPGA 现场配置时,通过配置文件一起写入存储单元的。图 2-1-1 中的 ROM 有 3 组信号:inclk——输入时钟脉冲;instruction[31…0]——lpm_ROM 的 32 位数据输出端;a[4…0]——lpm_ROM 的 5 位读出地址。
实验中主要应掌握以下三方面的内容:
1、 ROM 的参数设置;
2、 ROM 中数据的写入,即 FILE 初始化文件的编写;
3、 ROM 的实际应用,在 GW48_CP+实验台上的调试方法。
四、 实验内容
(1)新建工程。工程名是 scinstmem.qpf。
(2)用初始化存储器编辑窗口编辑 ROM 配置文件(文件名.mif)。这里预先给出后面将要用到的指令存储器初始化文件:scinstmem.mif 。scinstmem.mif 中的数据是机器指令代码
(图 2-1-3)。
(3)模块设计。用图形编辑,使用工具 Mega Wizard Plug-In Manager,定制指令存储器
rom 宏功能块。设置地址总线宽度 address[]和数据总线宽度 q[],分别为 5 位和 32 位,并添加输入输出引脚,如图 1-2 设置和连接。
在设置 rom 数据参数选择项 file 的对应窗口中(图 1-3),用键盘输入 ROM 配置文件的路径(scinstmem.mif),然后设置在系统 ROM/RAM 读写允许,以便能对 FPGA 中的 ROM 在系统读写。
(4)全程编译。
(5)画波形文件并进行功能仿真。
(6)引脚锁定。
(7)全程编译。