Skip to content

Modular bit-level CPU designs in Verilog, featuring both non-pipelined and pipelined (5-stage) architectures with hazard resolution and thorough testbench verification.

Notifications You must be signed in to change notification settings

rubywtl/PipelinedCPU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PipelinedCPU

This project implements a bit-level CPU in Verilog, including both non-pipelined and 5-stage pipelined designs. The architecture is modular and structured into the following components:

🧩 Components

  • Register File
    Handles general-purpose register reads and writes at the bit level.

  • ALU
    Performs bit-level arithmetic and logic operations:

    • Addition
    • Subtraction
    • AND, OR, XOR
  • CPU Architectures

    • 🟢 Non-Pipelined CPU
    • 🚀 5-Stage Pipelined CPU with:
      • Instruction fetch (IF), decode (ID), execute (EX), memory (MEM), and write-back (WB) stages
      • Hazard detection
      • Data forwarding
      • Stall control

✅ Testing

All modules are verified with:

  • Unit tests for individual modules
  • Integration tests for full system validation

▶️ Simulation Instructions (ModelSim)

  1. Edit runlab.do
    Update the script to include the highest-level module you want to simulate

  2. Open ModelSim
    Launch the ModelSim GUI in your project directory.

  3. Run the simulation script
    In the ModelSim console, run:

    do runlab.do

About

Modular bit-level CPU designs in Verilog, featuring both non-pipelined and pipelined (5-stage) architectures with hazard resolution and thorough testbench verification.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published