Skip to content

Commit

Permalink
[rtl] Remove ECC related data_rdata_i -> instr_X_o feedthroughs
Browse files Browse the repository at this point in the history
Prior to this commit an ECC failure on the incoming data memory response
factored directly into the outputs for the instruction memory
interfaces. This existed due to a desire to take an NMI on an ECC
failure as soon as possible but causes timing issues so it has been
altered.

Now rather than directly raise the NMI the same cycle the assertion of
'irq_nm_int' is delayed by a cycle which breaks the feedthrough path.
  • Loading branch information
GregAC committed Aug 23, 2024
1 parent 3937e48 commit 38c0709
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion rtl/ibex_controller.sv
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,7 @@ module ibex_controller #(

// As integrity error is the only internal interrupt implement, set irq_nm_* signals directly
// within this generate block.
assign irq_nm_int = mem_resp_intg_err_irq_set | mem_resp_intg_err_irq_pending_q;
assign irq_nm_int = mem_resp_intg_err_irq_pending_q;
assign irq_nm_int_cause = NMI_INT_CAUSE_ECC;
assign irq_nm_int_mtval = mem_resp_intg_err_addr_q;
end else begin : g_no_intg_irq_int
Expand Down

0 comments on commit 38c0709

Please sign in to comment.