All projects
Digital design + verification// 2024

FPGA CPU Datapath Design

Custom multicycle MIPS processor on an FPGA with a full verification suite

Designed and implemented a multicycle MIPS CPU datapath on a Xilinx FPGA using Verilog. Developed control logic, ALU operations, and memory interfacing to support a subset of MIPS instructions. Created a comprehensive verification suite with over 50 test cases to ensure functional correctness and performance optimization.

VerilogFPGAMIPSSystemVerilogDigital Design
01

Implemented full datapath supporting 20+ MIPS instructions

02

Developed control unit with state machine for multicycle execution

03

Created extensive testbench with directed and random tests

04

Achieved timing closure at 100MHz clock frequency

The walkthrough

Prove it before you trust it

Simulation waveforms from the verification suite. I built 50+ directed and random test cases to prove the datapath actually executes each instruction correctly before trusting it on hardware.

The multicycle datapath

The MIPS datapath I designed in Verilog — ALU, control logic, and memory interfacing supporting 20+ instructions on a Xilinx FPGA.

Sequencing and timing closure

The multicycle control state machine and clocking. Reaching timing closure at 100 MHz meant the control unit had to sequence each instruction across exactly the right number of cycles.

Want the full story?

Happy to talk through any of the engineering decisions, trade-offs, or what broke along the way.