VVoid Camp 2024

Wir bauen einen RISC-V Softcore
15.06.2024 , Kommunikationsraum

In diesem VVorkshop wird auf eher höherer Flugebene erklärt, wie man einen Mehrkern RISC-V Softcore selbst auf einem FPGA synthetisiert, Peripherie anbindent, und darauf Linux mit Userland bootstrapped.

Der Softcore beinhaltet:
- 64-Bit RISC-V Softcore, bis zu 32 Kerne RV64IMAFDCH
- DDR4 Speicheranbindung
- 100MBit Ethernet
- beliebig viele UARTs
- JTAG Debuginterface

Wir machen den kompletten Systemdurchstich:
- Wir bauen unsere eigene Hardware from scratch
- Wir bauen low-level Systemsoftware (Firmware, 1st Stage Bootloader, Bootloader, Linux, …) selbst
- Wir bauen Userland selbst

In diesem VVorkshop zeige ich den Einsatz der Tools:
- Chisel (higher order hardware description language)
- Chisel -> VHDL Transpilierung
- FIRRTL, Simulation von Chisel
- Rocketchip (RISC-V Softcore, written in Chisel)
- Xilinx Vivado
- Linux
- Buildroot
- OpenSBI
- U-Boot

Was ist die Motivation?
Ich baue beruflich Hypervisoren, und RISC-V erlaubt es mir, Prozessormodifikationen vorzunehmen, welche für unsere Anwendungsfälle spannend sein können. Das Wissen, wie man selbst einen "etwas stärkeren" Prozessor selbst bauen kann, teile ich gerne.

Wer ist das Zielpublikum?
Du solltest Interesse an Low-Level Systemprogrammierung haben, einen groben Überblick von Rechnerarchitekturen haben, und schon das ein- oder andere mal einen C-Compiler in der Hand gehabt haben. Ich werde versuchen, nicht zu tief abzutauchen.

Wenn du dich für FPGAs, RISC-V, Prozessormodifikationen, Open-Source Rechnerarchitekturen interessierst, dann bist du hier richtig.

Ralf Ramsauer is a postdoctoral researcher at the Technical University of Applied Sciences Regensburg where he leads the Systems Architecture Research Group. His academic research interest focuses on mixed- and safety-critical systems, real-time embedded systems and embedded virtualisation on various architectures.

This covers the full software stack of embedded systems, from hardware-related low-level virtualisation technologies via kernel-space up to userland. Ralf is a codeveloper of the Linux-based statically partitioning hypervisor Jailhouse, where he currently works on the RISC-V port.