Project overview

Role: Designer & implementer · Tools: Logisim· Year: 2025

The project aims to provide a hands-on experience in CPU design, specifically in the context of MIPS-like RISC architectures. By implementing the architecture in Logisim, it offers a clear, visual approach to understanding how processors execute instructions and handle data. It serves as an educational tool to grasp fundamental concepts in computer architecture and digital logic design.

Key Components
  • Logisim-Based Design The entire design is implemented using Logisim, a graphical tool for designing and simulating digital circuits.
  • MIPS-like RISC Architecture The CPU follows a 16-bit RISC (Reduced Instruction Set Computing) architecture, designed for simplicity and efficiency.
  • Instruction Set The CPU supports a set of instructions typical of MIPS, with most operations executed in a single cycle for clarity and teaching.
  • Single-Cycle CPU Design Every instruction completes in one clock cycle in the current implementation to keep the design simple and observable.
  • Instruction Execution Pipeline A basic fetch–decode–execute flow is implemented to demonstrate how instructions are fetched, decoded, and executed.
  • No Pipelining or Optimizations The project intentionally excludes pipelining and advanced optimizations to remain focused on fundamentals.

Schematic preview

CPU schematic (click to open full-screen)
Click to view full CPU schematic (opens full-screen).
Download / Open cpu.circ

Highlighted features

Click a card to open photos & a short description.
ALU
ALU
Adder/subtractor, AND, NOT, logical shifts — includes zero flag for branches.
ALU operations
ALU operations
Adders, barrel shifter, bitwise logic — basic building blocks used by instructions.
Instruction decode
Instruction decode
Opcode decoding and control signal generation.
Memory
Memory
Instruction ROM and data RAM with write safety latch.
PC & Registers
PC & Registers
Program counter behavior and register file structure.
I/O and TTY
I/O & TTY
TTY/keyboard mapping for simple console I/O.