首页 杭电计组实验8-实现R型指令的CPU设计实验

杭电计组实验8-实现R型指令的CPU设计实验

举报
开通vip

杭电计组实验8-实现R型指令的CPU设计实验实验报告 2018 年  6 月 1  日                                  成绩:        姓名 阳光男 学号 16041321 班级 16052317 专业 计算机科学与技术 课程名称 《计算机组成原理与系统结构试验》 任课老师 张翔老师 指导老师 张翔老师 机位号 无 实验序号 8 实验名称 《实验八 实现R型指令的CPU设计实验》 实验时间 2018/5/25 实验地点 1教225 实验设备号...

杭电计组实验8-实现R型指令的CPU设计实验
实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 2018 年  6 月 1  日                                  成绩:        姓名 阳光男 学号 16041321 班级 16052317 专业 计算机科学与技术 课程名称 《计算机组成原理与系统结构试验》 任课老师 张翔老师 指导老师 张翔老师 机位号 无 实验序号 8 实验名称 《实验八 实现R型指令的CPU 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 实验》 实验时间 2018/5/25 实验地点 1教225 实验设备号 个人电脑 一、实验程序源代码 顶层LED测试模块: module Top_LED(clk,rst,SW,LED); input clk,rst; input [2:0]SW; output reg[7:0]LED; wire ZF,OF; wire [31:0]ALU_F; top_R_cpu test_cpu(rst,clk,ZF,OF,ALU_F); always@(*) begin case(SW) 3'b000:LED=ALU_F[7:0]; 3'b001:LED=ALU_F[15:8]; 3'b010:LED=ALU_F[23:16]; 3'b011:LED=ALU_F[31:24]; 3'b100:begin LED[7:2]=0;LED[1]=OF;LED[0]=ZF;end default:LED=0; endcase end endmodule 顶层R型CPU模块: module top_R_cpu(input rst,input clk,output ZF,output OF,output [31:0]F); reg write_reg; wire [31:0]Inst_code; wire [31:0]R_Data_A; wire [31:0]R_Data_B; reg [2:0]ALU_OP; pc pc_connect(clk,rst,Inst_code); Register_file R_connect(Inst_code[25:21],Inst_code[20:16], Inst_code[15:11],write_reg,F,~clk,rst, R_Data_A,R_Data_B); ALU ALU_connect(R_Data_A,R_Data_B,F,ALU_OP,ZF,OF); always@(*) begin write_reg=0; ALU_OP=0; if(Inst_code[31:26]==0) begin case(Inst_code[5:0]) 6'b100000:ALU_OP=3'b100; 6'b100010:ALU_OP=3'b101; 6'b100100:ALU_OP=3'b000; 6'b100101:ALU_OP=3'b001; 6'b100110:ALU_OP=3'b010; 6'b100111:ALU_OP=3'b011; 6'b101011:ALU_OP=3'b110; 6'b000100:ALU_OP=3'b111; endcase write_reg=1; end end endmodule PC取指令模块: module pc(input clk,input rst,output [31:0]Inst_code); reg [31:0]PC; wire[31:0]PC_new; initial PC<=32'h00000000; Inst_ROM Inst_ROM1 ( .clka(clk), .addra(PC[7:2]), .douta(Inst_code) ); assign PC_new={24'h000000,PC_new[7:0]}; always@(negedge clk or posedge rst) begin if(rst) PC=32'h00000000; else PC=PC_new; end endmodule 寄存器堆模块: module Register_file(R_Addr_A,R_Addr_B,W_Addr,Write_Reg,W_Data,Clk,Reset,R_Data_A,R_Data_B); input [4:0]R_Addr_A; input [4:0]R_Addr_B; input [4:0]W_Addr; input Write_Reg; input [31:0]W_Data; input Clk; input Reset; output [31:0]R_Data_A; output [31:0]R_Data_B; reg [31:0]REG_Files[0:31]; reg [5:0]i; initial//仿真过程中的初始化 begin for(i=0;i<=31;i=i+1) REG_Files[i]=0; end assign R_Data_A=REG_Files[R_Addr_A]; assign R_Data_B=REG_Files[R_Addr_B]; always@(posedge Clk or posedge Reset) begin if(Reset) for(i=0;i<=31;i=i+1) REG_Files[i]=0; else if(Write_Reg&&W_Addr!=0) REG_Files[W_Addr]=W_Data; end endmodule ALU算术逻辑运算单元模块: module ALU(A,B,F,ALU_OP,ZF,OF); input [31:0]A,B; input [2:0]ALU_OP; output reg ZF,OF; output reg[31:0]F; reg C32; always@(*) begin OF=1'b0; C32=1'b0; case(ALU_OP) 3'b000:F=A&B; 3'b001:F=A|B; 3'b010:F=A^B; 3'b011:F=~(A^B); 3'b100:begin {C32,F}=A+B;OF=A[31]^B[31]^F[31]^C32;end 3'b101:begin {C32,F}=A-B;OF=A[31]^B[31]^F[31]^C32;end 3'b110: if(A 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 序号 指令 执行结果 标志 结论 1 0000827 FFFFFFFF 0 0 正确 2 0001102b 0000_0001 0 0 正确 3 00421820 0000_0002 0 0 正确 4 00622020 0000_0003 0 0 正确 5 00832820 0000_0005 0 0 正确 6 00a33020 0000_0007 0 0 正确 7 00463804 0000_000E 0 0 正确 8 00a64820 0000_000C 0 0 正确 9 01264004 0000_7000 0 0 正确 10 00284826 FFFF_8FFF 0 0 正确 11 01215020 FFFF_8FFE 0 0 正确 12 01075822 0000_6FF2 0 0 正确 13 00e86022 FFFF_900E 0 0 正确 14 012c6824 FFFF_800E 0 0 正确 15 012c7025 FFFF_9FFF 0 0 正确 16 00c77825 0000_FFFF 0 0 正确            
本文档为【杭电计组实验8-实现R型指令的CPU设计实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_511210
暂无简介~
格式:doc
大小:44KB
软件:Word
页数:0
分类:互联网
上传时间:2019-08-27
浏览量:96