杭电计算机组成原理实验九R-I,杭电计组实验9-实现R-I型指令的CPU设计实验.doc

***

***

实验报告

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;

assign imm_data=(imm_s)?{{16{imm[15]}},imm}:{{16{1'b0}},imm};

Register_file R_connect(rs,rt,W_Addr,Write_Reg,W_Data,~clk,rst,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值