fix alu result output

This commit is contained in:
2026-09-20 18:02:55 -04:00
parent 88d0974585
commit 605de84e6a
+5 -8
View File
@@ -6,24 +6,21 @@ module alu (
output logic alu_zero_o, output logic alu_zero_o,
output logic [31:0] alu_result_o output logic [31:0] alu_result_o
); );
logic [31:0] result;
always_comb begin always_comb begin
unique case (alu_control_i) unique case (alu_control_i)
// add // add
2'b00: result = a_i + b_i; 2'b00: alu_result_o = a_i + b_i;
// sub // sub
2'b01: result = a_i - b_i; 2'b01: alu_result_o = a_i - b_i;
// sll // sll
// can only shift by 32 pos // can only shift by 32 pos
2'b10: result = a_i << b_i[4:0]; 2'b10: alu_result_o = a_i << b_i[4:0];
// srl // srl
// can only shift by 32 pos // can only shift by 32 pos
2'b11: result = a_i >> b_i[4:0]; 2'b11: alu_result_o = a_i >> b_i[4:0];
endcase endcase
alu_zero_o = (result == 1'b0); alu_zero_o = (alu_result_o == 1'b0);
end end
endmodule endmodule