Ariane
Ariane is a 6-stage RISC-V CPU. For details, refer to https://github.com/pulp-platform/ariane
Platform | Ariane |
Architecture | RV64IMAC |
CPU | Ariane (CVA6) |
seL4 virtualisation support | – |
seL4 SMMU support | – |
Verification status | Unverified |
seL4 CMake platform name | ariane |
Contributed by | Data61 |
Maintained by | Hensoldt Cyber |
Building the GCC toolchain
It is recommended to build the toolchain from source.
git clone https://github.com/riscv/riscv-gnu-toolchain.git
cd riscv-gnu-toolchain
git submodule update --init --recursive
export RISCV=/opt/riscv
./configure --prefix="${RISCV}" --enable-multilib
make linux
After it is built, add the $RISCV/bin
folder to your PATH. The built
toolchain works for both 32-bit and 64-bit.
Alternatively, any pre-built toolchain with multilib
enabled should work.
Building seL4test
Checkout the sel4test project using repo as per seL4Test
repo init -u https://github.com/seL4/sel4test-manifest.git
repo sync
mkdir cbuild
cd cbuild
../init-build.sh -DPLATFORM=ariane -DRISCV64=1
# The default cmake wrapper sets up a default configuration for the target platform.
# To change individual settings, run `ccmake .` and change the configuration
# parameters to suit your needs.
ninja
Generated binaries can be found in the images/
directory.
Running seL4test
Ariane only provides support for the Genesys 2 board
-
Compile the bitstream from source or download the pre-build bitstream from here.
- Prepare the SD card
sudo sgdisk --clear --new=1:2048:67583 --new=2 --typecode=1:3000 --typecode=2:8300 /dev/sdX sudo dd if=images/sel4test-driver-image-riscv-ariane of=/dev/sdX1
Note that the “sgdisk” command above also creates a second partition for Linux rootfs, you could download a pre-build Linux kernel from here to verify that the FPGA is working correctly.
- Booting from the SD card and observing the output from the UART port.