commit
65053978dc
@ -163,18 +163,20 @@ class WithNBreakpoints(hwbp: Int) extends Config ((site, here, up) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
class WithRoccExample extends Config((site, here, up) => {
|
class WithRoccExample extends Config((site, here, up) => {
|
||||||
case BuildRoCC => Seq(
|
case RocketTilesKey => up(RocketTilesKey, site) map { r =>
|
||||||
RoCCParams(
|
r.copy(rocc = Seq(
|
||||||
opcodes = OpcodeSet.custom0,
|
RoCCParams(
|
||||||
generator = (p: Parameters) => Module(new AccumulatorExample()(p))),
|
opcodes = OpcodeSet.custom0,
|
||||||
RoCCParams(
|
generator = (p: Parameters) => Module(new AccumulatorExample()(p))),
|
||||||
opcodes = OpcodeSet.custom1,
|
RoCCParams(
|
||||||
generator = (p: Parameters) => Module(new TranslatorExample()(p)),
|
opcodes = OpcodeSet.custom1,
|
||||||
nPTWPorts = 1),
|
generator = (p: Parameters) => Module(new TranslatorExample()(p)),
|
||||||
RoCCParams(
|
nPTWPorts = 1),
|
||||||
opcodes = OpcodeSet.custom2,
|
RoCCParams(
|
||||||
generator = (p: Parameters) => Module(new CharacterCountExample()(p))))
|
opcodes = OpcodeSet.custom2,
|
||||||
|
generator = (p: Parameters) => Module(new CharacterCountExample()(p)))
|
||||||
|
))
|
||||||
|
}
|
||||||
case RoccMaxTaggedMemXacts => 1
|
case RoccMaxTaggedMemXacts => 1
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -224,3 +226,4 @@ class WithAynchronousRocketTiles(depth: Int, sync: Int) extends Config((site, he
|
|||||||
class WithRationalRocketTiles extends Config((site, here, up) => {
|
class WithRationalRocketTiles extends Config((site, here, up) => {
|
||||||
case RocketCrossing => RationalCrossing()
|
case RocketCrossing => RationalCrossing()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ trait HasICacheFrontend extends CanHavePTW with HasTileLinkMasterPort {
|
|||||||
val module: HasICacheFrontendModule
|
val module: HasICacheFrontendModule
|
||||||
val frontend = LazyModule(new Frontend(hartid: Int))
|
val frontend = LazyModule(new Frontend(hartid: Int))
|
||||||
val hartid: Int
|
val hartid: Int
|
||||||
masterNode := frontend.masterNode
|
tileBus.node := frontend.masterNode
|
||||||
nPTWPorts += 1
|
nPTWPorts += 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -196,7 +196,7 @@ trait HasHellaCache extends HasTileLinkMasterPort with HasTileParameters {
|
|||||||
def findScratchpadFromICache: Option[AddressSet]
|
def findScratchpadFromICache: Option[AddressSet]
|
||||||
var nDCachePorts = 0
|
var nDCachePorts = 0
|
||||||
val dcache = HellaCache(tileParams.dcache.get.nMSHRs == 0, findScratchpadFromICache _)
|
val dcache = HellaCache(tileParams.dcache.get.nMSHRs == 0, findScratchpadFromICache _)
|
||||||
masterNode := dcache.node
|
tileBus.node := dcache.node
|
||||||
}
|
}
|
||||||
|
|
||||||
trait HasHellaCacheBundle extends HasTileLinkMasterPortBundle {
|
trait HasHellaCacheBundle extends HasTileLinkMasterPortBundle {
|
||||||
|
@ -55,6 +55,8 @@ trait HasTileLinkMasterPort {
|
|||||||
implicit val p: Parameters
|
implicit val p: Parameters
|
||||||
val module: HasTileLinkMasterPortModule
|
val module: HasTileLinkMasterPortModule
|
||||||
val masterNode = TLOutputNode()
|
val masterNode = TLOutputNode()
|
||||||
|
val tileBus = LazyModule(new TLXbar) // TileBus xbar for cache backends to connect to
|
||||||
|
masterNode := tileBus.node
|
||||||
}
|
}
|
||||||
|
|
||||||
trait HasTileLinkMasterPortBundle {
|
trait HasTileLinkMasterPortBundle {
|
||||||
|
@ -48,7 +48,7 @@ trait CanHaveLegacyRoccs extends CanHaveSharedFPU with CanHavePTW with HasTileLi
|
|||||||
}})))
|
}})))
|
||||||
|
|
||||||
legacyRocc foreach { lr =>
|
legacyRocc foreach { lr =>
|
||||||
masterNode := lr.masterNode
|
tileBus.node :=* lr.masterNode
|
||||||
nPTWPorts += lr.nPTWPorts
|
nPTWPorts += lr.nPTWPorts
|
||||||
nDCachePorts += lr.nRocc
|
nDCachePorts += lr.nRocc
|
||||||
}
|
}
|
||||||
@ -66,7 +66,7 @@ trait CanHaveLegacyRoccsModule extends CanHaveSharedFPUModule
|
|||||||
None
|
None
|
||||||
} foreach { lr =>
|
} foreach { lr =>
|
||||||
fpu.io.cp_req <> lr.module.io.fpu.cp_req
|
fpu.io.cp_req <> lr.module.io.fpu.cp_req
|
||||||
fpu.io.cp_resp <> lr.module.io.fpu.cp_resp
|
lr.module.io.fpu.cp_resp <> fpu.io.cp_resp
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user