-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
164a4e1
commit fb57037
Showing
2 changed files
with
73 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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">7Vxbc+I2GP01PMJYkm88Akm2eUib3bRN94nxggKeMRY1IoH++srxDUu+YYzk3SSTTGxdbHF8vqs+M0CzzeFL4GzXD2SJvQHUlocBuhlACGzbZv/ClmPUYuogalgF7jIelDU8uf/huFGLW/fuEu9yAykhHnW3+cYF8X28oLk2JwjIW37YC/Hyd906Kyw0PC0cT2x9dpd0HbXahpa1/4bd1Tq5M9Dino2TDI4bdmtnSd5OmtDtAM0CQmh0tDnMsBeCl+ASzbsr6U0XFmCfNpmg7c2/Ji9A8/623DFG27vfV1+GydN4dbx9/IkfA+dAdvM/yTZeNz0mYARk7y9xeD1tgKZva5fip62zCHvf2ONnbWu68dgZYIevOKAuA3LiuSuftf0glJIN64jvyLrxofSzgBQhRi1MNpgGRzYknjCEdoxqTCtgxedvBQ9pffKATDNudGJirNKLZ9ixgxi+M6AsQ/IyFLfE9en7Uo0p+2WLn+X/DHbJWdIzgkZFZ1WfVd4JintGwKjo5BaS70SoYmbVxKo7mlZFp1V1VRuWzgSl00AV3qACb1CFNyhaCfvtRGo4mYGJqjqRGV0vkBlwNZmBgsxM2DHx55TMn6fzB2dHcXCZAHWAG+KA04EIHCgC7mq4oRLcWNt0zzSOliCnPZKACgBifzkJbSM7W3jObucu8pjlAcYHl/4THoekjU6/xwPD45vDybibY3Lis88ZzTKS0++nfdm097N03pKZ33ilbOlrsiK+491mrfEDDcdVP072ick+WOB6lU2dYIVpHU1FeiS2R2RDkeVJ2gLsOdR9za++iCHxDR9DC5CREVp5MhoaR7LoU8ezTv0B7kIIcqw2uAtFsFRcKBlIXl52ODfmndQpUu15rpd5JzMaeH12T7R6jWGYBSRJVU3nKsMQoXxXDdo9u9wfzVTEjlGCnqM5ZAozNCufSai9LFOmpKIyEpwtqdyFEG9XeiCppkCv5+mVrVFzY9Qly4pJJodROuxI96e6/siFSjWM6ootVjFbnjyHYaPa3Rum/m4CMyzw96BMf28s4PUNJ4J8uSiBE0HKxKrWr4M5xw70yrGLCVbr2VUzgYWGpj2WaTP0OlXfVMIB5yYKjkUPbEZiD099kgd2Plks8E7Mm3RhJ7Sm5AbnkTs8e8SByyBhhk6F9wO7YryNrBxzgGSnKXfz1OKd7zPl6W81oz8jmHM8GRan38qjMX69hla5LKCbVePZQbQC+bIopi9PTXInnltJSqBOuJpLSS35rWrDr410MNZl0n0ItBpPrCnhIee02OMeKnwokOz+29eLNX3Kq1yiKSOZBI+kXu2iOuoBaCGp1KuLAWqZl2zpjcForGU/3Eo60rT8ck3D6InmFJOxjKOTcFrw79z15wFeCQyXFtOk264NQxh0rRAGiLk8GMG03cyXDnXmHhN45TgVpfbl4iQm6lAepzVbhXKgDFs5UGLKSU+BcpbLQD1GhnKMxESLEWG0uDiB3gVATRMr1wPIFpW3GSG02s415QjpY+UIibmn0WikHhhTNTDJzU4VNUipk6hxlRAh5RCJ/n5Vgkd2opfPkRlFnNIKALtePYToSwooScjxSk3Vxma8fhMeFj9MSYlZLtFj8ULTeOuFKyYxGyZmuwpXoOiH//IUM34OinEZHEtvSTEDcBRrmArqjGJiCPPLU0z/KShm6F1RbKyYYmLwF2WoTY8hNv3Bgj9zFR4VV7fI9jQgl7zSCyJDS6qjIQaGvRTRkoqj9+Y718s/om420rSmklxSbyTJWHCSLNS1N/ZHeEnmq5SuLcliBP7JxFzk3XcmWl3ZFKjYpoiZjk8m5rJkPWeiwcVoQmjVmIl8jMYHe1dmYnK7s5mYo4ZPfKyInTENO669THba+k5DuyOFaPJ8lqwQkVgTcqlCTLbq05oP+Vv1DQvJG9BMVxvLcVF+64yUYdaozY528BFfK2VX10rx4027Yse/M85DgfP337525AckNbOyi9bLiJoVn1gISS0+4VNdrV9ialfHLrM+BLXN6Z/9tk0P6qBqqdi0MPvkFXkFupWZPk73tCXokKe60ZCindGvbb7/Q9Mvir3V0Y+rCjX58uXm9OPL5viC6mvTr+1ewMemn62UfkItcVvXcgh5J1Xybidqm+f+2PQrqZNXpP0sPu5trf2EUPza9Gub3P7Y9FOavhnCcU1Q0Zx+3CaNzXuR16Zf24z2x6afoZZ+/HsZbdOHwrdQCHr0yvRLFv5Jv7Pop6s1vrAz+vEbg7LpBwX6admLOWRP+/FmTsE318mt0tV7nyHoe/VXU9FWu2EgfK+F1fbl6iHg02MNX6+uF212mn0lZjQ8+2JRdPs/</diagram></mxfile> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/ | ||
``` |