fix of
This commit is contained in:
parent
f63cc9738f
commit
1f41f702e2
4
cpu.sv
4
cpu.sv
|
@ -17,6 +17,7 @@ module cpu (
|
||||||
logic [7:0] alu_result;
|
logic [7:0] alu_result;
|
||||||
logic alu_overflow;
|
logic alu_overflow;
|
||||||
logic alu_done;
|
logic alu_done;
|
||||||
|
logic compute_of;
|
||||||
|
|
||||||
alu alu (
|
alu alu (
|
||||||
alu_rst,
|
alu_rst,
|
||||||
|
@ -193,6 +194,7 @@ module cpu (
|
||||||
instr.alu_i.op <= structs::ADD;
|
instr.alu_i.op <= structs::ADD;
|
||||||
instr.alu_i.operand_a <= opcode[7:0];
|
instr.alu_i.operand_a <= opcode[7:0];
|
||||||
instr.alu_i.operand_b <= registers[opcode[11:8]];
|
instr.alu_i.operand_b <= registers[opcode[11:8]];
|
||||||
|
compute_of <= 0;
|
||||||
|
|
||||||
state <= ST_EXEC;
|
state <= ST_EXEC;
|
||||||
end
|
end
|
||||||
|
@ -312,7 +314,7 @@ module cpu (
|
||||||
if (alu_done) begin
|
if (alu_done) begin
|
||||||
instr.src <= BYTE;
|
instr.src <= BYTE;
|
||||||
instr.src_byte <= alu_result;
|
instr.src_byte <= alu_result;
|
||||||
registers[15] <= alu_overflow;
|
registers[15] <= compute_of ? alu_overflow : registers[15];
|
||||||
state <= ST_WB;
|
state <= ST_WB;
|
||||||
program_counter <= program_counter + 2;
|
program_counter <= program_counter + 2;
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue