Skip to content
Solo, EE/CE 4304 Computer ArchitectureJan 2026 – Apr 2026

Custom 24-bit CPU

A processor designed from scratch in Verilog: my own instruction encoding, my own 11-state control unit, no provided skeleton.

Custom 24-bit CPU screenshot

Every student in the class received a personalised specification, so there was no shared solution to converge on and nothing to copy. You get a set of constraints and you go design a computer.

Mine is a 28-bit instruction encoding with a 4-bit opcode over eight instructions and a 12-bit immediate field, running on a multi-cycle datapath driven by an eleven-state finite state machine: fetch, decode, two execute states, memory address, memory read, memory write, three writeback states, and branch.

Memory is Von Neumann, a single 16,384-location address space shared between instructions and data over a 14-bit bus, with programs loaded at 0x2000 and PC-relative branching. Verified through RTL simulation and synthesis running both an arithmetic program and a counted loop.

What it does

  • Designed a custom 28-bit instruction set architecture: 4-bit opcode over 8 instructions (ADD, SUB, ADDI, LW, SW, BEQ, AND, SLT) and a 12-bit immediate field.
  • Implemented the full multi-cycle datapath in Verilog: an 11-state control FSM, ALU with 2-bit control, 16×24 register file, instruction decode, and memory interface.
  • Von Neumann memory organization addressing 16,384 locations over a 14-bit bus, with PC-relative branching from a fixed 0x2000 entry point.
  • Verified through RTL simulation and synthesis, running an arithmetic program and a counted loop to completion.

Built with

  • Verilog
  • RTL simulation
  • Synthesis
  • ISA design
  • Testbenches
All projects