杭电计算机组成原理存储器设计实验5.doc
文本预览下载声明
杭州电子科技大学计算机学院
实验报告
课程名称:计算机组成原理
实验项目:存储器设计实验
指导教师:
实验位置:5
姓 名:
班 级:
学 号:
日 期:2015年5月15日
实验目的
学习和使用Verlilog HDL 进行和思绪电路的设计方法
学习在ISE中设计生产Memory IP 核的方法
学习存储器的结构及读写原理,掌握储存器的设计方法
实验环境
ISE Design Suite 14.6Digilent Adept
Nexys3实验板
实验内容(算法、程序、步骤和方法)
生成Mempry IP 核的产生步骤
新建关联文档 *.coe 初始化文件操作
新建一个Memory IP 内核
Memory IP 内核的参数设置
调用RAM_B 存储模块
编写一个实验验证的的顶层模块,调用生成的存储器模块
配置管脚产生* .bit文件
顶层模块:
module Test_RAM_B(Mem_Addr,C,Mem_Write,Clk,LED);
input [7:2]Mem_Addr;
input [1:0]C;
input Mem_Write,Clk;
output reg [7:0]LED;
wire [31:0]M_R_Data;
reg [31:0]M_W_Data;
RAM_B ram(
.clka(Clk),
.wea(Mem_Write),
.addra(Mem_Addr[7:2]),
.dina(M_W_Data),
.douta(M_R_Data)
);
always@(*)
begin
LED=0;
M_W_Data=0;
if(!Mem_Write)
begin
case(C)
2b00:LED=M_R_Data[7:0];
2b01:LED=M_R_Data[15:8];
2b10:LED=M_R_Data[23:16];
2b11:LED=M_R_Data[31:24];
endcase
end
else
begin
case(C)
2b00:M_W_Data=32h0002_0003;
2b01:M_W_Data=32h0002_0603;
2b10:M_W_Data=32h1234_5678;
2b11:M_W_Data=32hffff_ffff;
endcase
end
end
endmodule
(接上)
实验内容(算法、程序、步骤和方法)
配置管脚:
NET C[0] LOC = T10;
NET C[1] LOC = T9;
NET Clk LOC = C9;
NET LED[0] LOC = U16;
NET LED[1] LOC = V16;
NET LED[2] LOC = U15;
NET LED[3] LOC = V15;
NET LED[4] LOC = M11;
NET LED[5] LOC = N11;
NET LED[6] LOC = R11;
NET LED[7] LOC = T11;
NET Mem_Addr[2] LOC = V9;
NET Mem_Addr[3] LOC = M8;
NET Mem_Addr[4] LOC = N8;
NET Mem_Addr[5] LOC = U8;
NET Mem_Addr[6] LOC = V8;
NET Mem_Addr[7] LOC = T5;
NET Mem_Write LOC = B8;
数据记录和计算
实验仿真结果
结论(结果)
本实验的结果正确,根据自己写的coe文件中存储的数据进行操作,和实验四有很多的相似处,只是进行简单的读写的操作,实验的结果正确.能够根据操作,lED灯显示具体的数据.
试验心得与小结
本实验和实验四比较来说的话,更为简单,利用IP核中储存数据,我们就可以通过其中存储的数据进行操作,代码也是比较的简单,我们直接调用IP核生成的模块的代码,以至于操作也比较的方便.刚开始不熟悉使用IP核,了解了之后就比较简单了,比第四个实验自己写寄存器更简单.
指导教师
评议
成绩评定: 指导教师签名:
显示全部