@@ -12,7 +12,7 @@ object v {
12
12
val scala = " 2.13.12"
13
13
// the first version in this Map is the mainly supported version which will be used to run tests
14
14
val chiselCrossVersions = Map (
15
- " 5.1 .0" -> (ivy " org.chipsalliance::chisel:5.1 .0 " , ivy " org.chipsalliance:::chisel-plugin:5.1 .0 " ),
15
+ " 6.7 .0" -> (ivy " org.chipsalliance::chisel:6.7 .0 " , ivy " org.chipsalliance:::chisel-plugin:6.7 .0 " ),
16
16
// build from project from source
17
17
" source" -> (ivy " org.chipsalliance::chisel:99 " , ivy " org.chipsalliance:::chisel-plugin:99 " ),
18
18
)
@@ -185,6 +185,35 @@ trait Emulator extends Cross.Module2[String, String] {
185
185
}
186
186
}
187
187
188
+ object litexgenerate extends Module {
189
+ def compile = T {
190
+ os.proc(" firtool" ,
191
+ generator.chirrtl().path,
192
+ s " --annotation-file= ${generator.chiselAnno().path}" ,
193
+ " --disable-annotation-unknown" ,
194
+ " -dedup" ,
195
+ " -O=debug" ,
196
+ " --split-verilog" ,
197
+ " --preserve-values=named" ,
198
+ " --output-annotation-file=mfc.anno.json" ,
199
+ " --lowering-options=disallowLocalVariables" ,
200
+ s " -o= ${T .dest}"
201
+ ).call(T .dest)
202
+ PathRef (T .dest)
203
+ }
204
+
205
+ def rtls = T {
206
+ os.read(compile().path / " filelist.f" ).split(" \n " ).map(str =>
207
+ try {
208
+ os.Path (str)
209
+ } catch {
210
+ case e : IllegalArgumentException if e.getMessage.contains(" is not an absolute path" ) =>
211
+ compile().path / str.stripPrefix(" ./" )
212
+ }
213
+ ).filter(p => p.ext == " v" || p.ext == " sv" ).map(PathRef (_)).toSeq
214
+ }
215
+ }
216
+
188
217
object mfccompiler extends Module {
189
218
def compile = T {
190
219
os.proc(" firtool" ,
@@ -233,7 +262,7 @@ trait Emulator extends Cross.Module2[String, String] {
233
262
" debug_rob.cc" ,
234
263
" emulator.cc" ,
235
264
" remote_bitbang.cc" ,
236
- ).map(c => PathRef (csrcDir().path / c))
265
+ ).map(c => PathRef (csrcDir().path / c))
237
266
}
238
267
239
268
def CMakeListsString = T {
@@ -316,6 +345,7 @@ object emulator extends Cross[Emulator](
316
345
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultBufferlessConfig" ),
317
346
// RocketSuiteC
318
347
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.TinyConfig" ),
348
+
319
349
// Unittest
320
350
(" freechips.rocketchip.unittest.TestHarness" , " freechips.rocketchip.unittest.AMBAUnitTestConfig" ),
321
351
(" freechips.rocketchip.unittest.TestHarness" , " freechips.rocketchip.unittest.TLSimpleUnitTestConfig" ),
@@ -343,6 +373,42 @@ object emulator extends Cross[Emulator](
343
373
//
344
374
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" ),
345
375
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultFP16Config" ),
376
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultBConfig" ),
377
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32BConfig" ),
378
+
379
+ // Litex
380
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall1x1" ),
381
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall1x2" ),
382
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall1x4" ),
383
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall1x8" ),
384
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall2x1" ),
385
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall2x2" ),
386
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall2x4" ),
387
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall2x8" ),
388
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall4x1" ),
389
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall4x2" ),
390
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall4x4" ),
391
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall4x8" ),
392
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall8x1" ),
393
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall8x2" ),
394
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall8x4" ),
395
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigSmall8x8" ),
396
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig1x1" ),
397
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig1x2" ),
398
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig1x4" ),
399
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig1x8" ),
400
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig2x1" ),
401
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig2x2" ),
402
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig2x4" ),
403
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig2x8" ),
404
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig4x1" ),
405
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig4x2" ),
406
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig4x4" ),
407
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig4x8" ),
408
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig8x1" ),
409
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig8x2" ),
410
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig8x4" ),
411
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.LitexConfigBig8x8" ),
346
412
)
347
413
348
414
object `runnable-riscv-test` extends mill.Cross [RiscvTest ](
@@ -404,8 +470,8 @@ object `runnable-riscv-test` extends mill.Cross[RiscvTest](
404
470
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" , " rv32uc-v" , " none" ),
405
471
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" , " rv32uf-p" , " none" ),
406
472
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" , " rv32uf-v" , " none" ),
407
- (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" , " rv32ui-p" , " none " ),
408
- (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" , " rv32ui-v" , " none " ),
473
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" , " rv32ui-p" , " ma_data " ),
474
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" , " rv32ui-v" , " ma_data " ),
409
475
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" , " rv32um-p" , " none" ),
410
476
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32Config" , " rv32um-v" , " none" ),
411
477
@@ -417,11 +483,17 @@ object `runnable-riscv-test` extends mill.Cross[RiscvTest](
417
483
// lsrc is not implemented if usingDataScratchpad
418
484
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.TinyConfig" , " rv32ua-p" , " lrsc" ),
419
485
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.TinyConfig" , " rv32uc-p" , " none" ),
420
- (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.TinyConfig" , " rv32ui-p" , " none " ),
486
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.TinyConfig" , " rv32ui-p" , " ma_data " ),
421
487
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.TinyConfig" , " rv32um-p" , " none" ),
422
488
423
489
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultFP16Config" , " rv64uzfh-p" , " none" ),
424
490
(" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultFP16Config" , " rv64uzfh-v" , " none" ),
491
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultBConfig" , " rv64uzba-p" , " none" ),
492
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultBConfig" , " rv64uzbb-p" , " none" ),
493
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultBConfig" , " rv64uzbs-p" , " none" ),
494
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32BConfig" , " rv32uzba-p" , " none" ),
495
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32BConfig" , " rv32uzbb-p" , " none" ),
496
+ (" freechips.rocketchip.system.TestHarness" , " freechips.rocketchip.system.DefaultRV32BConfig" , " rv32uzbs-p" , " none" ),
425
497
)
426
498
427
499
object `runnable-arch-test` extends mill.Cross [ArchTest ](
0 commit comments