1
0

finally fix all release assertions ... hopefully

This commit is contained in:
Howard Mao 2016-02-29 15:22:24 -08:00
parent 6095e7361e
commit 6d984273b7

View File

@ -410,10 +410,9 @@ class TSHRFile(implicit p: Parameters) extends L2HellaCacheModule()(p)
tracker.inner.release.bits := io.inner.release.bits tracker.inner.release.bits := io.inner.release.bits
tracker.inner.release.valid := io.inner.release.valid tracker.inner.release.valid := io.inner.release.valid
} }
assert(PopCount(releaseReadys) <= UInt(nReleaseTransactors), assert(!io.inner.release.valid || PopCount(releaseReadys) <= UInt(1),
"At most a single tracker should match for any given Release") "At most a single tracker should match for any given Release")
assert(!io.inner.release.valid || assert(!io.inner.release.valid || io.irel().isVoluntary() || releaseReadys.orR,
io.inner.release.bits.isVoluntary() || releaseReadys.orR,
"Non-voluntary release should always have a Tracker waiting for it.") "Non-voluntary release should always have a Tracker waiting for it.")
// Wire probe requests and grant reply to clients, finish acks from clients // Wire probe requests and grant reply to clients, finish acks from clients