Setup
Let's get started.
This page explains the general requirements for getting this to work.
Rust
First of all, we will need the obvious: Rust. You can get it from rustup.rs where they have a guide on how to get it up and running.
If you are running on a UNIX, it boils down to the following:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Targets
We're not quite done, as we will need some additional setup. Depending on the softcore you will use, an additional toolchain is required.
- Altera
NIOS-V m/c- The compact and microcontroller variants:riscv32i-unknown-none-elf - Altera
NIOS-V g- The general purpose big variant:riscv32im-unknown-none-elf
You can install them using the rustup command:
rustup target add <TOOLCHAIN>
Here is a quick copy-friendly command to install all of them:
rustup target add riscv32i-unknown-none-elf
rustup target add riscv32im-unknown-none-elf
IDE
You will also most probably need an IDE to edit your Rust code. This series uses Visual Studio Code for its flexibility.
vscode plugins
To use vscode more effectively, the following plugins can be used and might come in handy:
- rust-analyzer: The obvious one for Rust support
- TerosHDL: A handy plugin for working with HDLs such as VHDL and Verilog in vscode