Skip to content

Commit d663d40

Browse files
Kumonda221-CrO3cyril0124
authored andcommitted
fix(MSHR): start CMO transactions after meta write issued (OpenXiangShan#382)
1 parent 2264e55 commit d663d40

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/main/scala/coupledL2/tl2chi/MSHR.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ class MSHR(implicit p: Parameters) extends TL2CHIL2Module with HasCHIOpcodes {
267267
val release_valid2 = !state.s_reissue.getOrElse(false.B) && !state.w_releaseack && gotRetryAck && gotPCrdGrant
268268
// Theoretically, data to be released is saved in ReleaseBuffer, so Acquire can be sent as soon as req enters mshr
269269
// For cmo_clean/flush, dirty data should be released downward first, then Clean req can be sent
270-
io.tasks.txreq.valid := !state.s_acquire && !(cmo_cbo && (!state.w_rprobeacklast || !state.w_releaseack || !state.s_cbwrdata.get)) ||
270+
io.tasks.txreq.valid := !state.s_acquire && !(cmo_cbo && (!state.w_rprobeacklast || !state.w_releaseack || !state.s_cmometaw || !state.s_cbwrdata.get)) ||
271271
!state.s_reissue.getOrElse(false.B) && !state.w_grant && gotRetryAck && gotPCrdGrant ||
272272
release_valid2
273273
val rcompack_valid = !state.s_rcompack.get && state.w_grant &&

0 commit comments

Comments
 (0)