@@ -6,14 +6,15 @@ import org.chipsalliance.cde.config.{Field, Parameters, Config}
66import freechips .rocketchip .tile ._
77import freechips .rocketchip .subsystem ._
88import freechips .rocketchip .rocket .{RocketCoreParams , MulDivParams , DCacheParams , ICacheParams }
9+ import freechips .rocketchip .diplomacy ._
910
1011import cva6 .{CVA6TileAttachParams }
1112import sodor .common .{SodorTileAttachParams }
1213import ibex .{IbexTileAttachParams }
1314import vexiiriscv .{VexiiRiscvTileAttachParams }
1415import testchipip .cosim .{TracePortKey , TracePortParams }
1516import barf .{TilePrefetchingMasterPortParams }
16- import freechips .rocketchip .trace .{TraceEncoderParams , TraceCoreParams }
17+ import freechips .rocketchip .trace .{TraceEncoderParams , TraceCoreParams , TacitEncoder }
1718
1819class WithL2TLBs (entries : Int ) extends Config ((site, here, up) => {
1920 case TilesLocated (InSubsystem ) => up(TilesLocated (InSubsystem ), site) map {
@@ -68,21 +69,27 @@ class WithNPerfCounters(n: Int = 29) extends Config((site, here, up) => {
6869class WithLTraceEncoder extends Config ((site, here, up) => {
6970 case TilesLocated (InSubsystem ) => up(TilesLocated (InSubsystem ), site) map {
7071 case tp : RocketTileAttachParams => tp.copy(tileParams = tp.tileParams.copy(
71- ltrace = Some (TraceEncoderParams (
72- coreParams = TraceCoreParams (
72+ traceParams = Some (TraceEncoderParams (
73+ encoderBaseAddr = 0x3000000 + tp.tileParams.tileId * 0x1000 ,
74+ buildEncoder = (p : Parameters ) => LazyModule (new TacitEncoder (new TraceCoreParams (
7375 nGroups = 1 ,
7476 iretireWidth = 1 ,
7577 xlen = tp.tileParams.core.xLen,
7678 iaddrWidth = tp.tileParams.core.xLen
77- ),
78- bufferDepth = 16 ,
79- encoderBaseAddr = 0x3000000 + tp.tileParams.tileId * 0x1000 ,
80- useArbiterMonitor = true
81- )),
79+ ), 16 )(p)),
80+ useArbiterMonitor = false
81+ )),
8282 core = tp.tileParams.core.copy(enableTraceCoreIngress= true )))
8383 }
8484 })
8585
86+ class WithArbiterMonitor extends Config ((site, here, up) => {
87+ case TilesLocated (InSubsystem ) => up(TilesLocated (InSubsystem ), site) map {
88+ case tp : RocketTileAttachParams => tp.copy(tileParams = tp.tileParams.copy(
89+ traceParams = Some (tp.tileParams.traceParams.get.copy(useArbiterMonitor = true ))))
90+ }
91+ })
92+
8693class WithNPMPs (n : Int = 8 ) extends Config ((site, here, up) => {
8794 case TilesLocated (InSubsystem ) => up(TilesLocated (InSubsystem ), site) map {
8895 case tp : RocketTileAttachParams => tp.copy(tileParams = tp.tileParams.copy(
0 commit comments