p-ASIC · Probabilistic Processing Unit

An integrated circuit designed for probabilistic computing

The Probabilistic Processing Unit (PPU) is a 16-spin mixed-signal chip that solves combinatorial optimisation problems compiled into QUBO / Ising form by annealing them on an analog synapse array. These pages document the chip's architecture, its physical layout, the pad labels and the GDSII deliverables.

Explore the chip Layout images GDSII deliverables
Full-chip layout of the PPU
ppu65_chip: full-chip layout rendered directly from the GDSII database. 65 nm CMOS, 9 metal layers, 67 bond pads.
16spins (p-bits) · single tile
544synapse cells · 2 planes × 16 × 17
6 bitweight resolution, dual plane (J+ / J−)
2.85 × 2.05 mmdie size (seal ring included)
67bond pads · 4 supply domains
0DRC violations · 1728 rules

Why a probabilistic processor?

Integer factorization, MaxCut or the travelling-salesman problem have rugged energy landscapes: a deterministic (greedy) machine stops in the first valley it meets. In the PPU every spin decision is made by adding physical thermal noise to the local field that the synapse array produces as a Kirchhoff current sum. The noise amplitude is the temperature; the annealing schedule (SCHED) walks from hot to cold and a final quench freezes the answer.

Nothing in the chip is specific to a problem: the problem lives only in two small integer tables (the coupling matrix and the bias vector). The same silicon solves a different problem when the weights change.

Design philosophy: weights are written once, spins are rewritten every 100 ns, the noise value is fresh in every slot, and the noise amplitude steps down with the annealing programme.

Energy landscape and annealing
A rugged energy landscape: noise lets the machine climb out of the wrong valley.

Design flow

Five steps from a problem to silicon; only the fifth one spends time.

1 · Probleman integer such as N = 77, or a graph
2 · Formulationbinary column equations → QUBO
3 · CompilerQ matrix + bias → 6-bit codes, choice of α
4 · Loading544 weights + SCHED table over SPI
5 · Siliconone spin decision every 100 ns, then read-back

Steps 1–4 run on a computer (Python); the chip only ever sees 240 weight codes, 16 bias codes and a temperature schedule.