@@ -21,7 +21,6 @@ import radiance.muon._
2121import radiance .muon .backend .fp .FPPipeParams
2222import radiance .muon .backend .int .IntPipeParams
2323import radiance .virgo .{NumVortexCores , VirgoClusterParams , VortexCoreParams , VortexL1Key }
24- import radiance .muon .LoadStoreUnitParams
2524import radiance .unittest .CyclotronLinked
2625
2726sealed trait RadianceSmemSerialization
@@ -78,6 +77,7 @@ class WithMuonCores(
7877 numLanes : Option [Int ],
7978 numPhysRegs : Option [Int ],
8079 numIssueQueueEntries : Int ,
80+ lsqDepth : Option [Int ],
8181 l0i : Option [DCacheParams ],
8282 l0d : Option [DCacheParams ],
8383) extends Config ((site, here, up) => {
@@ -101,6 +101,12 @@ class WithMuonCores(
101101 numFP16ExpLanes = (lanes / 4 ).max(1 )
102102 )
103103 }
104+ val lsu = MuonCoreParams ().lsu.copy(
105+ numLsuLanes = numLanes.getOrElse(simt.numLsuLanes)
106+ )
107+ val resolvedLsu = lsqDepth
108+ .map(depth => LoadStoreUnitDepthOverrides .all(depth).applyTo(lsu))
109+ .getOrElse(lsu)
104110 MuonCoreParams (
105111 numWarps = resolvedNumWarps,
106112 numLanes = resolvedNumLanes,
@@ -115,9 +121,7 @@ class WithMuonCores(
115121 // for muon, numSMEMInFlights controlled by lsu parameters, rather than
116122 // from SIMTCoreParams. TODO: use SIMTCoreParams instead?
117123 // logSMEMInFlights = log2Ceil(up(SIMTCoreKey).get.numSMEMInFlights),
118- lsu = LoadStoreUnitParams (
119- numLsuLanes = numLanes.getOrElse(simt.numLsuLanes)
120- ),
124+ lsu = resolvedLsu,
121125 trace = trace || difftest,
122126 profiler = profiler,
123127 difftest = difftest,
@@ -171,6 +175,7 @@ class WithMuonCores(
171175 numLanes : Option [Int ] = None ,
172176 numPhysRegs : Option [Int ] = None ,
173177 numIssueQueueEntries : Int = 8 ,
178+ lsqDepth : Option [Int ] = None ,
174179 l0i : Option [DCacheParams ] = None , l0d : Option [DCacheParams ] = None )
175180 = this (n, location, RocketCrossingParams (
176181 master = HierarchicalElementMasterPortParams .locationDefault(location),
@@ -179,7 +184,7 @@ class WithMuonCores(
179184 case InSubsystem => CBUS
180185 case InCluster (clusterId) => CCBUS (clusterId)
181186 },
182- ), standalone, noILP, trace, profiler, cyclotron, difftest, disabled, numWarps, numLanes, numPhysRegs, numIssueQueueEntries, l0i, l0d)
187+ ), standalone, noILP, trace, profiler, cyclotron, difftest, disabled, numWarps, numLanes, numPhysRegs, numIssueQueueEntries, lsqDepth, l0i, l0d)
183188}
184189
185190class WithCyclotronCores (
0 commit comments