The ParaNut-Processor is an open, scalable, and RISC-V compatible processor architecture
developed at the University of Applied Research Augsburg. The project was initiated in
2010 by Prof. Dr. Gundolf Kiefer and is since continuously been advanced by students and
used in education and research.
The main feature of the project is a RISC-V compatible softcore processor written in SystemC.
Its hardware implementation is highly configurable, giving the user access to options such
as the number of processor cores, cache size, cache options, and provided privileged modes.
This enables the adaptation of the ParaNut hardware to a specific use case and its requirements.
Complementing the ParaNut hardware are several software components: A custom library enabling
access to ParaNut-specific instructions and concepts. A FreeRTOS operating system is currently
in progress, as well as a configuration tool for quickly and easily configuring a hardware
implementation. Software for the ParaNut may be written in C, support for Rust is in development.
Current Topics
Embedded Linux
Few Open Source RISC-V processors are capable of booting Linux. The ParaNut is in the process
of becoming one of them. For two semesters now we have been working on supporting the lightweight OS and are
making great progress. So far Memory Management has been implemented, a bootloader based on OpenSBI created
and the Linux Kernel has been configured.
Application: Blood Glucose Monitoring in Animals
Initially, a start-up idea, developed in "Business Formation and Management": A semi-permanent implant for
animals suffering from diabetes for monitoring the blood glucose content via Bluetooth. Based on the
ParaNut we are implementing a prototype of this idea. Already a UART interface for communicating with
Bluetooth hardware and firmware have been created. The first sensor data can already be received on a smartphone.
Rust
The ParaNut's architecture forgoes the use of speculative instruction execution. It is thus
robust against security gaps such as "Spectre" or "Meltdown". Additional security will be provided
through the use of the Rust programming language. Rust is modern, growing programming language, focussing
on security. Software developed using Rust is more resilient against memory and program errors.
SystemC Workflow
Hardware sources for the ParaNut are mainly written in SystemC. Using this hardware description language, enables
performant behavioral simulation, in turn improving the debug and implementation workflow. Synthesizing hardware
from SystemC usually requires closed-source third-party software. We endeavor to eliminate this dependency and
use only open-source tools in our development process.s.
Philosophy
From Students for Students
The ParaNut processor is developed by students at the University of Applied Research Augsburgs.
The results of this effort are actively being used in classes at the University. The ParaNut- and EES-
the team is thus continually improving the study experience in the fields of IC and system design. It enables
interested students to advance in these fields while working on a real, complex project.
Open Source Hardware
The ParaNut project is part of the open-source community. It benefits developers and projects from all over
the world and contributes to the open-source community by providing an open, scalable RISC-V processor.
The University is an official member of RISC-V International and may
thus actively participate in the development of the instruction set architecture.
The Team
Who we are
During the winter semester of 2022/23, the team consisted of eleven students, which pursued several topics in smaller
teams of two or three students. The group is supervised by Prof. Dr. Gundolf Kiefer. Additional support is provided by
Michael Schäferling.
Participate
Interested students are always welcome. The ParaNut offers possibilities for writing Bachelor's or Master's Thesis or
TI5 projects.
Contact us if you are interested.
The ParaNut can be tested in simulation
This is feasible on any Linux PC, no additional hardware is necessary.
The first steps for setting up the simulation environment are described on GitHub.
Inside the University VPN, a VM or Docker, as used in the EES lecture can be acquired.