[计算机组成原理][R-I-J型指令CPU设计实验总结]

总算解决一大心头之患了,比想象中容易,通宵两夜,刷完了十个实验,这个实验就是最后的了。感慨颇多。特地写篇总结。

  • 想做一件事,就立马去做把。你会发现没那么困难,往往最大的困难,是心里的困难

  • 培养了HDL(Hardware Description Language)思维,并行串行混合。它先是一个电路,再才是一个程序电路为主,程序为辅,用RTL的思维去思考。

  • 这个实验也不怎么难,就是一个大的模拟题,当年ACM给我良好的代码功底受益颇多。

  • 能硬件级别揣摩CPU的一点点运行方式,但是还有很多疑问,需要看书去解决。

  • 这次的实验只是在心里面扎了一个种子(种子当然很重要啦~),需要看完CSAPP,和硬件/软件接口那两本书才能成长为苍天大树。

  • 实验驱动型+看书解决型,现阶段最好的学习方法了~

以下是本次实验的数据通路

module cpu

module cpu(clk,reset,ALU_OP,inst,rs,rt,rd,rs_data,rt_data,rd_data,ZF,OF,Write_Reg,PC,PC_new,rd_rt_s,W_Addr,imm,W_Data,imm_s,imm_data
,ALU_B,rt_imm_s,Mem_Write,M_R_Data,ALU_Data,alu_mem_s,w_r_s,wr_data_s,PC_s,address);
input wire clk;
input reset;
output [2:0] ALU_OP;    //操作符
output [31:0] inst;     //指令存放
output [4:0] rs;    //rs地址
output [4:0] rt;    //rt地址
output [4:0] rd;    //rd地址
output [31:0] rs_data;  //rs数据
output [31:0] rt_data;  //rt数据
output [31:0] rd_data;  //rd数据
output [31:0] PC;
output [31:0] PC_new;
output ZF;
output OF;
output Write_Reg;           //是否写入
output [31:0] W_Data;
output rd_rt_s; //控制那个作为目的寄存器
output [4:0]W_Addr;//目的操作数地址
output [15:0] imm; //立即数
output [31:0] imm_data;//被扩展的立即数
output imm_s;//是否需要扩展
output rt_imm_s;    //B端选择rt或者是imm
output [31:0] ALU_B;    //ALU_B端口数据
output Mem_Write;       //是否写入数据rom
output [31:0]M_R_Data;//从数据rom读出来的数据
output [31:0]ALU_Data;//ALU运算出来的结果,根据alu_mem_s选择由M_W_Data或者W_Data来赋值
output alu_mem_s;//看上面
output [1:0] w_r_s;
output [1:0] wr_data_s;
output [1:0] PC_s;//PC选择器
output [25:0] address;//地址解析数据
    //读指令
   ex7 pc (
  .clka(clk), 
  .douta(inst), 
  .rst(reset),
  .PC(PC),
  .PC_new(PC_new),
  .PC_s(PC_s),
  .R_Data_A(rs_data),
  .imm_data(imm_data),
  .address(address)
  //解析指令
  );
  analysis_inst analysis_inst(  
        .inst(inst),
        .ALU_OP(ALU_OP),
        .rs(rs),
        .rt(rt),
        .rd(rd),
        .Write_Reg(Write_Reg),
        .imm(imm),
        .rd_rt_s(rd_rt_s),
        .imm_s(imm_s),
        .rt_i
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值