Skip to content

Commit

Permalink
prerequisites updates
Browse files Browse the repository at this point in the history
  • Loading branch information
epsilon537 committed Jul 18, 2023
1 parent 164a4e1 commit fb57037
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 57 deletions.
1 change: 1 addition & 0 deletions assets/Praxos_Block_Diagram.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2023-06-24T09:56:08.006Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/19.0.3 Chrome/102.0.5005.63 Electron/19.0.3 Safari/537.36" etag="ZkwXOIvvqTRar0U2E5ZS" version="19.0.3" type="device"><diagram id="MNf2wMZkNhFHgaL5lZ0z" name="Page-1">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</diagram></mxfile>
129 changes: 72 additions & 57 deletions docs/prerequisites.md
Original file line number Diff line number Diff line change
@@ -1,88 +1,103 @@
## Prerequisites

- **Host OS**: Linux or Linux WSL.

- **Vivado ML** Edition V2023.1, Linux version:
### Host OS

Linux or Linux WSL.

### Vivado

**Vivado ML** Edition V2023.1, Linux version:

[https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2023-1.html](https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2023-1.html)

Make sure you also install your Arty A7 board files. Digilent has excellent instructions for installing Vivado and Digilent board files:

[https://digilent.com/reference/programmable-logic/guides/installing-vivado-and-vitis](https://digilent.com/reference/programmable-logic/guides/installing-vivado-and-vitis)
[https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2023-1.html](https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vivado-design-tools/2023-1.html)

Make sure you also install your Arty A7 board files. Digilent has excellent instructions for installing Vivado and Digilent board files:

[https://digilent.com/reference/programmable-logic/guides/installing-vivado-and-vitis](https://digilent.com/reference/programmable-logic/guides/installing-vivado-and-vitis)

### RISCV Toolchain

- RISCV Compiler Toolchain **rv32imcb**. This is the cross-compiler for building the code that'll run on the Ibex processor. I'm using the **20220210-1** pre-built binaries from *lowRISC*:

[https://github.com/lowRISC/lowrisc-toolchains/releases](https://github.com/lowRISC/lowrisc-toolchains/releases)
RISCV Compiler Toolchain **rv32imcb**. This is the cross-compiler for building the code that'll run on the Ibex processor. I'm using the **20220210-1** pre-built binaries from *lowRISC*:

Add the toolchain's *bin/* directory to your *PATH*. E.g.:
[https://github.com/lowRISC/lowrisc-toolchains/releases](https://github.com/lowRISC/lowrisc-toolchains/releases)

Add the toolchain's *bin/* directory to your *PATH*. E.g.:

```
export RISCV_TOOLCHAIN=$HOME/lowrisc-toolchain-gcc-rv32imcb-20220210-1
export PATH=$PATH:$RISCV_TOOLCHAIN/bin
export RISCV_TOOLCHAIN=$HOME/lowrisc-toolchain-gcc-rv32imcb-20220210-1
export PATH=$PATH:$RISCV_TOOLCHAIN/bin
```

- **GNU Make** version 4.2.1:

[https://www.gnu.org/software/make/](https://www.gnu.org/software/make/)

Please make sure make is in your *PATH*.

- **Bender** 0.27.1:

[https://github.com/pulp-platform/bender/releases/tag/v0.27.1](https://github.com/pulp-platform/bender/releases/tag/v0.27.1)

Add bender to your *PATH*.
### GNU Make

- **Verilator** 4.216:
Version 4.2.1:

[https://verilator.org/guide/latest/install.html](https://verilator.org/guide/latest/install.html)
[https://www.gnu.org/software/make/](https://www.gnu.org/software/make/)

Add verilator to your *PATH*.
Please make sure make is in your *PATH*.

- **Ncurses**:
### Bender

Version 0.27.1:

[https://github.com/pulp-platform/bender/releases/tag/v0.27.1](https://github.com/pulp-platform/bender/releases/tag/v0.27.1)

Add bender to your *PATH*.

### OSS CAD Suite

Version 2023-06-21.

Installation instructions: [https://github.com/YosysHQ/oss-cad-suite-build#installation](https://github.com/YosysHQ/oss-cad-suite-build#installation)

### RISCV OpenOCD

Build RISCV OpenOCD from source:

```
sudo apt-get install libncurses5-dev libncursesw5-dev libncursesw5
git clone https://github.com/riscv/riscv-openocd
cd riscv-openocd
git submodule update --init --recursive
./bootstrap
./configure --disable-werror --disable-wextra --enable-remote-bitbang --enable-ftdi --prefix=$HOME/.local
make
make install
```

- **Gtkwave**:
Add the install directory (`$HOME/.local` in my case) to your PATH *before* the OSS CAD Suite path. We want to make sure the RISCV OpenOCD version gets picked up by the environment, *not* the OpenOCD version that comes with OSS CAD Suite.

### Ncurses

[http://gtkwave.sourceforge.net/](http://gtkwave.sourceforge.net/)
```
sudo apt-get install libncurses5-dev libncursesw5-dev libncursesw5
```

- **RISCV OpenOCD**
### LiteX

Build RISCV OpenOCD from source:

```
git clone https://github.com/riscv/riscv-openocd
cd riscv-openocd
git submodule update --init --recursive
./bootstrap
./configure --disable-werror --disable-wextra --enable-remote-bitbang --enable-ftdi
make
sudo make install
```
Add the install directory (*/usr/local/bin* in my case) to your PATH.
The installation instructions are on the LiteX Wiki:

- **LiteX**: The installation instructions are on the LiteX Wiki:
[https://github.com/enjoy-digital/litex/wiki/Installation](https://github.com/enjoy-digital/litex/wiki/Installation)

[https://github.com/enjoy-digital/litex/wiki/Installation](https://github.com/enjoy-digital/litex/wiki/Installation)
### CMake

- **CMake**: Version 3.24 or later.

On Ubuntu, follow these instructions: [https://apt.kitware.com/](https://apt.kitware.com/)
Version 3.24 or later.

On other distros, please use your distro's package installer to get version 3.23 or later.
On Ubuntu, follow these instructions: [https://apt.kitware.com/](https://apt.kitware.com/)

Make sure that the correct CMake version is first in your PATH. The Vivado */tools/Xilinx/Vivado/2023.1/settings64.sh* script adds an old version of CMake to your path. I override that by re-adding */usr/bin* to the front of the PATH after sourcing the Vivado script:
On other distros, please use your distro's package installer to get version 3.23 or later.

Make sure that the correct CMake version is first in your PATH. The Vivado */tools/Xilinx/Vivado/2023.1/settings64.sh* script adds an old version of CMake to your path. I override that by re-adding */usr/bin* to the front of the PATH after sourcing the Vivado script:

```
source /tools/Xilinx/Vivado/2023.1/settings64.sh
export PATH=/usr/bin:$PATH
source /tools/Xilinx/Vivado/2023.1/settings64.sh
export PATH=/usr/bin:$PATH
```

- **SDL2**: [https://wiki.libsdl.org/SDL2/Installation](https://wiki.libsdl.org/SDL2/Installation)
### SDL2

[https://wiki.libsdl.org/SDL2/Installation](https://wiki.libsdl.org/SDL2/Installation)

Also, make sure to set environment variable **SDL2_DIR** to point to the SDL2 directory containing files *SDL2Config.cmake* or *sdl2-config.cmake*. In my case (Ubuntu WSL), I added the following line to my *~/.bashrc*:
Also, make sure to set environment variable **SDL2_DIR** to point to the SDL2 directory containing files *SDL2Config.cmake* or *sdl2-config.cmake*. In my case (Ubuntu WSL), I added the following line to my *~/.bashrc*:

`export SDL2_DIR=/usr/lib/x86_64-linux-gnu/cmake/SDL2/`
```
export SDL2_DIR=/usr/lib/x86_64-linux-gnu/cmake/SDL2/
```

0 comments on commit fb57037

Please sign in to comment.