Merge pull request #1664 from ucb-bar/rocket-bb

Add RocketBoundaryBuffers fragment
This commit is contained in:
Jerry Zhao
2023-11-15 13:13:54 -08:00
committed by GitHub

View File

@@ -105,3 +105,13 @@ class WithTilePrefetchers extends Config((site, here, up) => {
master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
}
})
// Adds boundary buffers to RocketTiles, which places buffers between the caches and the TileLink interface
// This typically makes it easier to close timing
class WithRocketBoundaryBuffers(buffers: Option[RocketTileBoundaryBufferParams] = Some(RocketTileBoundaryBufferParams(true))) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => up(TilesLocated(InSubsystem)) map {
case tp: RocketTileAttachParams => tp.copy(tileParams=tp.tileParams.copy(
boundaryBuffers=buffers
))
}
})