One Page CPU Project - CPU, Assembler & Emulator each in a single page of code

This project is maintained by revaldinho

OPC - One Page CPU

Welcome to the OPC series of CPUs, where everything fits on one page!


  1. OPC-1 - a minimal accumulator based OPC to fit a XC9572 CPLD
  2. OPC-2 - a load/store based OPC to fit a XC9572 CPLD
  3. OPC-3 - a direct translation of OPC-1 using 16bit datapath and address bus.
  4. OPC-4 - this spot reserved for a reworking of OPC-3 without any hardware restrictions

  5. OPC-5 - a 16 bit OPC with 16 registers, as a 2 operand machine with 16b data and address busses and minimal instruction set
  6. OPC-5-LS - a load-store version of OPC-5, which gains 6 useful instructions by discarding an addressing mode.
  7. OPC-6 - an extended version of OPC-5 adding more instructions but retaining the overall architecture of OPC-5LS.
  8. OPC-7 - a 32 bit wide, simplified version of OPC-6, with all instructions a single word, and with 20 bit addressing.
  9. OPC-8 - a first attempt to explore a 24 bit wide machine using the familiar OPC6/7 pipeline and general arrangement