Skip to content

UBC-ORCA/cva5pr

Repository files navigation

CVA5PR Project Wiki

Top-level system wrapper for the CVA5 Processor.

Background Information

See these links for additional background information:

Important

Always run, from the root project directory, before using any other scripts or Makefiles. This has to be used each time a new terminal is used:

source settings.sh

Getting Started

Step 1: Set up the build environment

On Debian based distributions (including Ubuntu), various packages need to be present on the host and can be installed with:

sudo apt-get install git gcc g++ make texinfo bison flex libgmp-dev libmpfr-dev libmpc-dev ninja-build meson autoconf help2man

Note that libgmp-dev, libmpfr-dev, and libmpc-dev are required for building gcc. An alternative method to installing these packages is instead running ./contrib/download_prerequisites in the gcc source directory. See this website for more details.

picolibc depends on ninja-build and meson. Consult their respective websites for alternative installation methods. (ninja, meson).

Step 2: Clone this repo and its submodules: git clone --recurse-submodules -j8 https://github.com/UBC-ORCA/cva5pr.git

Step 3: From the root project directory, install toolchains in utils/scripts (GNU, picolibc and verilator): ./utils/scripts/build-riscv-gnu.sh, ./utils/scripts/build-riscv-picolibc.sh, ./utils/scripts/build-verilator.sh.

Step 4: run cd cx_runtime, and then run make machine. See cx_runtime/README.md for more information about adding new CXU's to the runtime.

Makefile

The makefile supports building all of the benchmarks, linting the processor and running the benchmarks through the Verilator simulation environtment. If CVA5 sources are updated, the simulation environment is automatically rebuilt when attempting to run any benchmark.

Commands

  • build-embench Builds the embench benchmark with CRC32 example
  • run-embench-verilator Runs the embench benchmarks in the verilator simulation environment. Logs to: logs/verilator for summary and Logs to: logs/verilator/embench for individual benchmarks.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published