mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-22 04:47:25 -04:00
Fix exceptions during stalls
This commit is contained in:
parent
c28ca4444a
commit
8d4c069d84
2 changed files with 5 additions and 4 deletions
|
@ -147,7 +147,7 @@ module riscv_controller
|
|||
always_ff @(negedge clk)
|
||||
begin
|
||||
// print warning in case of decoding errors
|
||||
if (illegal_insn_i) begin
|
||||
if (is_decoding_o && illegal_insn_i) begin
|
||||
$display("%t: Illegal instruction (core %0d) at PC 0x%h:", $time, riscv_core.core_id_i,
|
||||
riscv_id_stage.current_pc_id_i);
|
||||
end
|
||||
|
@ -272,6 +272,7 @@ module riscv_controller
|
|||
pc_set_o = 1'b1;
|
||||
end
|
||||
|
||||
// handle exceptions
|
||||
if (exc_req_i) begin
|
||||
pc_mux_sel_o = `PC_EXCEPTION;
|
||||
pc_set_o = 1'b1;
|
||||
|
|
|
@ -715,9 +715,9 @@ module riscv_id_stage
|
|||
.irq_i ( irq_i ),
|
||||
.irq_enable_i ( irq_enable_i ),
|
||||
|
||||
.illegal_insn_i ( illegal_insn_dec ),
|
||||
.ecall_insn_i ( ecall_insn_dec ),
|
||||
.eret_insn_i ( eret_insn_dec ),
|
||||
.illegal_insn_i ( id_valid_o & is_decoding_o & illegal_insn_dec ),
|
||||
.ecall_insn_i ( id_valid_o & is_decoding_o & ecall_insn_dec ),
|
||||
.eret_insn_i ( id_valid_o & is_decoding_o & eret_insn_dec ),
|
||||
|
||||
.cause_o ( exc_cause_o ),
|
||||
.save_cause_o ( save_exc_cause_o )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue