|
|
|
@@ -30,6 +30,7 @@ class InstructionDecode extends MultiIOModule { |
|
|
|
val controlSignals = Output(new ControlSignals) |
|
|
|
val data1 = Output(UInt(32.W)) |
|
|
|
val data2 = Output(UInt(32.W)) |
|
|
|
val data3 = Output(UInt(32.W)) |
|
|
|
val ALUop = Output(UInt(4.W)) |
|
|
|
} |
|
|
|
) |
|
|
|
@@ -39,6 +40,7 @@ class InstructionDecode extends MultiIOModule { |
|
|
|
|
|
|
|
val data1 = RegInit(UInt(32.W), 0.U) |
|
|
|
val data2 = RegInit(UInt(32.W), 0.U) |
|
|
|
val data3 = RegInit(UInt(32.W), 0.U) |
|
|
|
val ALUop = RegInit(UInt(4.W), 0.U) |
|
|
|
val controlSignals = Reg(new ControlSignals) |
|
|
|
|
|
|
|
@@ -69,6 +71,9 @@ class InstructionDecode extends MultiIOModule { |
|
|
|
|
|
|
|
io.data1 := data1 |
|
|
|
io.data2 := data2 |
|
|
|
io.data3 := data3 |
|
|
|
|
|
|
|
data3 := registers.io.readData2 |
|
|
|
|
|
|
|
switch (decoder.op1Select) { |
|
|
|
is (Op1Select.rs1) { |
|
|
|
|