- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
湘潭大学计算机原理实验四多周期MIPSCPU存储器实验预习报告要点
实验四 多周期MIPS CPU +存储器实验
一.实验目的
1、深入理解MIPS—CPU指令系统的功能和工作原理;
2、掌握多周期CPU的工作原理和逻辑功能实现;
3、熟练掌握用Verilog HDL语言设计多周期存储器的方法;
4、熟练掌握对多周期存储器的仿真实验验证和硬件测试两种调试方法;
5、通过对多周期CPU的运行情况进行观察和分析,进一步加深理解。
二.实验设备
硬件:现代计算机组成原理实验系统(兼)Nios 32位嵌入式系统实验开发平台 EP1C12Q240
Core(TM)i3-3240 CPU@3.40GHz 3.39GHz 1.91GB的内存
软件:QuartusII 13.0sp1
Microsoft Windows xp
三.实验内容
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.设计一个存储器
四.实验原理与步骤
实现上述原理框图根据功能将其分划分为控制单元(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)组成。
五.实验源代码
寄存器元件代码:
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)
2b00: select = a0;
2b01: select = a1;
2b10: select = a2;
2b11: select = a3;
endcase
endfunction
assign y = select (a0,a1,a2,a3,s);
endmodule
5位二选一选择器:
module mux2x5 (a0,a1,s,y);
input [4:0] a0,a1;
input s;
output[
您可能关注的文档
- 2017届高三政治一轮复习必修1神奇的货币要点.ppt
- 2017届高三物理一轮复习 动量守恒定律波粒二象性 原子结构与原子核 第4讲 验证动量守恒定律课件要点.ppt
- 2017届高三——撒哈拉以南的非洲要点.ppt
- 20170301商墅案例要点.pptx
- 2017届高二历史选考周练卷五要点.doc
- 2017届高三语文二轮复习第一部分专题突破六语言文字运用抢分点十七语言综合表达题_灵活处理因题求法要点.doc
- 湖南省茶陵县第三中学高中政治必修一课件-6.2股票、债券和保险(共36张PPT)要点.ppt
- 2017届高三物理一轮复习 第六章 静电场 第2讲 电场 电场强度课件要点.ppt
- 湘潭公元国际社区项目简介20150413要点.doc
- 湘潭到武功山活动攻略要点.doc
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)