Skip to content

The RV32IM pipeline processor project designs a 32-bit RISC-V processor with 5 stages: IF, ID, EX, MEM, WB. It supports RV32I base and M-extension (MUL/DIV), using forwarding, stalling, and branch prediction to manage hazards. Implemented in Verilog, it is simulated, tested with RISC-V tools, and optimized for performance.

Notifications You must be signed in to change notification settings

cepdnaclk/e20-co502-RV32IM_Pipelined_Processor_Group-05

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

RV32IM Pipeline Processor


Team members

Supervisor

Table of Contents

  1. RV32IM Pipeline Processor Design
  2. Key Features of the RV32IM Processor
  3. Links

RV32IM Pipeline Processor Design

This project focuses on designing a 32-bit RISC-V RV32IM pipeline processor with five stages: Instruction Fetch (IF), Decode (ID), Execute (EX), Memory Access (MEM), and Write Back (WB). The processor supports the RV32I base instructions and the M-extension for integer multiplication and division. The design emphasizes efficient instruction flow with minimized hazards, utilizing forwarding and stalling for data hazards and branch prediction for control hazards.

The processor is implemented using Verilog , simulated with tools like ModelSim, and tested using the RISC-V toolchain and compliance tests. Performance optimizations include pipeline balancing and optional cache integration for faster memory access. The project delivers a functional HDL codebase, test results, and optionally, an FPGA prototype.

This design project enhances understanding of processor architecture, pipelining, and ISA implementation, providing a solid foundation for exploring advanced computer engineering concepts.

Key Features of the RV32IM Processor

Pipeline Stages:

Instruction Fetch (IF) Instruction Decode (ID) Execute (EX) Memory Access (MEM) Write Back (WB) The design ensures efficient instruction flow with minimized hazards and optimized performance.

Supported Instruction Set:

RV32I Base Instructions: Arithmetic, logical, control flow, and load/store operations. M Extension: Multiplication (MUL) and division (DIV) instructions.

Hazard Handling:

Data hazards: Managed through forwarding and stalling mechanisms. Control hazards: Addressed using branch prediction or static/dynamic strategies.

Performance Enhancements:

Pipeline balancing to reduce cycle latency. Cache integration for faster memory access.

Simulation and Verification:

Implemented using HDL (Verilog or VHDL). Verified using testbenches with RISC-V compliance tests and custom test cases.

Tools and Technologies:

Hardware Description Language (HDL): Verilog/VHDL for processor implementation. Simulation Tools: ModelSim, Vivado, or equivalent. Synthesis Tools: FPGA tools like Quartus or Vivado for hardware prototyping. RISC-V Toolchain: GCC compiler and spike simulator for program generation and debugging.

Links

About

The RV32IM pipeline processor project designs a 32-bit RISC-V processor with 5 stages: IF, ID, EX, MEM, WB. It supports RV32I base and M-extension (MUL/DIV), using forwarding, stalling, and branch prediction to manage hazards. Implemented in Verilog, it is simulated, tested with RISC-V tools, and optimized for performance.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •