RVV ML Core SW repository

Clone this repo:

Branches

  1. b2872d7 sw/vec: Renode config fix by Lun Dong · 3 months ago master
  2. 9a2eda3 Lint cleanup by Cindy Liu · 8 months ago
  3. b492914 OSS cleanup by Cindy Liu · 8 months ago
  4. 932cca7 sw/vec: Update RVV implementations using latest RVV spec by Lun Dong · 9 months ago
  5. 15ae3a5 Temporarily diable RVV disable test by Cindy Liu · 9 months ago

Springbok SW Repository

This project hosts SW programs for RISC-V 32-bit baremetal machine with vector extension (Springbok). It provides the BSP to build the SW artifacts to run on Springbok.

Prerequisite

If you get this project from a repo manifest, you are all set. If not, you need to have following projects as well to build the project successfully.

  • PigWeed repository. It needs to be placed at <dir>/sw/pigweed.
  • RISC-V 32-bit crosscompile LLVM toolchain. It needs to be placed at <dir>/cache/toolchain_iree_rv32imf

This project needs to be at <dir>/sw/vec.

Code structure

-cmake: CMake macros and cross compile toolchain setup -scripts: Helper scripts to generate and run the tests -softrvv: scalar mockup for the RVV instructions -springbok: BSP for the core, including the starting assembly, linker script, and gloss library support -tests: RVV instruction unit tests

Build the project

If you get this project from repo manifest, you can build the artifacts with m springbok. If you download this project alone, you need to run the following from the top-level directory

  cmake -B <output dir> -G Ninja \
     -DRISCV_TOOLCHAIN_ROOT=$(TOOLCHAINRV32_PATH) \
     <dir>/sw/vec
  cmake --build <output dir> --target all

Run the executables

You can run Renode emulation with the built executables. If you run from the repo, you can run sim_springbok for Renode simulation. Out-of-repo emulation is possible but requires more steps.

Test the executables

This project uses CMake's ctest to test the executables

ctest --test-dir <output dir>