Ara should be instantiated as a submodule of Cheshire. This means that the Ara repo should be downloaded through bender checkout
from the Cheshire directory. Then, Ara's path can be retrived using bender path ara
.
git clone [email protected]:pulp-platform/cheshire.git
cd cheshire
git checkout ${COMMIT}
bender checkout
ARA_ROOT=$(bender path ara)
cd ${ARA_ROOT}
- Compile kernels to be run on the FPGA under Linux (this will also install the buildroot toolchain)
cd ${ARA_ROOT}/cheshire/sw
# Choose a kernel from the apps directory
kernel=fmatmul
make ${kernel}-linux
- Generate the Linux image (containing all the RVV kernels previously built)
# Generate the Linux img
cd ${ARA_ROOT}/cheshire/sw
make linux-img
Compile the source files with the vector extension support enable:
make chs-sw-all
This command will also copy the necessary dependencies to sw/tests
and enable the vector extension at compile time.
If the version of the default host compiler is too low, the build of the buildroot toolchain can fail.
Host gcc
and g++
version 11.2.0 work.
For IIS builds:
make [linux_img, ${kernel}-linux] TOOLCHAIN_SUFFIX=-11.2.0