实用文档
标准文案大全
实验报告
2018 年 6 月 1 日 成绩:
姓名
阳光男
学号班级专业
计算机科学与技术
课程名称
《计算机组成原理与系统结构试验》
任课老师
张翔老师
指导老师
张翔老师
机位号
无
实验序号
9
实验名称
《实验九 实现R-I型指令的CPU设计实验》
实验时间
2018/6/2
实验地点
1教221
实验设备号
个人电脑
一、实验程序源代码
顶层RI型指令CPU模块测试文件:
module test;
// Inputs
reg rst;
reg clk;
// Outputs
wire ZF;
wire OF;
wire [31:0] F;
wire [31:0] M_R_Data;
// Instantiate the Unit Under Test (UUT)
TOP_RI_CPU uut (
.rst(rst),
.clk(clk),
.ZF(ZF),
.OF(OF),
.F(F),
.M_R_Data(M_R_Data)
);
initial begin
// Initialize Inputs
rst = 0;
clk = 0;
// Wait 100 ns for global reset to finish
#100;
clk=1;
// Add stimulus here
forever
begin
#50;
clk=~clk;
end
end
endmodule
顶层LED验证模块:
module TOP_LED(clk_100MHz,oclk,rst,SW,LED);
input clk_100MHz;
input oclk,rst;
input [3:0]SW;
output reg[7:0]LED;
wire rclk;
wire ZF,OF;
wire [31:0]F;
wire [31:0]M_R_Data;
xiaodou doudong(clk_100MHz,oclk,rclk);
TOP_RI_CPU(clk_100MHz,rst,rclk,ZF,OF,F,M_R_Data);
always@(*)
begin
case(SW)
3'b0000:LED=F[7:0];
3'b0001:LED=F[15:8];
3'b0010:LED=F[23:16];
3'b0011:LED=F[31:24];
3'b0100:LED=M_R_Data[7:0];
3'b0101:LED=M_R_Data[15:8];
3'b0110:LED=M_R_Data[23:16];
3'b0111:LED=M_R_Data[31:24];
3'b1111:begin LED[7:2]=0;LED[1]=OF;LED[0]=ZF;end
default:LED=0;
endcase
end
endmodule
顶层RI型指令CPU模块
module TOP_RI_CPU(input rst,input clk,output ZF,output OF,output [31:0]F,output [31:0]M_R_Data);
wire Write_Reg;
wire [31:0]Inst_code;
wire [4:0]rs;
wire [4:0]rt;
wire [4:0]rd;
wire [31:0]rs_data;
wire [31:0]rt_data;
wire [31:0]rd_data;
wire [31:0]imm_data;
wire [15:0]imm;
wire rd_rt_s;
wire imm_s;
wire Mem_Write;
wire alu_mem_s;
wire [31:0]W_Addr;
wire [31:0]W_Data;
wire [31:0]R_Data_A;
wire [31:0]R_Data_B;
wire [31:0]F;
wire [31:0]ALU_B;
wire [2:0]ALU_OP;
pc pc_connect(clk,rst,Inst_code);
OP_YIMA op(Inst_code,ALU_OP,rs,rt,rd,Write_Reg,imm,rd_rt_s,imm_s,rt_imm_s,Mem_Write,alu_mem_s);
assign W_Addr=(rd_rt_s)?rt:rd;
assig