Proteus

An extensible RISC-V core and software ecosystem for hardware security research

About the project

Proteus is a research project to accelerate the implementation and evaluation of hardware security mechanisms. It consists of two components, an extensible RISC-V CPU and a software ecosystem.

The core

The Proteus core is a RISC-V processor implemented in SpinalHDL. It uses a plugin system that makes the pipeline easy to configure and extend, and features many components relevant to security research, such as a taint tracking mechanism, different speculation and prefetching primitives and their tracking, caches, and a CHERI implementation. The pipeline can be configured either as a classical 5-stage in-order CPU, or as an out-of-order design, making it possible to evaluate extensions in different configurations.

The core was first introduced in the following presentation:

Software ecosystem

The software ecosystem repository contains the tools needed to install, run, and evaluate Proteus: a RISC-V GNU toolchain with a Newlib-based board support package, a Verilator simulation flow, formal and functional verification, performance benchmarking, a non-interference-based security evaluation framework, and hardware cost evaluation through EVAL-HD and Xilinx Vivado.

Publications

Papers using the core

Papers extending the core

Master's theses

Proteus has been used and extended in a number of master's theses: