Skip to content

Getting Started

Installation

Clone the repository:

git clone https://github.com/pulp-platform/occamy.git --recurse-submodules

If you had already cloned the repository without the --recurse-submodules flag, clone its submodules:

git submodule update --init --recursive

Tools and environment

This repository requires several tools to be installed on your machine. Some of these tools require non-free licenses. However, most of the functionality in this repository can be reproduced with free tools alone.

Note that installing all tools, in appropriate versions, may be non-trivial. For this purpose, we provide a Docker container with all free tools installed.

The following section provides instructions to install the Docker container.

Users with access to ETH Zurich IIS machines can find all tools already installed on these machines. To complete the setup, skip to the IIS environment setup section.

If you do choose to setup a custom development environment on your own machine, we strongly recommend you take example from our Docker file.

Docker container

The Occamy Docker container is based on the latest Snitch cluster container image and comes with all free development tools for Snitch/Occamy pre-installed. The environment is also already configured, such that no additional steps are required to work in the container after installation.

Instructions to install the Snitch cluster container can be found in this README and are readily adapted to the Occamy container by replacing references to the Snitch container ghcr.io/pulp-platform/snitch_cluster with the Occamy container reference ghcr.io/pulp-platform/occamy.

IIS environment setup

To make sure the right versions of each tool are picked up on your IIS machine and install additional tools, run:

source iis-setup.sh

Have a look inside the script. You will want to add some of the steps contained therein to your shell startup file, e.g. exporting environment variables and activating the Python virtual environment. This way, every time you open a new shell, your environment will be ready for developing on Snitch, and you won't have to repeat the installation steps.

You will also have to install the GCC compiler toolchain for CVA6 and verible. You can use the commands in the before_script section of the Gitlab CI file.