杭电 2016 计算机组成原理,杭电计组实验5-存储器设计实验

1、1杭电计组实验杭电计组实验 5-5-存储器设存储器设 计实验计实验导读:就爱阅读网友为您分享以下导读:就爱阅读网友为您分享以下“杭电计组实验杭电计组实验 5-存存储器设计实验储器设计实验”的资讯,希望对您有所帮助,感谢您对的资讯,希望对您有所帮助,感谢您对 的支持的支持!杭州电子科技大学计算机学院杭州电子科技大学计算机学院 实验报告实验报告 实验项目:实验项目: 课程名称:计算机组成原理与系统结构设计课程名称:计算机组成原理与系统结构设计 姓名:姓名: 学号:学号: 同组姓名:同组姓名: 学号:学号: 实验位置(机号):实验位置(机号): 实验日期:实验日期: 指导教师:指导教师: 一、实验目的一、实验目的 (1)掌握灵活应用)掌握灵活应用 Verilog HDL 进行各进行各种描述与建模的技巧和方法。种描述与建模的技巧和方法。 (2)学习在)学习在 ISE 中设计生中设计生成成 M 恶魔人员恶魔人员 IP 核的方法。核的方法。 (3)学习存储器的结构及读)学习存储器的结构及读写原理,掌握存储器的设计方法。写原理,掌握存储器的设计方法。 二、实验仪器二、实验仪器 ISE 工工2具软件具。

2、软件 三、步骤、方法三、步骤、方法 (1)在)在 ISE 的工程目录里生成一的工程目录里生成一个扩展名为个扩展名为 Test_Mem.coe。该文件是用于。该文件是用于 Memory IP 核的核的初始化文件。文件包括两行,初始化文件。文件包括两行, memory_initialization_radix=16; memory_initialization_vector=00000820,00632020,00010fff,20006789,FFFF0000,0000FFFF,88888888,99999999,aaaaaaaa,bbbbbbbb; (2)启动)启动 ISE 工具软件,选择工具软件,选择 File-New Project,输入工程名输入工程名 shiyan5,默认选择后,点击实验,默认选择后,点击实验 Next按钮,确认工程信息后点击按钮,确认工程信息后点击 Finish 按钮,创建一个完整的按钮,创建一个完整的工程工程 内容(内容(3)在工程管理区的任意位置右击,选择)在工程管理区的任意位置右击,选择 New Source 命令。弹出命令。弹出 New Source 。

3、Wizard 对(算话框,选择对(算话框,选择IP(CORE Generator input Clk; input Reset; input 4:0R_Addr_A; input 4:0R_Addr_B; input 4:0W_Addr; output 31:0R_Data_A; output 31:0R_Data_B; input 31:0W_Data; input wire Write_reg; input wire wea; input 7:2addr; output 31:0douta; jicunqidui FA0( .R_Addr_A(R_Addr_A), .R_Addr_B(R_Addr_B), .Clk(Clk), .W_Addr(W_Addr), .W_Data(W_Data), .Reset(Reset), .R_Data_A(R_Data_A), .R_Data_B(R_Data_B), .Write_reg(Write_reg); ram FA1( .wea(wea), .addr(addr7:2), .dina(R_Data_A), .douta(douta)。

4、, .clk(Clk); endmodule module jicunqidui(R_Addr_A,R_Addr_B,Clk,W_Addr,W_Data,R_Data_A,R_Data_B,Reset,Write_reg); input Clk,Reset; input wire Write_reg; input wire4:0R_Addr_A; input wire4:0W_Addr; input wire4:0R_Addr_B; input wire32:0W_Data; reg 31:0REG_Files31:0; output 5wire0:31R_Data_A; output wire0:31R_Data_B; integer i=0; always(posedge Clk or posedge Reset) begin if(Reset) begin for(i=0;i .clka(clk), / input clka .wea(wea), / input 0 : 0 wea .addra(addr7:2), / input 5 : 0 addra .dina(dina),。

5、 / input 31 : 0 dina .douta(douta) / output 31 : 0 douta ); endmodule 仿真仿真代码代码 Jicunchu 的仿真的仿真 module text2; / Inputs reg 4:0 R_Addr_A; reg 4:0 R_Addr_B; reg Clk; reg 4:0 W_Addr; reg 31:0 W_Data; reg Reset; reg Write_reg; reg wea; reg 7:2 addr; / Outputs wire 31:0 R_Data_A; wire 31:0 R_Data_B; wire 31:0 douta; / Instantiate the Unit Under Test (UUT) jicunchu uut ( .R_Addr_A(R_Addr_A), .R_Addr_B(R_Addr_B), .Clk(Clk), .W_Addr(W_Addr), .W_Data(W_Data), .R_Data_A(R_Data_A), .R_Data_B(R_Data_B), .Res。

6、et(Reset), .Write_reg(Write_reg), .wea(wea), .addr(addr7:2), .douta(douta) ); initial begin / Initialize Inputs R_Addr_A = 0; R_Addr_B = 0; Clk = 0; W_Addr = 0; W_Data = 0; Reset = 1; Write_reg = 0; wea = 0; addr = 0; / Wait 100 ns for global reset to finish / Add stimulus here #100; Reset = 0; Clk = 0; #100; 6W_Addr =5b11011; W_Data = 32b 11111111110001111111111101101111; Write_reg = 1; Clk=0; #50; Clk=1; #100; R_Addr_A = 5b11011; R_Addr_B = 0; Clk = 0; Write_reg = 0; #100; R_Addr_A = 5b11011; 。

7、Write_reg=0; Clk = 0; W_Addr = 0; W_Data = 0; #10; Clk=0; wea = 1; addr =8b00110100; #10; Clk=1; #100; wea = 0; addr =8b00110100; #100; Clk=0; #10; Clk=1; end Endmodule RAM 的仿真的仿真 module text3; / Inputs reg clk; reg 0:0 wea; reg 7:2 addr; reg 31:0 dina; / Outputs wire 31:0 douta; / Instantiate the Unit Under Test (UUT) ram uut ( .clk(clk), .wea(wea), .addr(addr7:2), .dina(dina), .douta(douta) ); initial begin / Initialize Inputs clk = 0; wea = 0; addr = 0; dina = 0; / Wait 100 ns for global rese。

8、t to finish #100; / Add stimulus here clk = 0; wea = 0; addr = 6b000001; dina = 32b 11111111110001111111111101101111; #100; clk = 1; wea = 0; addr = 6b000001; dina = 32b 11111111110001111111111101101111; #100; clk = 0; 7wea = 1; addr = 6b000001; dina = 32b 11111111110001111111111101101111; #100; clk = 1; wea = 1; addr = 6b000001; dina = 32b 11111111110001111111111101101111; end endmodule RTL 图图 二、结果二、结果 思考题:思考题: (3)设计实现一个)设计实现一个 ROM,常规,常规存储器是单端口存储器,每次只接收一个地址,访问一个存储器是单端口存储器,每次只接收一个地址,访问一个存储单元,从中读取或写入一个字节或字。主存储器是信存储单元,从中读取或写入一个字节或字。主存储器是信息交换的中心,一方面息交换的中心,一方面 CPU 频繁地与主存交换信息,另一频繁地与主存交换信息,另一方面外设也较频繁地与主存交换信息,而单端口存储器每方面外设也较频繁地与主存交换信息,而单端口存储器每次只能接受一个访存者,或是读或是写,这就影响到存储次只能接受一个访存者,或是读或是写,这就影响到存储器的整体工作速度。器的整体工作速度。 双端口存储器具有两个彼此独立的双端口存储器具有两个彼此独立的读写口,每个读写口都有一套自己的地址寄存器和译码电读写口,每个读写口都有一套自己的地址寄存器和译码电路,可以并行地独立工作。两个读写口可以按各自接收的路,可以并行地独立工作。两个读写口可以按各自接收的地址同时读出或写入,或一地址同时读出或写入,或一 个写入而另一个读出。与两个独立的存储器不同,两个个写入而另一个读出。。

《杭电计组实验5-存储器设计实验》由会员小**分享,可在线阅读,更多相关《杭电计组实验5-存储器设计实验》请在金锄头文库上搜索。

你可能感兴趣的:(杭电,2016,计算机组成原理)