mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-20 03:47:15 -04:00
[rtl] Remove unused transition in ibex_controller FSM
When in the FLUSH state we cannot have `csr_pipe_flush` set as it depends upon `instr_executing` being set (within `ibex_id_stage`) and that is only set in the DECODE stage.
This commit is contained in:
parent
5f5a70fca9
commit
2f9fd69ec4
3 changed files with 1 additions and 6 deletions
|
@ -193,7 +193,6 @@ Each pipeline stage has some associated state.
|
|||
* ``FLUSH`` -> ``DECODE`` *
|
||||
* ``FLUSH`` -> ``DBG_TAKEN_ID``
|
||||
* ``FLUSH`` -> ``WAIT_SLEEP``
|
||||
* ``FLUSH`` -> ``IRQ_TAKEN`` *
|
||||
* ``FLUSH`` -> ``DBG_TAKEN_IF`` *
|
||||
* ``WAIT_SLEEP`` -> ``SLEEP``
|
||||
* ``SLEEP`` -> ``FIRST_FETCH``
|
||||
|
|
|
@ -529,8 +529,7 @@ interface core_ibex_fcov_if import ibex_pkg::*; (
|
|||
bins out_of_flush0 = (FLUSH => DECODE);
|
||||
bins out_of_flush1 = (FLUSH => DBG_TAKEN_ID);
|
||||
bins out_of_flush2 = (FLUSH => WAIT_SLEEP);
|
||||
bins out_of_flush3 = (FLUSH => IRQ_TAKEN);
|
||||
bins out_of_flush4 = (FLUSH => DBG_TAKEN_IF);
|
||||
bins out_of_flush3 = (FLUSH => DBG_TAKEN_IF);
|
||||
bins out_of_wait_sleep = (WAIT_SLEEP => SLEEP);
|
||||
bins out_of_sleep = (SLEEP => FIRST_FETCH);
|
||||
// TODO: VCS does not implement default sequence so illegal_bins will be empty
|
||||
|
|
|
@ -809,9 +809,6 @@ module ibex_controller #(
|
|||
csr_restore_dret_id_o = 1'b1;
|
||||
end else if (wfi_insn) begin
|
||||
ctrl_fsm_ns = WAIT_SLEEP;
|
||||
end else if (csr_pipe_flush && handle_irq) begin
|
||||
// start handling IRQs when doing CSR-related pipeline flushes
|
||||
ctrl_fsm_ns = IRQ_TAKEN;
|
||||
end
|
||||
end // exc_req_q
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue