What Can It Run?
16
Instructions
8
Registers
9
Control Signals
Harvard
Architecture
Demo programs running on the CPU: iterative Fibonacci (left) and prime number sieve (right).
Both use the CPU's stack, I/O, and arithmetic instructions.
Project Overview
- Goal: design and implement a fully functional single-cycle 16-bit RISC CPU in Logisim
- Implemented the Duke 250/16 ISA (inspired by MIPS ISA): 16 instructions across R, I, and J formats
- Wired a full datapath with combinational control logic
- Built from primitive components (logic gates, multiplexers, D flip-flops)
- Harvard architecture: separate 16-bit ROM (instruction memory) and RAM (data memory), word-addressed
- Automated test suite: 9 / 9 test programs passed, including recursion, I/O, shifts, memory, and branch/jump instructions
CPU Architecture
The CPU follows a classic single-cycle RISC datapath: each instruction completes within one clock cycle, with all datapath decisions made combinationally from the opcode. The design uses a Harvard architecture (instruction and data memory are separate) which maps naturally to Logisim's ROM (instruction fetch) and RAM (load/store) components.
PC Logic
Instruction Decode
Register File
ALU
Data Memory
Keyboard + TTY
Digital Logic Design
RISC Processor Architecture
ALU & Datapath Design
Control Unit Implementation
Assembly Programming
Harvard Architecture