Generate explicit clock domain in CanHaveMemtraceCore

This commit is contained in:
Hansung Kim
2024-01-26 00:13:14 -08:00
parent 78075e5148
commit cfce029b70

View File

@@ -22,6 +22,10 @@ trait CanHaveMemtraceCore { this: BaseSubsystem =>
) )
val numLanes = simtParam.nLanes val numLanes = simtParam.nLanes
val filename = param.tracefilename val filename = param.tracefilename
// Need to explicitly generate clock domain; see rocket-chip 8881ccd
val memtracerDomain = sbus.generateSynchronousDomain
memtracerDomain {
val tracer = LazyModule( val tracer = LazyModule(
new MemTraceDriver(config, filename, param.traceHasSource)(p) new MemTraceDriver(config, filename, param.traceHasSource)(p)
) )
@@ -55,11 +59,8 @@ trait CanHaveMemtraceCore { this: BaseSubsystem =>
case None => coalescerNode case None => coalescerNode
} }
val vortexBank = coalXbar val vortexBank = coalXbar
//If there is only 1 bank, the code below is useless //If there is only 1 bank, the code below is useless
val upstream = p(CoalXbarKey) match { val upstream = p(CoalXbarKey) match {
case Some(xbarParam) =>{ case Some(xbarParam) =>{
@@ -71,7 +72,7 @@ trait CanHaveMemtraceCore { this: BaseSubsystem =>
case None => vortexBank case None => vortexBank
} }
sbus.coupleFrom(s"gpu-tracer") { _ :=* upstream } sbus.coupleFrom(s"gpu-tracer") { _ :=* upstream }
} }
}
} }