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:
parent
1aff919c24
commit
f75126c39c
@ -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(
|
||||||
|
Loading…
Reference in New Issue
Block a user