make sure outer probe and finish lines are disconnected
This commit is contained in:
parent
c38dff0855
commit
12067a3b8d
@ -151,4 +151,11 @@ abstract class HierarchicalCoherenceAgent(implicit p: Parameters) extends Cohere
|
||||
def innerTL = io.inner
|
||||
def outerTL = io.outer
|
||||
def incoherent = io.incoherent
|
||||
|
||||
// TODO: Remove this function (and all its calls) when we support probing the L2
|
||||
def disconnectOuterProbeAndFinish() {
|
||||
io.outer.probe.ready := Bool(false)
|
||||
io.outer.finish.valid := Bool(false)
|
||||
assert(!io.outer.probe.valid, "L2 agent got illegal probe")
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,8 @@ class L2BroadcastHub(implicit p: Parameters) extends HierarchicalCoherenceAgent(
|
||||
doOutputArbitration(io.inner.grant, trackerList.map(_.io.inner.grant))
|
||||
|
||||
doInputRouting(io.inner.finish, trackerList.map(_.io.inner.finish))
|
||||
|
||||
disconnectOuterProbeAndFinish()
|
||||
}
|
||||
|
||||
class BroadcastXactTracker(implicit p: Parameters) extends XactTracker()(p) {
|
||||
|
@ -67,6 +67,8 @@ class BufferlessBroadcastHub(implicit p: Parameters) extends HierarchicalCoheren
|
||||
io.inner.grant.bits.addr_beat := io.outer.grant.bits.addr_beat
|
||||
|
||||
doInputRouting(io.inner.finish, trackerList.map(_.io.inner.finish))
|
||||
|
||||
disconnectOuterProbeAndFinish()
|
||||
}
|
||||
|
||||
class BufferlessBroadcastVoluntaryReleaseTracker(trackerId: Int)(implicit p: Parameters)
|
||||
|
@ -442,6 +442,8 @@ class L2HellaCacheBank(implicit p: Parameters) extends HierarchicalCoherenceAgen
|
||||
tshrfile.io.incoherent <> io.incoherent
|
||||
meta.io <> tshrfile.io.meta
|
||||
data.io <> tshrfile.io.data
|
||||
|
||||
disconnectOuterProbeAndFinish()
|
||||
}
|
||||
|
||||
class TSHRFileIO(implicit p: Parameters) extends HierarchicalTLIO()(p)
|
||||
|
@ -66,5 +66,6 @@ class ManagerToClientStatelessBridge(implicit p: Parameters) extends Hierarchica
|
||||
|
||||
io.inner.probe.valid := Bool(false)
|
||||
io.inner.finish.ready := Bool(true)
|
||||
}
|
||||
|
||||
disconnectOuterProbeAndFinish()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user