Instructions for setting up your environment to run Chisel locally.
For a minimal setup, you only need to install SBT (the Scala Build Tool), which will automatically fetch the appropriate version of Scala and Chisel based on on your project configuration.
Firtool is required to generate Verilog.
Verilator is installation is required to simulate your Verilog designs.
FileCheck is used by many of the unit tests.
Please see the FileCheck link for documentation about FileCheck's syntax with examples.
Alternatively you can search the tests for examples by searching for CHECK:
which is used to tell FileCheck to attempt to match the following text in the generated output.
-
Install the JVM
sudo apt-get install default-jdk
-
Install sbt according to the instructions from sbt download.
-
Install Firtool
Choose whatever version is being used in continuous integration
wget -q -O - https://github.com/llvm/circt/releases/download/firtool-1.56.1/circt-full-shared-linux-x64.tar.gz | tar -zx
This will give you a directory called
firtool-1.56.1
containing the firtool binary, add this to your PATH as appropriate.export PATH=$PATH:$PWD/firtool-1.56.1/bin
Alternatively, you can install the binary to a standard location by simply moving the binary (if you have root access).
mv firtool-1.56.1/bin/firtool /usr/local/bin/
-
Install Verilator. We recommend relatively recent verilator Follow these instructions to compile it from source.
-
Install prerequisites (if not installed already):
sudo apt-get install git make autoconf g++ flex bison
-
Clone the Verilator repository:
git clone https://github.com/verilator/verilator
-
In the Verilator repository directory, check out a known good version:
git pull git checkout v5.004
-
In the Verilator repository directory, build and install:
unset VERILATOR_ROOT # For bash, unsetenv for csh autoconf # Create ./configure script ./configure make sudo make install
-
-
Install FileCheck. FileCheck can usually be found in llvm-*-tools packages, eg.
sudo apt-get install llvm-12-tools export PATH=$PATH:/usr/lib/llvm-12/bin
You can alternatively download a statically-ish linked binary from https://github.com/jackkoenig/FileCheck
mkdir filecheck cd filecheck wget -q https://github.com/jackkoenig/FileCheck/releases/download/FileCheck-16.0.6/FileCheck-linux-x64 mv FileCheck-linux-x64 FileCheck chmod +x FileCheck export PATH=$PATH:$PWD
Similarly to firtool, you can install the binary to a more standard location by moving it.
mv FileCheck /usr/local/bin
-
Install Verilator and SBT
pacman -Sy verilator sbt
-
Install firtool
See the instructions for Ubuntu above, the firtool Ubuntu binary is a "many Linux" mostly statically linked binary.
Verilator does not appear to have native Windows support. However, Verilator works in WSL or in other Linux-compatible environments like Cygwin.
There are no issues with generating Verilog from Chisel, which can be pushed to FPGA or ASIC tools.
-
Install Verilator and SBT
brew install sbt verilator
-
Install firtool
wget -q -O - https://github.com/llvm/circt/releases/download/firtool-1.56.1/circt-full-shared-macos-x64.tar.gz | tar -zx
This will give you a directory called
firtool-1.56.1
containing the firtool binary, add this to your PATH as appropriate.export PATH=$PATH:$PWD/firtool-1.56.1/bin
Alternatively, you can install the binary to a standard location by simply moving the binary.
mv firtool-1.56.1/bin/firtool /usr/local/bin/
-
Install FileCheck. You can download a statically-ish linked binary from https://github.com/jackkoenig/FileCheck
mkdir filecheck cd filecheck wget -q https://github.com/jackkoenig/FileCheck/releases/download/FileCheck-16.0.6/FileCheck-macos-x64 mv FileCheck-macos-x64 FileCheck chmod +x FileCheck export PATH=$PATH:$PWD
Similarly to firtool, you can install the binary to a more standard location by moving it.
mv FileCheck /usr/local/bin