A minimal Chisel project with Mill build system. This template is designed to be a starting point for new Chisel projects.
-
.gitignore
- Tell git to ignore some artifacts in the project. -
Makefile
- Rules to invoke the build system. -
build.mill.scala
- The mill build file for the project. -
YourChiselProject/src/main/scala/Elaborate.scala
- The main entry point for generating the hardware description files. -
YourChiselProject/src/main/scala/YourChiselProject.scala
- The main Chisel code for the project.
If this is your first time using the Mill build system, please install the toolchain following their official instructions.
An example of the installation process is provided as follows:
Create a directory to store the toolchains.
mkdir -p ./toolchains/
Download the Mill binary and make it an executable.
curl -L https://repo1.maven.org/maven2/com/lihaoyi/mill-dist/0.13.0-M0/mill -o ./toolchains/mill
chmod +x ./toolchains/mill
Add the toolchain to the PATH.
export PATH="$PATH:$(pwd)/toolchains"
Now, mill should be available in the command line.
mill --version
To generate Verilog files, run the following command:
make verilog
This project follows the Chisel Style Guide and uses Scalafmt to enforce a consistent code style.
- Chips Alliance Chisel Project Template - A template project for beginning new Chisel work
- OSCPU Chisel Playground - Another version of the Chisel template supporting mill