Basic RV32I RTL CPU Design

TL-Verilog Based RV32I Core
This version focuses on designing a RISC-V core using TL-Verilog, a high-level hardware description language, via the Makerchip platfor
Status: Ongoing
Type: Individual
Tags: RISC-V, TL-Verilog
View ProjectNo projects found for the selected tags.
Basic RV32I RTL CPU Design
Name | ROSE |
---|---|
Description | RoSe (RISC-V Open-Source Environment) is a set of learning-focused experiments exploring the design of a RISC-V processor using only open-source tools. Each version tackles a different aspect of CPU design—from simulation to high-level abstraction to physical design. These are standalone efforts and not part of a continuous development flow. |
Start | Mar 2025 |
Repository | ROSE🔗 |
Type | Individual |
Level | Beginner |
Skills | Computer Architechture |
Tools Used | TL-Verilog, Colab, Xilinx, OpenLane |
Current Status | Ongoing |
RoSe: RISC-V Open-Source Env
RoSe (RISC-V Open-Source Environment) is a set of learning-focused experiments exploring the design of a RISC-V processor using only open-source tools. Each version tackles a different aspect of CPU design—from simulation to high-level abstraction to physical design. These are standalone efforts and not part of a continuous development flow.
Colab-Based Verilog Simulation
An entry-level setup for simulating a RISC-V CPU using Verilog and Icarus Verilog, hosted on Google Colab. This environment allows testing of instruction execution using C or Assembly code compiled for the RISC-V architecture.
Tools Used
- Icarus Verilog: Open-source Verilog compiler and simulator.
- RISC-V GCC Toolchain: Compiles high-level C or assembly into RISC-V binaries.
How It Works
- Write and compile RISC-V C/Assembly code using the GCC toolchain.
- Convert binaries to a memory format usable by Verilog testbenches.
- Simulate instruction execution using a Verilog-based CPU model in Icarus Verilog.
Current Status
- ALU implemented and tested.
- Able to run simple arithmetic and logic instructions.
- Environment runs entirely in the browser via Colab, making it accessible and easy to replicate.
TL-Verilog Based RV32I Core
This version focuses on designing a RISC-V core using TL-Verilog, a high-level hardware description language, via the Makerchip platform.
Tools Used
- TL-Verilog: A language offering higher abstraction over traditional RTL Verilog.
- Makerchip: A web-based IDE for TL-Verilog development and simulation, including waveform visualization and real-time debugging.
Highlights
- Pipelined architecture with modular stages (IF, ID, EX, MEM, WB).
- Real-time simulation and debugging features for rapid development.
- Clean separation of control and datapath logic due to TL-Verilog’s structure.
Current Status
- Working RV32I CPU core implemented.
- Successfully runs compiled RISC-V assembly programs.
- Simulated and tested through Makerchip’s integrated environment.
OpenLANE Physical Design Setup
This version explores backend design concepts—synthesizing RTL to GDSII—using the OpenLANE toolchain on a local Linux Mint setup.
Tools Used
- OpenLANE: Open-source digital ASIC flow (RTL-to-GDSII).
- Yosys: RTL synthesis tool.
- OpenROAD, Magic, KLayout: Used for placement, routing, verification, and layout inspection.
Objective
- Take small designs (like PicoRV32 or a custom ALU) through a full physical design flow.
- Learn the steps involved in chip implementation: synthesis, floorplanning, placement, clock tree synthesis, routing, and DRC.
Current Status
- Environment fully set up on Linux Mint.
- Currently working on characterization and synthesis of the PicoRV32 core.
- RTL blocks are being prepared for integration into the OpenLANE flow.