1
0

Require self probes for all built-in Acquire types

This ensures that puts by the RoCC accelerator properly invalidates its
tile's L1 D$, with which it currently shares the same TileLink port.
This commit is contained in:
Albert Ou 2015-03-11 23:24:58 -07:00
parent 1aff919c24
commit f75126c39c

View File

@ -117,8 +117,9 @@ class Acquire extends ClientToManagerChannel
def hasMultibeatData(dummy: Int = 0): Bool = Bool(tlDataBeats > 1) && isBuiltInType() && def hasMultibeatData(dummy: Int = 0): Bool = Bool(tlDataBeats > 1) && isBuiltInType() &&
Acquire.typesWithMultibeatData.contains(a_type) Acquire.typesWithMultibeatData.contains(a_type)
//TODO: This function is a hack to support Rocket icache snooping Rocket nbdcache: //TODO: This function is a hack to support Rocket icache snooping Rocket nbdcache
def requiresSelfProbe(dummy: Int = 0) = isBuiltInType() && a_type === Acquire.getBlockType // and nbdcache invalidations after RoCC accelerator puts
def requiresSelfProbe(dummy: Int = 0) = isBuiltInType()
def getBuiltInGrantType(dummy: Int = 0): UInt = { def getBuiltInGrantType(dummy: Int = 0): UInt = {
MuxLookup(this.a_type, Grant.putAckType, Array( MuxLookup(this.a_type, Grant.putAckType, Array(