存储器设计:存储器设计课程设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机组成原理实验

实验五存储器设计

专业班级计算机科学与技术

学号0936008 姓名冯帆

学号0936036 姓名张琪

实验地点理工楼901

实验五存储器设计

一、实验目的

1、掌握RAM 和ROM 的Verilog 语言描述方法;

2、学习用宏模块的方法定制RAM 和ROM 。

二、实验内容

1、设计并实现一个8*8 的单端口的RAM ;

2、设计并实现一个128*16的ROM ;

3、设计并实现一个双端口的128*16的RAM 。

4、设计并实现正弦信号发生器,参考“正弦信号发生器实验指南”。

三、实验仪器及设备

PC 机+ Quartus Ⅱ0 + DE2-70

四、实验步骤

打开Quartus 软件,新建工程。

2.分析单端口,双端口,ROM,RAM 的含义。

3.Verilog 程序如下,并简单注释。

module SingleRamTest(read_data, read_address, write_data,

write_address, memwrite, clock, reset);

output [7:0] read_data; //数据的输出

input [2:0] read_address; //读数据地址的输入

input [7:0] write_data; //写数据地址的输入

input [2:0] write_address; //写数据地址的输入

input memwrite; //若该信号为1,进行写操作,反之,写操作input clock;

input reset; //复位和时钟信号

reg [7:0] read_data, mem0,

mem1,mem2,mem3,mem4,mem5,mem6,mem7; //设置存储器存储单元

always @(read_address or mem0 or mem1 or mem2 or mem3 or mem4 or mem5 or mem6 or mem7) //若上述信号有一个发生变化,则启动该模块begin

case(read_address) //读地址确定唯一的存储单元并将数据存储到readdata 中

3"b 000: read_data=mem0;

3"b 001: read_data=mem1;

3"b 010: read_data=mem2;

3"b 011: read_data=mem3;

3"b 100: read_data=mem4;

3"b 101: read_data=mem5;

3"b 110: read_data=mem6;

3"b 111: read_data=mem7;

default: read_data=8"h FF;

endcase

end

always @(posedge clock or posedge reset) //在时钟或者复位信号的控制下begin

if (reset) //如果复位,则所有存储单元都设置为初始化值begin

mem0=8"h 55;

mem1=8"h 55;

mem2=8"h 55;

mem3=8"h 55;

mem4=8"h 55;

mem5=8"h 55;

mem6=8"h 55;

相关文档
最新文档