Skip to content

Commit 77d26fa

Browse files
committed
fixup! [svsim] Add -j, --build-jobs, and --verilate-jobs
1 parent 6cada7d commit 77d26fa

File tree

1 file changed

+30
-80
lines changed

1 file changed

+30
-80
lines changed

svsim/src/main/scala/verilator/Backend.scala

Lines changed: 30 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,27 @@ object Backend {
189189
Some(CompilationSettings.Parallelism.default)
190190
)
191191

192+
// Internal copy method that makes writing the `withX` helpers easier.
193+
private def _copy(
194+
traceStyle: Option[CompilationSettings.TraceStyle] = this.traceStyle,
195+
outputSplit: Option[Int] = this.outputSplit,
196+
outputSplitCFuncs: Option[Int] = this.outputSplitCFuncs,
197+
disabledWarnings: Seq[String] = this.disabledWarnings,
198+
disableFatalExitOnWarnings: Boolean = this.disableFatalExitOnWarnings,
199+
enableAllAssertions: Boolean = this.enableAllAssertions,
200+
timing: Option[CompilationSettings.Timing.Type] = this.timing,
201+
parallelism: Option[CompilationSettings.Parallelism.Type] = Some(CompilationSettings.Parallelism.default)
202+
): CompilationSettings = new CompilationSettings(
203+
traceStyle = traceStyle,
204+
outputSplit = outputSplit,
205+
outputSplitCFuncs = outputSplitCFuncs,
206+
disabledWarnings = disabledWarnings,
207+
disableFatalExitOnWarnings = disableFatalExitOnWarnings,
208+
enableAllAssertions = enableAllAssertions,
209+
timing = timing,
210+
parallelism = parallelism
211+
)
212+
192213
@deprecated("don't use the copy method, use 'with<name>' single setters", "Chisel 7.1.0")
193214
def copy(
194215
traceStyle: Option[CompilationSettings.TraceStyle] = this.traceStyle,
@@ -230,93 +251,22 @@ object Backend {
230251
parallelism = Some(CompilationSettings.Parallelism.default)
231252
)
232253

233-
def withTraceStyle(traceStyle: Option[CompilationSettings.TraceStyle]) = CompilationSettings(
234-
traceStyle,
235-
this.outputSplit,
236-
this.outputSplitCFuncs,
237-
this.disabledWarnings,
238-
this.disableFatalExitOnWarnings,
239-
this.enableAllAssertions,
240-
this.timing,
241-
this.parallelism
242-
)
254+
def withTraceStyle(traceStyle: Option[CompilationSettings.TraceStyle]) = _copy(traceStyle = traceStyle)
243255

244-
def withOutputSplit(outputSplit: Option[Int]) = CompilationSettings(
245-
this.traceStyle,
246-
this.outputSplit,
247-
outputSplitCFuncs,
248-
this.disabledWarnings,
249-
this.disableFatalExitOnWarnings,
250-
this.enableAllAssertions,
251-
this.timing,
252-
this.parallelism
253-
)
256+
def withOutputSplit(outputSplit: Option[Int]) = _copy(outputSplit = outputSplit)
254257

255-
def withOutputSplitCFuncs(outputSplitCFuncs: Option[Int]) = CompilationSettings(
256-
this.traceStyle,
257-
this.outputSplit,
258-
outputSplitCFuncs,
259-
this.disabledWarnings,
260-
this.disableFatalExitOnWarnings,
261-
this.enableAllAssertions,
262-
this.timing,
263-
this.parallelism
264-
)
258+
def withOutputSplitCFuncs(outputSplitCFuncs: Option[Int]) = _copy(outputSplitCFuncs = outputSplitCFuncs)
265259

266-
def withDisabledWarnings(disabledWarnings: Seq[String]) = CompilationSettings(
267-
this.traceStyle,
268-
this.outputSplit,
269-
this.outputSplitCFuncs,
270-
disabledWarnings,
271-
this.disableFatalExitOnWarnings,
272-
this.enableAllAssertions,
273-
this.timing,
274-
this.parallelism
275-
)
260+
def withDisabledWarnings(disabledWarnings: Seq[String]) = _copy(disabledWarnings = disabledWarnings)
276261

277-
def withDisableFatalExitOnWarnings(disableFatalExitOnWarnings: Boolean) = CompilationSettings(
278-
this.traceStyle,
279-
this.outputSplit,
280-
this.outputSplitCFuncs,
281-
this.disabledWarnings,
282-
disableFatalExitOnWarnings,
283-
this.enableAllAssertions,
284-
this.timing,
285-
this.parallelism
286-
)
262+
def withDisableFatalExitOnWarnings(disableFatalExitOnWarnings: Boolean) =
263+
_copy(disableFatalExitOnWarnings = disableFatalExitOnWarnings)
287264

288-
def withEnableAllAssertions(enableAllAssertions: Boolean) = CompilationSettings(
289-
this.traceStyle,
290-
this.outputSplit,
291-
this.outputSplitCFuncs,
292-
this.disabledWarnings,
293-
this.disableFatalExitOnWarnings,
294-
enableAllAssertions,
295-
this.timing,
296-
this.parallelism
297-
)
265+
def withEnableAllAssertions(enableAllAssertions: Boolean) = _copy(enableAllAssertions = enableAllAssertions)
298266

299-
def withTiming(timing: Option[CompilationSettings.Timing.Type]) = CompilationSettings(
300-
this.traceStyle,
301-
this.outputSplit,
302-
this.outputSplitCFuncs,
303-
this.disabledWarnings,
304-
this.disableFatalExitOnWarnings,
305-
this.enableAllAssertions,
306-
timing,
307-
this.parallelism
308-
)
267+
def withTiming(timing: Option[CompilationSettings.Timing.Type]) = _copy(timing = timing)
309268

310-
def withParallelism(parallelism: Option[CompilationSettings.Parallelism.Type]) = CompilationSettings(
311-
this.traceStyle,
312-
this.outputSplit,
313-
this.outputSplitCFuncs,
314-
this.disabledWarnings,
315-
this.disableFatalExitOnWarnings,
316-
this.enableAllAssertions,
317-
this.timing,
318-
parallelism
319-
)
269+
def withParallelism(parallelism: Option[CompilationSettings.Parallelism.Type]) = _copy(parallelism = parallelism)
320270
}
321271

322272
def initializeFromProcessEnvironment() = {

0 commit comments

Comments
 (0)