《杭电计组实验-存储器设计实验》由会员分享,可在线阅读,更多相关《杭电计组实验-存储器设计实验(8页珍藏版)》请在金锄头文库上搜索。
1、杭电计组实验-存储器设计实验 作者: 日期:6 实验报告 2018 年 5 月 5 日 成绩: 姓名阳光男学号16041321班级16052317专业计算机科学与技术课程名称计算机组成原理与系统结构试验任课老师张翔老师指导老师张翔老师机位号默认实验序号5实验名称实验五 存储器设计实验实验时间2018/5/12实验地点1教211实验设备号个人电脑、Nexys3开发板 一、实验程序源代码存储器顶层电路代码:module top_RAM_B(Mem_Addr,C,Mem_Write,Clk,LED);input 7:2Mem_Addr;/开关的3、4、5、6、7、8位input Mem_Write,
2、Clk;/clk为按键C9,读写使能信号为按键C4,0为读,1为写input 1:0C;/选择写入数据+读操作时选择显示字节,为开关1、2位output reg 7:0LED;wire 31:0M_R_Data;/存在存储器里的32位读出数据reg 31:0M_W_Data;/寄存在暂存器的32位写入数据RAM_B test_ram ( .clka(Clk), /输入时钟信号 .wea(Mem_Write), /输入读写信号 .addra(Mem_Addr7:2), /输入5位地址信号 .dina(M_W_Data), /写入32位数据 .douta(M_R_Data) /读出32位数据);a
3、lways(*)begin LED=0;/初始化 M_W_Data=0;/初始化 if(!Mem_Write)/读操作 begin case(C) 2b00:LED=M_R_Data7:0;/读出数据的0-7位 2b01:LED=M_R_Data15:8;/读出数据的8-15位 2b10:LED=M_R_Data23:16;/读出数据的16-23位 2b11:LED=M_R_Data31:24;/读出数据的24-31位 endcase end else begin case(C) 2b00:M_W_Data=32h0055_7523;/写入第一个数据2b01:M_W_Data=32h1234_
4、5678;/写入第二个数据2b10:M_W_Data=32h8765_4321;/写入第三个数据2b11:M_W_Data=32hffff_ffff;/写入第四个数据endcase endendendmodule测试代码:module test;/ Inputsreg clka;reg 0:0 wea;reg 5:0 addra;reg 31:0 dina;/ Outputswire 31:0 douta;/ Instantiate the Unit Under Test (UUT)RAM_B uut (.clka(clka), .wea(wea), .addra(addra), .dina(
5、dina), .douta(douta);initial begin/ Initialize Inputsclka = 0;wea = 0;addra = 0;dina = 0;/ Wait 100 ns for global reset to finish#100; / Add stimulus hereclka = 1;wea = 0;addra = 6b000001;dina = 32h0000_0003;#100;clka = 0;wea = 0;addra = 6b000001;dina = 32h0000_0607;#100;clka = 1;wea = 1;addra = 6b0
6、00001;dina = 32hFFFF_FFFF;#100;clka = 0;wea = 1;addra = 6b000001;dina = 32hFFFF_FFFF;end endmodule二、仿真波形三、电路图 顶层电路模块 顶层电路内部结构:四、引脚配置(约束文件)NET Clk LOC = C9;NET LED4 LOC = M11;NET LED3 LOC = V15;NET LED2 LOC = U15;NET LED1 LOC = V16;NET LED0 LOC = U16;NET Mem_Addr7 LOC = U8;NET Mem_Addr6 LOC = N8;NET
7、Mem_Addr5 LOC = M8;NET Mem_Addr4 LOC = V9;NET Mem_Addr2 LOC = T10;NET Mem_Write LOC = C4;NET Mem_Addr3 LOC = T9;NET C1 LOC = T5;NET C0 LOC = V8;NET LED7 LOC = T11;NET LED5 LOC = N11;NET LED6 LOC = R11;五、思考与探索(1)读操作实验结果记录表存储器地址 初始化数据 读出数据 写入新数据 读出数据5b000000 32b00000000 32b00000000 32h0055_7523 32h005
8、5_75235b000001 32b00000001 32b00000001 32h0055_7523 32h0055_7523 5b000002 32b00000002 32b00000002 32h0055_7523 32h0055_7523 5b000003 32b00000003 32b00000003 32h0055_7523 32h0055_7523 5b000004 32b00000004 32b00000004 32h0055_7523 32h0055_7523 5b000005 32b00000005 32b00000005 32h0055_7523 32h0055_7523 5b000006 32b00000006 32b00000006 32h0055_7523 32h0055_7523 5b000007 32b00000007 32b00000007 32h0055_7523 32h0055_7523 (2)答:这些单元的数据已经被改写了。读出数据与写入数据一致。