diff --git a/src/decoder.sv b/src/decoder.sv index 6770ddf84..e3be7ed17 100644 --- a/src/decoder.sv +++ b/src/decoder.sv @@ -382,6 +382,7 @@ module decoder ( instruction_o.fu = ALU; imm_select = UIMM; instruction_o.use_pc = 1'b1; + instruction_o.rd = instr.utype.rd; end OPCODE_LUI: begin diff --git a/src/scoreboard.sv b/src/scoreboard.sv index 3de14ec50..3d6ff87a9 100644 --- a/src/scoreboard.sv +++ b/src/scoreboard.sv @@ -200,6 +200,9 @@ always_comb begin : push_instruction_and_wb mem_n[trans_id_i[j]].ex = ex_i[j]; end end + // ------------------------------ + // Flush un-issued instructions + // ------------------------------ // flush all instructions which are not issued, e.g. set the top pointer back to the issue pointer // -> everything we decoded so far was garbage if (flush_unissued_instr_i) begin