101 lines
3.4 KiB
Markdown
101 lines
3.4 KiB
Markdown
# Chisel Local Setup
|
|
Instructions for setting up your environment to run Chisel locally.
|
|
|
|
For a minimal setup, you only need to install [SBT (the Scala Build Tool)](http://www.scala-sbt.org), which will automatically fetch the appropriate version of Scala and Chisel based on on your project configuration.
|
|
|
|
[Firtool](https://github.com/llvm/circt) is required to generate Verilog.
|
|
|
|
[Verilator](https://www.veripool.org/wiki/verilator) is installation is required to simulate your Verilog designs.
|
|
|
|
## Ubuntu Linux
|
|
|
|
1. Install the JVM
|
|
```bash
|
|
sudo apt-get install default-jdk
|
|
```
|
|
|
|
1. Install sbt according to the instructions from [sbt download](https://www.scala-sbt.org/download.html).
|
|
|
|
1. Install Firtool
|
|
|
|
Choose whatever version is being [used in continuous integration](.github/workflows/install-circt/action.yml)
|
|
```bash
|
|
wget -q -O - https://github.com/llvm/circt/releases/download/firtool-1.38.0/firrtl-bin-ubuntu-20.04.tar.gz | tar -zx
|
|
```
|
|
This will give you a directory called `firtool-1.38.0` containing the firtool binary, add this to your PATH as appropriate.
|
|
```bash
|
|
export PATH=$PATH:$PWD/firtool-1.38.0/bin
|
|
```
|
|
Alternatively, you can install the binary to a standard location by simply moving the binary (if you have root access).
|
|
```bash
|
|
mv firtool-1.38.0/bin/firtool /usr/local/bin/
|
|
```
|
|
|
|
|
|
2. Install Verilator.
|
|
We currently recommend Verilator version v4.226.
|
|
Follow these instructions to compile it from source.
|
|
|
|
1. Install prerequisites (if not installed already):
|
|
```bash
|
|
sudo apt-get install git make autoconf g++ flex bison
|
|
```
|
|
|
|
2. Clone the Verilator repository:
|
|
```bash
|
|
git clone https://github.com/verilator/verilator
|
|
```
|
|
|
|
3. In the Verilator repository directory, check out a known good version:
|
|
```bash
|
|
git pull
|
|
git checkout v4.226
|
|
```
|
|
|
|
4. In the Verilator repository directory, build and install:
|
|
```bash
|
|
unset VERILATOR_ROOT # For bash, unsetenv for csh
|
|
autoconf # Create ./configure script
|
|
./configure
|
|
make
|
|
sudo make install
|
|
```
|
|
|
|
## Arch Linux
|
|
1. Install Verilator and SBT
|
|
```bash
|
|
pacman -Sy verilator sbt
|
|
```
|
|
|
|
1. Install firtool
|
|
|
|
See the instructions for Ubuntu above, the firtool Ubuntu binary is a "many Linux" mostly statically linked binary.
|
|
|
|
## Windows
|
|
1. [Download and install sbt for Windows](https://www.scala-sbt.org/download.html).
|
|
|
|
Verilator does not appear to have native Windows support.
|
|
However, Verilator works in [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10) 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.
|
|
|
|
## Mac OS X
|
|
1. Install Verilator and SBT
|
|
```bash
|
|
brew install sbt verilator
|
|
```
|
|
|
|
1. Install firtool
|
|
|
|
```bash
|
|
wget -q -O - https://github.com/llvm/circt/releases/download/firtool-1.38.0/firrtl-bin-macos-11.tar.gz | tar -zx
|
|
```
|
|
This will give you a directory called `firtool-1.38.0` containing the firtool binary, add this to your PATH as appropriate.
|
|
```bash
|
|
export PATH=$PATH:$PWD/firtool-1.38.0/bin
|
|
```
|
|
Alternatively, you can install the binary to a standard location by simply moving the binary.
|
|
```bash
|
|
mv firtool-1.38.0/bin/firtool /usr/local/bin/
|
|
```
|