实验四 多周期CPU与存储器实验.docVIP

  • 36
  • 0
  • 约1.95万字
  • 约 16页
  • 2020-01-21 发布于天津
  • 举报
湘?潭?大?学?实?验?报?告 ? 课程名称??????????计算机原理与设计??????????????实验名称__________ 多周期CPU与存储器实验 _______________ ??页数???? 专业?????计算机科学与技术???????????????????班级________2_____________??同组者姓名??????????? 组别??????????学号???????????2015962138?????姓名??庄振南???????????????实验日期___2016.11.02____________ ? 一、实验目的 1、深入理解MIPS—CPU指令系统的功能和工作原理; 2、掌握多周期CPU的工作原理和逻辑功能实现; 3、熟练掌握用Verilog HDL语言设计多周期存储器的方法; 4、熟练掌握对多周期存储器的仿真实验验证和硬件测试两种调试方法; 5、通过对多周期CPU的运行情况进行观察和分析,进一步加深理解。 二、实验要求 1、深入理解MIPS—CPU指令系统的功能和工作原理; 2、掌握多周期CPU的工作原理和逻辑功能实现; 3、熟练掌握用Verilog HDL语言设计多周期存储器的方法; 三、实验原理 实现上述原理框图根据功能将其分划分为控制单元(cunit)、执行单元(eunit)、指令单元(iunit)以及存储单元(munit)四大模块。 (1).控制单元(cunit)是多周期微处理器的核心控制微处理器取指令、指令译码和指令执行等工作。主要由指令译码器控制器(outputs control)、算术逻辑运算控制器(ALU control)两 个子模块组成。 (2).执行单元(eunit)主要由寄存器堆(registers)和算术逻辑单元(ALU)两个子模块组成。其中寄存器是微处理器最基本的元素MIPS系统的寄存器堆由32个32位寄存器组成而ALU则是微处理器的主要功能部件执行加、减、比较等算术运算和与、或、或非、异或等逻辑运算。指令单元(iunit)的作用是决定下一条指令的地址PC值。 (3).存储单元(munit)由存储器(memory)、指令寄存器(instruction register)和存储数据寄存 器(memory data register)组成。 四、实验内容 1、设计一个32位MIPS多周期CPU具体的要求如下: 至少运行下列的6类32条MIPS指令。 (1)算术逻辑指令and、sub、addi (2)逻辑运算指令and、0r、xor、 andi、 ori、xori (3)位移指令sll、srl、sra (4)条件分支指令beq、bne、 (5)无条件跳转指令j、jr (6)数据传送指令lw、sw 2.设计一个存储器 五、实验环境与设备 电脑,电箱。 六、实验代码设计(含符号说明) 寄存器元件代码: module regfile (rna,rnb,d,wn,we,clk,clrn,qa,qb); input [4:0] rna,rnb,wn; input [31:0] d; input we,clk,clrn; output [31:0] qa,qb; reg [31:0] register [1:31]; //r1-r31 assign qa = (rna == 0) ? 0 : register[rna]; //read assign qb = (rnb == 0) ? 0 : register[rnb]; //read always @ (posedge clk or negedge clrn) begin if (clrn == 0) begin //reset integer i; for (i=1; i32; i=i+1) register[i] = 0; end else begin if ((wn != 0) (we == 1)) //write register[wn] = d; end end endmodule 32位四选一选择器: module mux4x32 (a0,a1,a2,a3,s,y); input [31:0] a0,a1,a2,a3; input [1:0] s; output [31:0] y; function [31:0] select; input [31:0] a0,a1,a2,a3; input [1:0] s; case (s) 2b0

文档评论(0)

1亿VIP精品文档

相关文档