Do memread stalling correctly.

This commit is contained in:
Sebastian Bugge 2024-11-11 01:59:20 +01:00
parent 4cfd8268fd
commit 23656db068
Signed by: kaholaz
GPG key ID: 2EFFEDEE03519691
5 changed files with 25 additions and 12 deletions

View file

@ -94,16 +94,12 @@ class InstructionDecode extends MultiIOModule {
stallDelay,
stallsRemaining - 1.U,
Mux(
decoder.controlSignals.memRead,
1.U,
Mux(
decoder.controlSignals.branch,
3.U,
0.U
)
decoder.controlSignals.branch,
3.U,
0.U
))
val stall = stallsRemaining > 1.U || decoder.controlSignals.memRead && !stallDelay || decoder.controlSignals.branch && !stallDelay
val stall = stallsRemaining > 1.U || decoder.controlSignals.branch && !stallDelay
io.stall := stall
io.jump := Mux(stallDelay, false.B, decoder.controlSignals.jump)