Skip to content

Commit 11e39db

Browse files
committed
Add perfect SW-model LSU config at toplevel
1 parent f952b99 commit 11e39db

3 files changed

Lines changed: 15 additions & 3 deletions

File tree

chipyard/RadianceConfigs.scala

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,15 @@ class RadianceCyclotronMemConfig extends Config(
238238
new RadianceBaseConfig
239239
)
240240

241+
class RadianceCyclotronLSUConfig extends Config(
242+
new WithMuonCores(2, location = InCluster(0), l0i = Some(L0iCacheConfig), l0d = Some(L0dCacheConfig), cyclotronLSU = true, trace = true) ++
243+
new WithRadianceCluster(0, smemConfig = TapeoutSmemConfig, l1Config = L1CacheConfig) ++
244+
new WithExtGPUMem() ++
245+
new WithRadianceRocket ++
246+
new WithGPUResetAggregator(defaultReset = false) ++
247+
new RadianceBaseConfig
248+
)
249+
241250
class RadianceSingleClusterConfig extends Config(
242251
new WithRadianceMxGemmini(location = InCluster(0), dim = 16, accSizeInKB = 32, tileSize = (8, 8, 8)) ++
243252
new WithMuonCores(2, location = InCluster(0), l0i = Some(L0iCacheConfig), l0d = Some(L0dCacheConfig), trace = true) ++

src/main/scala/radiance/muon/MuonCore.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ case class MuonCoreParams(
4848
csrAddrBits: Int = 32,
4949
// memory
5050
lsu: LoadStoreUnitParams = LoadStoreUnitParams(),
51-
lsuUseModel: Boolean = false, // use Cyclotron functional model for LSU
51+
lsuUseModel: Boolean = false, // use Cyclotron functional model for LSU
5252
logGMEMInFlights: Int = 5, // per lane
5353
logCoalGMEMInFlights: Int = 5, // all lanes
5454
logNonCoalGMEMInFlights: Int = 5, // all lanes

src/main/scala/radiance/subsystem/Configs.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ class WithMuonCores(
7171
profiler: Boolean,
7272
cyclotronCore: Boolean,
7373
cyclotronMem: Boolean,
74+
cyclotronLSU: Boolean,
7475
difftest: Boolean,
7576
disabled: Boolean,
7677
numWarps: Option[Int],
@@ -122,13 +123,14 @@ class WithMuonCores(
122123
// from SIMTCoreParams. TODO: use SIMTCoreParams instead?
123124
// logSMEMInFlights = log2Ceil(up(SIMTCoreKey).get.numSMEMInFlights),
124125
lsu = resolvedLsu,
126+
lsuUseModel = cyclotronLSU,
125127
trace = trace || difftest,
126128
profiler = profiler,
127129
difftest = difftest,
128130
)
129131
}
130132
case CyclotronLinked => {
131-
up(CyclotronLinked) || trace || difftest || cyclotronCore || cyclotronMem || profiler
133+
up(CyclotronLinked) || trace || difftest || cyclotronCore || cyclotronMem || cyclotronLSU || profiler
132134
}
133135
case TilesLocated(`location`) => {
134136
if (standalone) {
@@ -172,6 +174,7 @@ class WithMuonCores(
172174
standalone: Boolean = false, noILP: Boolean = false,
173175
trace: Boolean = false, profiler: Boolean = true,
174176
cyclotronCore: Boolean = false, cyclotronMem: Boolean = false,
177+
cyclotronLSU: Boolean = false,
175178
difftest: Boolean = false, disabled: Boolean = false,
176179
numWarps: Option[Int] = None,
177180
numLanes: Option[Int] = None,
@@ -186,7 +189,7 @@ class WithMuonCores(
186189
case InSubsystem => CBUS
187190
case InCluster(clusterId) => CCBUS(clusterId)
188191
},
189-
), standalone, noILP, trace, profiler, cyclotronCore, cyclotronMem,
192+
), standalone, noILP, trace, profiler, cyclotronCore, cyclotronMem, cyclotronLSU,
190193
difftest, disabled, numWarps, numLanes, numPhysRegs,
191194
numIssueQueueEntries, lsqDepth, l0i, l0d)
192195
}

0 commit comments

Comments
 (0)