Atalanta: Open-Source RISC-V Microcontroller for Rust-Based Hard Real-Time Systems
Nurmi, Antti; Lindgren, Per; Kalache, Abdesattar; Lunnikivi, Henri; Hämäläinen, Timo D. (2024-08-01)
Nurmi, Antti
Lindgren, Per
Kalache, Abdesattar
Lunnikivi, Henri
Hämäläinen, Timo D.
01.08.2024
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202501311836
https://urn.fi/URN:NBN:fi:tuni-202501311836
Kuvaus
Peer reviewed
Tiivistelmä
Real-time systems are a segment of embedded systems that have remained dominated by proprietary hardware architectures, despite the continuing growth of the open-source RISC-V instruction set architecture (ISA). The introduction of core-local interrupt controller (CLIC) extensions to the RISC-V architecture presents a promising opportunity to bridge the technological gap with ARM in low-latency interrupt handling. Regarding software, the real-time interrupt-driven concurrency (RTIC) framework enables ever lighter hard real-time systems with formal compile-time guarantees for memory safety, response time and overall schedulability.In this publication we adapt Ibex, a small, open-source RISC-V processor for CLIC support and present Atalanta, a lightweight microcontroller designed around the RTIC framework. Atalanta implements a localized memory architecture that enables low-latency context switching together with a large number of supported interrupt inputs and levels provided by the CLIC specification.We evaluate Atalanta for real-time performance and implementation feasibility through simulation-based measurements and FPGA prototyping, respectively. We are able to demonstrate an interrupt latency of 5 cycles with minimal jitter and a context switch latency of 21 cycles, placing it competitively against current state-of-the-art solutions. Furthermore, we implement an FPGA prototype for the Xilinx PYNQ-Z1 and VCU118 boards, targeting a frequency of 45 MHz. We publish the sources and implementation scripts of Atalanta under a permissive open-source license.
Kokoelmat
- TUNICRIS-julkaisut [23424]
