This repository contains the design and implementation of a 32-bit RISC-V (RV32I) Processor tailored for FPGA platforms, specifically the PYNQ-Z2.
The project focuses on building a complete Single-Cycle Processor microarchitecture from scratch.
| Category | Details |
|---|---|
| Instruction Set | RISC-V RV32I (Base Integer) |
| Microarchitecture | Evolutionary Design (Single-Cycle → Multi-Cycle → Pipelined) |
| Features | Hazard Handling, Performance Benchmarking, Cache Integration (TBD) |
| Target Hardware | PYNQ-Z2 (Xilinx Zynq-7000 SoC) |
| Hardware Language | Verilog HDL |
| EDA Tool | Xilinx Vivado 2025.2 |
| Software Toolchain | TBD (e.g., RISC-V GNU Toolchain) |
This project is structured in phases, moving from a basic functional processor to an optimized pipelined architecture with performance benchmarking.
- Fundamental Architecture & Datapath Design
- Core RV32I Module Implementation (ALU, RegFile, ImmGen)
- Control Unit & Instruction Decoding Logic
- Functional Verification via Simulation (Vivado XSim)
- State Machine Based Control Unit Design
- Resource Sharing Optimization (Shared ALU/Memory)
- Multi-cycle Instruction Timing Verification
- 5-Stage Pipeline Implementation (IF, ID, EX, MEM, WB)
- Hazard Detection & Forwarding Unit (Data/Control Hazard Handling)
- Branch Prediction Logic Implementation
- Benchmark Testing: Running Dhrystone/CoreMark on FPGA
- CPI Analysis: Cycles Per Instruction (CPI) measurement and comparison
- Timing & Resource Optimization: FPGA Synthesis/Implementation tuning
- Memory System Enhancement: Cache memory (L1) integration
The project follows a structured hardware design cycle for reliable implementation and verification.
- RTL Coding: Modular design using Verilog HDL.
- Functional Simulation: Verification using Vivado Simulator (XSim).
- Synthesis & Implementation: Mapping logic to FPGA resources and timing analysis.
- On-Board Testing: Final validation on the PYNQ-Z2 board.
This project is inspired by and references the following resources:
- Course: RISC-V Processor Design Course by Marco Spaziani Brunella
- Specification: Official RISC-V Instruction Set Manual

