Fix stupid D$ probe bug
This commit is contained in:
parent
90a7d6a343
commit
be4eceec0d
@ -474,7 +474,7 @@ class DCacheModule(outer: DCache) extends HellaCacheModule(outer) {
|
||||
probe_bits.address := Cat(s2_victim_tag, s2_req.addr(idxMSB, idxLSB)) << idxLSB
|
||||
}
|
||||
when (s2_probe) {
|
||||
s1_nack := true
|
||||
val probeNack = Wire(init = true.B)
|
||||
when (s2_meta_error) {
|
||||
release_state := s_probe_retry
|
||||
}.elsewhen (s2_prb_ack_data) {
|
||||
@ -485,9 +485,10 @@ class DCacheModule(outer: DCache) extends HellaCacheModule(outer) {
|
||||
release_state := Mux(releaseDone, s_probe_write_meta, s_probe_rep_clean)
|
||||
}.otherwise {
|
||||
tl_out.c.valid := true
|
||||
s1_nack := !releaseDone
|
||||
probeNack := !releaseDone
|
||||
release_state := Mux(releaseDone, s_ready, s_probe_rep_miss)
|
||||
}
|
||||
when (probeNack) { s1_nack := true }
|
||||
}
|
||||
when (release_state === s_probe_retry) {
|
||||
metaArb.io.in(6).valid := true
|
||||
|
Loading…
Reference in New Issue
Block a user