计组实验
根据opcode生成控制信号 不同类型指令方式不同(查表)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
wire rtype = ~Op[6]&Op[5]&Op[4]&~Op[3]&~Op[2]&Op[1]&Op[0]; wire i_add = rtype& ~Funct7[6]&~Funct7[5]&~Funct7[4]&~Funct7[3]&~Funct7[2]&~Funct7[1]&~Funct7[0]&~Funct3[2]&~Funct3[1]&~Funct3[0]; ...
assign RegWrite = rtype | itype_r | LUI | itype_l; assign MemWrite = stype; assign ALUSrc = itype_r | LUI | itype_l | stype;
assign EXTOp[5] = 0; assign EXTOp[4] = i_addi | itype_l | i_andi; assign EXTOp[3] = stype; assign EXTOp[2] = sbtype; assign EXTOp[1] = LUI; assign EXTOp[0] = i_jal;
assign WDSel[1] = i_jal | i_jalr; assign WDSel[0] = itype_l;
|