参考《程序存储器数据存储器参考资料》。
实验目的
1、了解FPGA中RAM的功能;2、掌握RAM的参数设置和使用方法;3、掌握作为随机存储器RAM的仿真测试方法,工作特性和读写方法。
实验内容
在 FPGA 中利用嵌入式阵列块 EAB 可以构成存储器,RAM 的结构如图。数据从 sram 的 左边 d[7..0]输入,从右边 q[7..0]输出,R/W 为读/写控制信号端。当输入数据和地址准备 好以后,在 inclock 是地址锁存时钟,当信号上升沿到来时,地址被锁存,数据写入存储 单元。数据的读出控制是从 a[7..0]输入存储单元地址,在 CLK 信号上升沿到来时,该单元 数据从 q[7..0]输出。R/W 是读/写控制端,低电平时进行读操作,高电平时进行写操作; CLK 是读/写时钟脉冲信号;d[7..0]是 sram 的 8 位数据输入端;a[7..0]是 ram 的读出和 写入地址;q[7..0]是 sram 的 8 位数据输出端。
实验步骤
1、按图7-1输入电路图,进行编译、引脚锁定、向 FPGA 配置下载;2、通过键 1、键 2 输 入 RAM 的 8 位数据(选择实验台工作模式 1),键 3、键 4 输入存储器的 8 位地址。键 8 控 制读/写允许,低电平时读允许,高电平时写允许;键 7(CLK0)产生读/写时钟脉冲,即生 成写地址锁存脉冲,对 RAM 进行写/读操作;3、RAM 也能加入初始化文件;选择 RAM 的 ID 名取为:ram1。
实验中选择实验电路模式为 NO.1,按以上方式进行验证实验。首先控制读出初始化数 据,与载入的初始化文件 ramd.mif 中的数据进行比较,然后控制写入一些数据,再读出比 较。使用在系统读写 RAM 的工具对其中的数据进行读写操作,设置成连续读模式,将在系 统读写工具窗口的数据与实验箱上数码管上显示的数据进行对比。(图8-3)。
实验要求
1、设计数据宽度和地址宽度均为8位;2、设计对RAM进行测试的波形文件,完成对RAM硬件测试;3、利用系统读写RAM的工具对其中的数据进行读、写、修改、加载新的数据文件操作;4、写出实验报告,包括工作原理、调试和测试结果。
图8-1 RAM的结构
图8-2 lpm_ram_dq加入初始化文件和选择在系统读写RAM功能
图8-3 使用在系统读写RAM的工具对lpm_ram中的数据进行读写操作
实验结果
(1)输入 R/W 为 0,地址为 00,数据为 cd,给一个脉冲,输出为 FF,符合预期
(2)输入 R/W 为 1,地址为 00,数据为 22,给一个脉冲,输出为 22,符合预期
(3)输入 R/W 为 0,地址为 00,数据为 22,给一个脉冲,输出为 22,符合预期
(4)输入 R/W 为 0,地址为 01,数据为 22,给一个脉冲,输出为 FE,符合预期
(5)查看 RAM 数据,符合预期