5-stage pipelined MIPS-32 processor in Verilog, supporting the core RISC instruction subset with forwarding and stall-based hazard resolution.
| Stage | Function |
|---|---|
| IF | Instruction fetch |
| ID | Decode, register read, control |
| EX | ALU, branch resolution |
| MEM | Data memory access |
| WB | Register write-back |
- Data hazards (RAW): forwarding from EX/MEM and MEM/WB into EX
- Load-use hazard: one-cycle stall via the hazard detection unit
- Control hazards: branch resolved in EX, pipeline flush on taken branch
Cycle-accurate RTL simulation running a factorial program written in MIPS-32 assembly. Final register state and intermediate trace compared against expected values. Python scripts automate simulation and result checking.
Microprocessor/— Verilog RTL sourceTesting_MIPS/— Testbench and Python automation