new shared memory config

This commit is contained in:
Richard Yan
2024-05-15 21:49:18 -07:00
parent b1beb324f1
commit 594f0f76ee
3 changed files with 8 additions and 6 deletions

View File

@@ -7,6 +7,7 @@ import freechips.rocketchip.diplomacy.{AsynchronousCrossing, BigIntHexContext}
import freechips.rocketchip.subsystem._
import org.chipsalliance.cde.config.Config
import radiance.memory._
import radiance.subsystem.WithRadianceSharedMem
class WithRadROMs(address: BigInt, size: Int, filename: String) extends Config((site, here, up) => {
case RadianceROMsLocated() => Some(up(RadianceROMsLocated()).getOrElse(Seq()) ++
@@ -39,7 +40,8 @@ class RadianceBaseConfig(argsBinFilename: String = "args.bin") extends Config(
new WithExtMemSize(BigInt("80000000", 16)) ++
new WithRadBootROM() ++
new WithRadROMs(0x7FFF0000L, 0x10000, s"sims/${argsBinFilename}") ++
new chipyard.harness.WithCeaseSuccess ++
new WithRadianceSharedMem(address = x"ff000000", size = 64 << 10, numBanks = 4, numWords = 8) ++
// new chipyard.harness.WithCeaseSuccess ++
new chipyard.iobinders.WithCeasePunchThrough ++
new radiance.subsystem.WithRadianceSimParams(true) ++
new WithCacheBlockBytes(64) ++
@@ -47,8 +49,8 @@ class RadianceBaseConfig(argsBinFilename: String = "args.bin") extends Config(
class RadianceConfig extends Config(
// important to keep gemmini tile before RadianceCores to ensure radiance tile id is 0-indexed
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, extMemBase = x"ff000000", spSizeInKB = 16, accSizeInKB = 8) ++
new radiance.subsystem.WithRadianceCores(1, location=InCluster(0), useVxCache = false) ++
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, accSizeInKB = 16) ++
new radiance.subsystem.WithRadianceCores(1, location = InCluster(0), useVxCache = false) ++
new radiance.subsystem.WithCoalescer(nNewSrcIds = 16) ++
new radiance.subsystem.WithVortexL1Banks(nBanks = 4)++
new radiance.subsystem.WithRadianceCluster(0) ++
@@ -56,7 +58,7 @@ class RadianceConfig extends Config(
class RadianceClusterConfig extends Config(
// important to keep gemmini tile before RadianceCores to ensure radiance tile id is 0-indexed
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, extMemBase = x"ff000000", spSizeInKB = 16, accSizeInKB = 8) ++
new radiance.subsystem.WithRadianceGemmini(location = InCluster(0), dim = 8, accSizeInKB = 16) ++
new radiance.subsystem.WithRadianceCores(2, location = InCluster(0),
// crossing = RocketCrossingParams(master = HierarchicalElementMasterPortParams(where = CMBUS(0))),
useVxCache = false) ++