An open API service indexing awesome lists of open source software.

https://github.com/csp02/rv32i


https://github.com/csp02/rv32i

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

# ๐Ÿง  RV32I Pipelined Processor (Verilog)

## ๐Ÿ“Œ Overview
This project implements a 5-stage pipelined RISC-V (RV32I subset) processor using Verilog.
The design demonstrates instruction-level parallelism through pipelining and includes core components such as ALU, register file, control unit, and memory modules.

---

## ๐Ÿ—๏ธ Architecture

The processor is divided into the following pipeline stages:

1. **IF (Instruction Fetch)**
2. **ID (Instruction Decode)**
3. **EX (Execute)**
4. **MEM (Memory Access)**
5. **WB (Write Back)**

Pipeline registers are used between each stage to ensure proper data flow.

---

## โš™๏ธ Features

- 5-stage pipelined architecture
- Instruction execution using RV32I base subset
- Modular RTL design (ALU, Control Unit, Register File, Memory)
- Simulation-based verification
- Clean separation of datapath and control logic

---

## ๐Ÿ” Current Status

โœ… Base pipeline implementation completed
โœ… Instruction execution verified through simulation
๐Ÿšง Hazard handling (data/control hazards) โ€“ In Progress
๐Ÿšง Branch prediction โ€“ Planned

---

## ๐Ÿงช Simulation & Results

- Functional verification performed using testbenches
- Instruction flow validated across pipeline stages
- Waveforms confirm correct execution of instructions

---

## ๐Ÿงฑ Modules

- ALU
- Register File
- Control Unit
- Instruction Memory
- Data Memory
- Pipeline Registers

---

## ๐Ÿ“Œ Applications

- Understanding pipelined processor design
- Instruction-level parallelism concepts
- Foundation for advanced CPU design (hazards, forwarding, branch prediction)

---

## ๐Ÿš€ Future Work

- Implement hazard detection and forwarding unit
- Add branch prediction mechanism
- Extend instruction support
- Optimize pipeline performance

---

## ๐Ÿ› ๏ธ Tools Used

- Verilog HDL
- Xilinx Vivado
- Simulation Testbenches

---

## ๐Ÿ“‚ Repository Structure
/source -> RTL design files
/testbench -> Simulation testbenches
/docs -> Diagrams and explanations