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

上传人:yh****1 文档编号:125813330 上传时间:2020-03-20 格式:DOC 页数:28 大小:1.21MB
返回 下载 相关 举报
实验四多周期CPU与存储器实验_第1页
第1页 / 共28页
实验四多周期CPU与存储器实验_第2页
第2页 / 共28页
实验四多周期CPU与存储器实验_第3页
第3页 / 共28页
实验四多周期CPU与存储器实验_第4页
第4页 / 共28页
实验四多周期CPU与存储器实验_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《实验四多周期CPU与存储器实验》由会员分享,可在线阅读,更多相关《实验四多周期CPU与存储器实验(28页珍藏版)》请在金锄头文库上搜索。

1、 .湘潭大学实验报告 课程名称计算机原理与设计实验名称_多周期CPU与存储器实验 _ 页数 专业计算机科学与技术班级_2_同组者姓名 组别学号2015962138姓名庄振南实验日期_2016.11.02_ 一、实验目的 1、深入理解MIPSCPU指令系统的功能和工作原理;2、掌握多周期CPU的工作原理和逻辑功能实现;3、熟练掌握用Verilog HDL语言设计多周期存储器的方法;4、熟练掌握对多周期存储器的仿真实验验证和硬件测试两种调试方法;5、通过对多周期CPU的运行情况进行观察和分析,进一步加深理解。二、实验要求 1、深入理解MIPSCPU指令系统的功能和工作原理;2、掌握多周期CPU的工

2、作原理和逻辑功能实现;3、熟练掌握用Verilog HDL语言设计多周期存储器的方法;三、实验原理 实现上述原理框图根据功能将其分划分为控制单元(cunit)、执行单元(eunit)、指令单元(iunit)以及存储单元(munit)四大模块。 (1).控制单元(cunit)是多周期微处理器的核心控制微处理器取指令、指令译码和指令执行等工作。主要由指令译码器控制器(outputs control)、算术逻辑运算控制器(ALU control)两个子模块组成。 (2).执行单元(eunit)主要由寄存器堆(registers)和算术逻辑单元(ALU)两个子模块组成。其中寄存器是微处理器最基本的元素

3、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(

4、3)位移指令sll、srl、sra(4)条件分支指令beq、bne、(5)无条件跳转指令j、jr (6)数据传送指令lw、sw2.设计一个存储器五、实验环境与设备 电脑,电箱。六、实验代码设计(含符号说明) 寄存器元件代码:module regfile (rna,rnb,d,wn,we,clk,clrn,qa,qb);input4:0rna,rnb,wn;input31:0d;inputwe,clk,clrn;output31:0qa,qb;reg31:0register1:31;/r1-r31assign qa = (rna = 0) ? 0 : registerrna;/readassig

5、n qb = (rnb = 0) ? 0 : registerrnb;/readalways (posedge clk or negedge clrn) beginif (clrn = 0) begin/resetinteger i;for (i=1; i32; i=i+1)registeri = 0;endelse beginif (wn != 0) & (we = 1)/writeregisterwn = d;endendendmodule32位四选一选择器:module mux4x32 (a0,a1,a2,a3,s,y);input 31:0a0,a1,a2,a3;input1:0s;o

6、utput31:0y;function31:0select;input 31:0a0,a1,a2,a3;input 1:0s;case (s)2b00:select=a0;2b01:select=a1;2b10:select=a2;2b11:select=a3;endcaseendfunctionassigny=select (a0,a1,a2,a3,s);endmodule5位二选一选择器:module mux2x5 (a0,a1,s,y);input 4:0a0,a1;inputs;output4:0y;assigny = s ? a1 : a0;endmodule32位二选一选择器:mo

7、dule mux2x32 (a0,a1,s,y);input 31:0a0,a1;inputs;output31:0y;assigny = s ? a1 : a0;endmodule存储器元件:module mcmem (clk, dataout, datain, addr, we, inclk, outclk);input31:0 datain;input31:0 addr;inputclk, we, inclk, outclk;output31:0dataout;wirewrite_enable = we & clk;lpm_ram_dqram (.data(datain),.addres

8、s(addr7:2),.we(write_enable),.inclock(inclk),.outclock(outclk),.q(dataout);defparamram.lpm_width=32;defparam ram.lpm_widthad=6;defparamram.lpm_indata=registered;defparamram.lpm_outdata=registered;defparamram.lpm_file=mcmem.mif;defparamram.lpm_address_control=registered;endmodule控制部件:module mccu (op,

9、 func, z, clock, resetn, wpc, wir, wmem, wreg, iord, regrt, m2reg, aluc, shift, alusrca, alusrcb, pcsource, jal, sext, state);input5:0op, func;inputz, clock, resetn;output regwpc, wir, wmem, wreg, iord, regrt, m2reg;output reg3:0aluc;output reg1:0alusrcb, pcsource;output regshift, alusrca, jal, sext

10、;output reg2:0state;reg2:0next_state;parameter2:0sif=3b000,/ IF statesid=3b001,/ ID statesexe=3b010,/ EXE statesmem=3b011,/ MEM stateswb=3b100;/ WB statewire r_type,i_add,i_sub,i_and,i_or,i_xor,i_sll,i_srl,i_sra,i_jr;wire i_addi,i_andi,i_ori,i_xori,i_lw,i_sw,i_beq,i_bne,i_lui,i_j,i_jal;and(r_type,op

11、5,op4,op3,op2,op1,op0);and(i_add,r_type, func5,func4,func3,func2,func1,func0);and(i_sub,r_type, func5,func4,func3,func2, func1,func0);and(i_and,r_type, func5,func4,func3, func2,func1,func0);and(i_or, r_type, func5,func4,func3, func2,func1, func0);and(i_xor,r_type, func5,func4,func3, func2, func1,fun

12、c0);and(i_sll,r_type,func5,func4,func3,func2,func1,func0);and(i_srl,r_type,func5,func4,func3,func2, func1,func0);and(i_sra,r_type,func5,func4,func3,func2, func1, func0);and(i_jr, r_type,func5,func4, func3,func2,func1,func0);and(i_addi,op5,op4, op3,op2,op1,op0);and(i_andi,op5,op4, op3, op2,op1,op0);and(i_ori, op5,op4, op3, op2,op1, op0);and(i_xori,op5,op4, op3, op2, op1,op0);and(i_lw, op5,op4,op3,op2, op1, op0);and(i_sw, op5,op4, op3,op2, op1, op0);and(i_beq, op5,op4,op3, op2,op1,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 设计及方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号