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
- Hardware Base: Ultra-Low Power ECP-5 FPGA from Lattice, which is with 85K LUTs sufficiently large for complex multi-core designs.
- Open Toolchain for FPGA Synthesis
- LiteX as a SoC Builder.
- Yosys with Project Trellis as Synthetis Tool.
- Nextpnr for Place-and-Route for the FPGA.
- Softcore: VexRiscv RV32IMA Softcore.
- Emulator: QEMU with Extensions for Rhodium
- 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.