Another version of the Chisel template supporting mill. mill is another Scala/Java build tool without obscure DSL like SBT. It is much faster than SBT.
Contents at a glance:
.gitignore- helps Git ignore junk like generated files, build products, and temporary files.build.sc- instructs mill to build the Chisel projectMakefile- rules to call millplayground/src/GCD.scala- GCD source fileplayground/src/DecoupledGCD.scala- another GCD source fileplayground/src/Elaborate.scala- wrapper file to call chisel command with the GCD moduleplayground/test/src/GCDSpec.scala- GCD tester
Feel free to rename or delete files under playground/ or use them as a reference/template.
First, install mill by referring to the documentation here.
To run all tests in this design (recommended for test-driven development):
make testTo generate Verilog:
make verilogYou can change the FIRRTL compiler between SFC (Scala-based FIRRTL compiler) and
MFC (MLIR-based FIRRTL compiler) by modifying the useMFC variable in playground/src/Elaborate.scala.
The latter one requires firtool, which is included under utils/.