Home > Projects > Synergistic FPGA – PS3 SPU Core

Synergistic FPGA – PS3 SPU Core

Jun 2026 – present · Runs compiled PS3 SPU programs on a Zynq-7020 at 100 MHz

A from-scratch implementation of the PlayStation 3's Cell SPU in SystemVerilog: an in-order, dual-issue, 128-bit SIMD core with 16 execution units, a 256 KB local store and an AXI4 DMA engine, running real compiled SPU programs on a PYNQ-Z2 board.

Tools: SystemVerilog · Vivado · Verilator · cocotb · C++ · AXI4 · Zynq-7020

More info

What it is

The Cell Broadband Engine in the PlayStation 3 has eight Synergistic Processing Units (SPUs): small, very wide SIMD cores with their own 256 KB local memory and no cache. This project implements one of them in RTL and runs it on an AMD Zynq-7020 FPGA.

Architecture

Results

Why

I had already translated the SPU instruction set in software for ps3recomp. Building the core in hardware was the natural next step and a good way to learn what the instruction set actually costs in silicon.

The repository is not public yet. Ask me and I will walk you through the code.


« Back to all projects