Note
To read in-depth about this processor's design and implementation, check out my portfolio.
5 stage pipelined processor featuring hazard prevention techniques with details present in my technical description. The design, components, and tests were all made from scratch, and this implementation aimed to optimize performance through pipeline strategies and hazard mitigation compared to my single-cycle processor design.
mips
: MIPS assembly program testssrc
: Source code of the pipelined processortest
: Test benches for individual VHDL components
The software
branch features a software-scheduled design that does not include any hazard mitigation techniques. Thus any data or control hazards must be resolved using software no ops. This design was implemented first before the hardware-scheduled design.
- Instruction Fetch (IF)
- Instruction Decode (ID)
- Execute (EX)
- Memory (MEM)
- Write Back (WB)
- Hazard Detection
- Component that identifies hazards and inserts stalls where necessary
- Data Forwarding
- Component that resolves hazards by forwarding data through the pipeline