Konark is developed as part of the PULP (Parallel Ultra-Low Power) project, a joint effort between ETH Zurich and the University of Bologna.
For IIS-members, the environment can be set up by sourcing the iis-env.sh script:
source iis-env.shThis will set up all environment variables, and install the virtual python environment, which is needed to generate the RTL and SW sources.
For non-IIS members, there is some additional setup required to get the environment up and running.
The first requirement you need to install is bender. Check the installation page on how to set it up.
You need to have a python>=3.11 installed, in order to create the virtual python environment:
make python-venv
source .venv/bin/activateBy default, it will use the python in your $PATH. If you want to use a specific python version, you can set the BASE_PYTHON environment variable accordingly.
- Snitch software tests require the Clang compiler extended with Snitch-specific instructions. There are some precompiled releases available on the PULP Platform LLVM Project fork that are ready to be downloaded and unzipped.
Once LLVM is obtained, export a LLVM_BINROOT environment variable to the binary folder of the LLVM toolchain installation:
export LLVM_BINROOT=/path/to/llvm/binFor automatic formatting of generated sources, install verible. By default, the Makefile will look for a verible-verilog-format in your path, but you can also set it explicitly with the VERIBLE_FMT environment variable. This dependency is optional for normal users, but it is required to contribute to the project, since the CI will use verible to check the formatting of the code. Once installed, you can format the SV code in this repository with:
make verible-fmtAfter setting up the environment, you can generate all the RTL code for the Konark cluster by running:
make allor to just build/clean just the snitch cluster:
make sn-rtl
make sn-clean-rtlTo compile the software for the snitch cluster, you can run the following commands:
make swor more selectively:
make sn-testsAdditionally, you can run the following command to get a list of all available commands:
make helpUnless specified otherwise in the respective file headers, all code checked into this repository is made available under a permissive license. All hardware sources are licensed under the Solderpad Hardware License 0.51 (see LICENSE), and all software sources are licensed under the Apache License 2.0.