@@ -12,7 +12,7 @@ import freechips.rocketchip.devices.debug.{DebugModuleKey, DefaultDebugModulePar
1212import freechips .rocketchip .devices .tilelink .{
1313 BuiltInErrorDeviceParams , BootROMLocated , BootROMParams , CLINTKey , DevNullDevice , CLINTParams , PLICKey , PLICParams , DevNullParams
1414}
15- import freechips .rocketchip .prci .{SynchronousCrossing , AsynchronousCrossing , RationalCrossing , ClockCrossingType }
15+ import freechips .rocketchip .prci .{SynchronousCrossing , AsynchronousCrossing , RationalCrossing , ClockCrossingType , CreditedCrossing }
1616import freechips .rocketchip .diplomacy .{
1717 AddressSet , MonitorsEnabled ,
1818}
@@ -517,6 +517,16 @@ class WithRationalRocketTiles extends Config((site, here, up) => {
517517 }
518518})
519519
520+ class WithCreditedRocketTiles (mergedCredited : Boolean = false ) extends Config ((site, here, up) => {
521+ case TilesLocated (location) => up(TilesLocated (location), site) map {
522+ case tp : RocketTileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
523+ crossingType = CreditedCrossing (),
524+ forceMergedCreditedTLCrossings = mergedCredited
525+ ))
526+ case t => t
527+ }
528+ })
529+
520530class WithEdgeDataBits (dataBits : Int ) extends Config ((site, here, up) => {
521531 case MemoryBusKey => up(MemoryBusKey , site).copy(beatBytes = dataBits/ 8 )
522532 case ExtIn => up(ExtIn , site).map(_.copy(beatBytes = dataBits/ 8 ))
0 commit comments