For the Spectrum, this meant Sinclair could take dozens of discrete logic chips—responsible for video timing, memory addressing, keyboard scanning, and sound generation—and compress them into a single, custom slab of silicon.
An FPGA (e.g., Lattice iCE40 UP5K or Sipeed Tang Nano) can replicate the ULA’s parallel logic exactly.
The Sinclair ZX Spectrum remains one of the most iconic microcomputers of the 1980s. While its rubber keys and distinctive rainbow stripe are globally recognized, the true magic of the machine lay hidden inside its casing: the Uncommitted Logic Array (ULA). For the Spectrum, this meant Sinclair could take
When Clive Sinclair and Richard Altwasser designed the ZX Spectrum, their primary constraint was cost. The ULA was the key to the "ZX Design" philosophy.
To build a functional clone or inspired design today, you have three primary paths: 1. Discrete Logic (The "Harlequin" Method) While its rubber keys and distinctive rainbow stripe
┌─────────────────────────────────────────┐ │ 3.7V Li-ion Battery │ │ (2000 mAh) │ └──────────────┬──────────────────────────┘ │ 3.7V ┌─────▼─────┐ │ Boost │ │ 3.7V→5V │ └─────┬─────┘ │ 5V ┌──────────┼──────────────────────────┐ │ ▼ │ │ ┌────────────┐ │ │ │ FPGA │ │ │ │ (iCE40) │◄────┐ │ │ │ ULA + │ │ │ │ │ glue logic │ │ │ │ └─────┬──────┘ │ │ │ │ 3.5 MHz │ │ │ ▼ │ │ │ ┌────────────┐ │ │ │ │ Z80 │ │ Data/Address │ │ │ (CMOS) │────┼──────────────┘ │ └─────┬──────┘ │ │ │ │ │ ┌─────▼──────┐ │ │ │ 64KB SRAM │ │ │ │ (AS6C62256)│ │ │ └────────────┘ │ │ │ │ ┌────────────┐ │ │ │ LCD │ │ │ │ 320×240 │◄───┘ (RGB + sync) │ │ (Parallel) │ │ └────────────┘ │ │ ┌────────────┐ │ │ SD Card │ │ │ (SPI mode) │ │ └────────────┘ └─────────────────────┘
The original Spectrum allocated the memory block from 0x4000 to 0x5AFF for the display file. To build a functional clone or inspired design
The ULA in the ZX Spectrum performed several critical roles simultaneously:
It scanned the rubber membrane keyboard and managed audio input/output for cassette tapes.
The ULA continuously sweeps through a specific