mirror of
https://github.com/openhwgroup/cva6.git
synced 2025-04-20 12:17:19 -04:00
🐛 Fix in sret and outdated WB
This commit is contained in:
parent
322f53bc3c
commit
a5adaa44a7
3 changed files with 5 additions and 3 deletions
|
@ -412,7 +412,7 @@ module csr_regfile #(
|
|||
// the return should not have any write or read side-effects
|
||||
csr_we = 1'b0;
|
||||
csr_read = 1'b0;
|
||||
sret = 1'b0; // signal a return from supervisor mode
|
||||
sret = 1'b1; // signal a return from supervisor mode
|
||||
end
|
||||
MRET: begin
|
||||
// the return should not have any write or read side-effects
|
||||
|
|
|
@ -113,7 +113,9 @@ module scoreboard #(
|
|||
// Write Back
|
||||
// ------------
|
||||
for (int i = 0; i < NR_WB_PORTS; i++) begin
|
||||
if (wb_valid_i[i]) begin
|
||||
// check if this instruction was issued (e.g.: it could happen after a flush that there is still
|
||||
// something in the pipeline e.g. an incomplete memory operation)
|
||||
if (wb_valid_i[i] && mem_n[trans_id_i[i]].issued) begin
|
||||
mem_n[trans_id_i[i]].sbe.valid = 1'b1;
|
||||
mem_n[trans_id_i[i]].sbe.result = wdata_i[i];
|
||||
// write the exception back if it is valid
|
||||
|
|
|
@ -42,7 +42,7 @@ module core_mem (
|
|||
output logic [63:0] data_if_data_rdata_o
|
||||
);
|
||||
// we always grant the access
|
||||
localparam ADDRESS_WIDTH = 11;
|
||||
localparam ADDRESS_WIDTH = 16;
|
||||
|
||||
logic [ADDRESS_WIDTH-1:0] instr_address;
|
||||
logic [2:0] instr_address_offset_q;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue