Bump Rocket-chip again
This commit is contained in:
@@ -16,6 +16,7 @@ import freechips.rocketchip.groundtest.{GroundTestSubsystemModuleImp, GroundTest
|
|||||||
import sifive.blocks.devices.gpio._
|
import sifive.blocks.devices.gpio._
|
||||||
import sifive.blocks.devices.uart._
|
import sifive.blocks.devices.uart._
|
||||||
import sifive.blocks.devices.spi._
|
import sifive.blocks.devices.spi._
|
||||||
|
import tracegen.{TraceGenSystemModuleImp}
|
||||||
|
|
||||||
import barstools.iocell.chisel._
|
import barstools.iocell.chisel._
|
||||||
|
|
||||||
@@ -389,7 +390,7 @@ class WithSimSerial extends OverrideIOBinder({
|
|||||||
})
|
})
|
||||||
|
|
||||||
class WithTraceGenSuccessBinder extends OverrideIOBinder({
|
class WithTraceGenSuccessBinder extends OverrideIOBinder({
|
||||||
(system: GroundTestSubsystemModuleImp[GroundTestSubsystem]) => {
|
(system: TraceGenSystemModuleImp) => {
|
||||||
val (successPort, ioCells) = IOCell.generateIOFromSignal(system.success, Some("iocell_success"))
|
val (successPort, ioCells) = IOCell.generateIOFromSignal(system.success, Some("iocell_success"))
|
||||||
successPort.suggestName("success")
|
successPort.suggestName("success")
|
||||||
val harnessFn = (th: chipyard.TestHarness) => { when (successPort) { th.success := true.B }; Nil }
|
val harnessFn = (th: chipyard.TestHarness) => { when (successPort) { th.success := true.B }; Nil }
|
||||||
|
|||||||
Submodule generators/rocket-chip updated: 1cec6e697c...653efa99a2
@@ -22,7 +22,10 @@ class TraceGenSystemModuleImp(outer: TraceGenSystem)
|
|||||||
|
|
||||||
outer.tiles.zipWithIndex.map { case(t, i) => t.module.constants.hartid := i.U }
|
outer.tiles.zipWithIndex.map { case(t, i) => t.module.constants.hartid := i.U }
|
||||||
|
|
||||||
val status = dontTouch(DebugCombiner(outer.tiles.collect { case t: GroundTestTile => t.module.status }))
|
val status = dontTouch(DebugCombiner(outer.tiles.collect {
|
||||||
|
case t: GroundTestTile => t.module.status
|
||||||
|
case t: BoomTraceGenTile => t.module.status
|
||||||
|
}))
|
||||||
success := outer.tileCeaseSinkNode.in.head._1.asUInt.andR
|
success := outer.tileCeaseSinkNode.in.head._1.asUInt.andR
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package tracegen
|
|||||||
import chisel3._
|
import chisel3._
|
||||||
import chisel3.util._
|
import chisel3.util._
|
||||||
import freechips.rocketchip.config.Parameters
|
import freechips.rocketchip.config.Parameters
|
||||||
import freechips.rocketchip.diplomacy.{LazyModule, SynchronousCrossing, ClockCrossingType}
|
import freechips.rocketchip.diplomacy.{SimpleDevice, LazyModule, SynchronousCrossing, ClockCrossingType}
|
||||||
import freechips.rocketchip.groundtest._
|
import freechips.rocketchip.groundtest._
|
||||||
import freechips.rocketchip.rocket._
|
import freechips.rocketchip.rocket._
|
||||||
import freechips.rocketchip.rocket.constants.{MemoryOpConstants}
|
import freechips.rocketchip.rocket.constants.{MemoryOpConstants}
|
||||||
@@ -178,11 +178,14 @@ case class BoomTraceGenParams(
|
|||||||
numGens: Int,
|
numGens: Int,
|
||||||
dcache: Option[DCacheParams] = Some(DCacheParams()),
|
dcache: Option[DCacheParams] = Some(DCacheParams()),
|
||||||
hartId: Int = 0
|
hartId: Int = 0
|
||||||
) extends InstantiableTileParams[BoomTraceGenTile] with GroundTestTileParams
|
) extends InstantiableTileParams[BoomTraceGenTile]
|
||||||
{
|
{
|
||||||
def instantiate(crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): BoomTraceGenTile = {
|
def instantiate(crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): BoomTraceGenTile = {
|
||||||
new BoomTraceGenTile(this, crossing, lookup)
|
new BoomTraceGenTile(this, crossing, lookup)
|
||||||
}
|
}
|
||||||
|
val core = RocketCoreParams(nPMPs = 0) //TODO remove this
|
||||||
|
val btb = None
|
||||||
|
val icache = Some(ICacheParams())
|
||||||
val beuAddr = None
|
val beuAddr = None
|
||||||
val blockerCtrlAddr = None
|
val blockerCtrlAddr = None
|
||||||
val name = None
|
val name = None
|
||||||
@@ -193,23 +196,32 @@ class BoomTraceGenTile private(
|
|||||||
val params: BoomTraceGenParams,
|
val params: BoomTraceGenParams,
|
||||||
crossing: ClockCrossingType,
|
crossing: ClockCrossingType,
|
||||||
lookup: LookupByHartIdImpl,
|
lookup: LookupByHartIdImpl,
|
||||||
q: Parameters) extends GroundTestTile(params, crossing, lookup, q)
|
q: Parameters) extends BaseTile(params, crossing, lookup, q)
|
||||||
|
with SinksExternalInterrupts
|
||||||
|
with SourcesExternalNotifications
|
||||||
{
|
{
|
||||||
def this(params: BoomTraceGenParams, crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
|
def this(params: BoomTraceGenParams, crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
|
||||||
this(params, crossing.crossingType, lookup, p)
|
this(params, crossing.crossingType, lookup, p)
|
||||||
|
|
||||||
|
val cpuDevice: SimpleDevice = new SimpleDevice("groundtest", Nil)
|
||||||
|
val intOutwardNode: IntOutwardNode = IntIdentityNode()
|
||||||
|
val slaveNode: TLInwardNode = TLIdentityNode()
|
||||||
|
|
||||||
val boom_params = p.alterMap(Map(TileKey -> BoomTileParams(
|
val boom_params = p.alterMap(Map(TileKey -> BoomTileParams(
|
||||||
dcache=params.dcache,
|
dcache=params.dcache,
|
||||||
core=BoomCoreParams(nPMPs=0, numLdqEntries=32, numStqEntries=32, useVM=false))))
|
core=BoomCoreParams(nPMPs=0, numLdqEntries=32, numStqEntries=32, useVM=false))))
|
||||||
val dcache = LazyModule(new BoomNonBlockingDCache(hartId)(boom_params))
|
val dcache = LazyModule(new BoomNonBlockingDCache(hartId)(boom_params))
|
||||||
|
|
||||||
val masterNode: TLOutwardNode = TLIdentityNode() := visibilityNode := dcacheOpt.map(_.node).getOrElse(TLTempNode())
|
val masterNode: TLOutwardNode = TLIdentityNode() := visibilityNode := dcache.node
|
||||||
|
|
||||||
override lazy val module = new BoomTraceGenTileModuleImp(this)
|
override lazy val module = new BoomTraceGenTileModuleImp(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
class BoomTraceGenTileModuleImp(outer: BoomTraceGenTile)
|
class BoomTraceGenTileModuleImp(outer: BoomTraceGenTile)
|
||||||
extends GroundTestTileModuleImp(outer){
|
extends BaseTileModuleImp(outer){
|
||||||
|
|
||||||
|
val status = IO(new GroundTestStatus)
|
||||||
|
val halt_and_catch_fire = None
|
||||||
|
|
||||||
val tracegen = Module(new TraceGenerator(outer.params.traceParams))
|
val tracegen = Module(new TraceGenerator(outer.params.traceParams))
|
||||||
tracegen.io.hartid := constants.hartid
|
tracegen.io.hartid := constants.hartid
|
||||||
|
|||||||
Reference in New Issue
Block a user