Rhodium: Open Source Ecosystem for Systems Education

Our mission is to democratize and advance the research, education, and practice of modern hardware and software co-design and education. We aim to create an integrated, open-source hardware/software ecosystem, built on open standards that provide comprehensive exploration and development opportunities. From RISC-V-based hardware designs to advanced operating systems, our platform is targeted to enable innovation, and to serve as a rich educational tool. We strive to enhance the understanding of complex system design, from basic hardware elements to sophisticated software components, making it accessible for academic researchers, university students, and lifelong learners alike.

With a complete open-source platform in system-level programming and hardware design, we aspire to cultivate a more robust and transparent educational ecosystem. The Rhodium project is committed to nurturing a community of skilled professionals, ready to face the ever-evolving challenges in the tech world. By integrating and optimizing existing FOSS projects and providing high-quality educational materials, we aim to establish our platform as a sustainable, long-term fixture in academic education and professional development. Through this endeavor, we envisage a world where knowledge and innovation in hardware and software co-design is not hindered by commercial constraints but is driven by an open, collaborative, and learning-focused community.

People

Scenarios for Academic Education

In the following, we present some scenarios showcasing the use of Rhodium in academic education. These examples will illustrate the advantages that our ecosystem brings for its integration in teaching contexts. Behind each project, there can be a multi-week or semester-long practical project that deepens theoretical content through hands-on work.

Computer Architecture

Possible Projects

  • Build your own Processor
  • Experiment with Cache Coherence

Benefits of Rhodium

  • No Commercial Toolchain Required
  • Flexible Periphery

Operating Systems

Possible Projects

  • Multi-Core Synchronization
  • Memory Protection

Benefits of Rhodium

  • Simple Periphery
  • Specialized Debugging Hardware

Compilers

Possible Projects

  • RISC-V Backend
  • Optimization for Accelerators

Benefits of Rhodium

  • Deep Introspection
  • Integration of Accelerators

Smart Sensors

Possible Projects

  • Hybrid Signal Processing
  • Low-Power FPGA Operation

Benefits of Rhodium

  • Reusable Base Plattform
  • Space for own Circuits

Used Components

  1. Hardware Base: Ultra-Low Power ECP-5 FPGA from Lattice, which is with 85K LUTs sufficiently large for complex multi-core designs.
  2. Open Toolchain for FPGA Synthesis
  3. Softcore: VexRiscv RV32IMA Softcore.
  4. Emulator: QEMU with Extensions for Rhodium
  5. Software: Xv6 teaching operating system, Linux kernel, LLVM compiler.

Preliminary Work

Prior to the inception of our Rhodium project, our team has engaged in extensive preliminary work that serves as a foundation for our hardware/software platform. We've successfully conducted ports of the MIT educational operating system to the D1 SoC/T906 RV64 core and RV32. We've also facilitated a ports of other operating systems, like Oberon, Inferno, and the f9 microkernel to RISC-V. Moreover, we've been actively collaborating with the Rust-based open-source oreboot project to enhance its capabilities. For our planned educational resources, our Languages and Compilers course material, which was prepared for a mandatory course at the university level, acts as an example. Based on these foundational activities and resources, we will build an open, flexible, and well-documented platform for research, university-level education, and lifelong learning.