← All projects

Other · 2025

16-bit Microprocessor

A 16-bit processor designed using Neemann Digital.

Timeline 3 months
Role Solo Developer
Stack Neemann Digital
Status Complete

Problem

While taking a digital designs class I became interested in designing my very own processor. Ultimately I decided on a 16-bit architecture.

Approach

I chose to design the processor and it's subcomponents in Neemann Digital as it's the digital design program I'm most familiar with. The design consists of a few main hierarchy levels. I chose to make the processor in "levels" as opposed to one giant circuit as it made debugging far more simple.

Design Hierarchy:

  • Microprocessor
    • Brainless Processor
      • Arithmetic Logic Unit
        • not-neg
        • and-add
      • Accumulator Register
      • Program RAM
    • Instruction Controller
      • Instruction Register
      • Step Register
      • Microcode ROM
    • Address Generator
      • Program Counter
      • Memory Address Generator

Results

The processor works and basic programs can be performed. An instruction set can be found on the GitHub Repository, but it is fairly limited. Originally I intended to increase useability by adding registers and making a better ISA, but I think the project has lived its purpose. I learned a lot about how processors work and deigital design in general. The intention of this project was never to make a fully functional processor, only a proof of concept.