Taraṅga

The hardware

A GPU you build
with your hands.

Not a metaphor. The StochastiCore pipeline fits a hobby-class FPGA, drives a real VGA monitor through sixteen resistors, and takes commands from an Arduino. The build guide assumes you have never touched an FPGA. Total parts: $80–150.

What the finished device does
Display
320×240 @ 60 Hz (VGA, pixel-doubled to 640×480)
Color
RGB332 — 256 colors via an R-2R resistor DAC
Compute
4 parallel SC compute units (SIMD)
Precision knob
runtime knob: L = 256 (fast, noisy) → 65,536 (slow, near-exact)
Host interface
any microcontroller over SPI (Arduino, STM32)
FPGA footprint
~2,400 LUTs — ~30% of a $25–55 iCE40 HX8K board
Toolchain
100% open source (Yosys + nextpnr); no proprietary tools, no NDAs
Bill of materialsPriceWhy it's there
FPGA board (Lattice iCE40 HX8K class)$25–55the GPU lives here — using ~30% of it
Host microcontroller (Arduino / STM32)$2–12sends draw commands over SPI
VGA connector + R-2R resistor DAC$2–416 resistors make the color signal
Breadboards, jumpers, level shifter$15–20no soldering required to start
Oscillators, passives, LEDs, cables$10–1525.175 MHz pixel clock and friends
VGA monitor$0–15any 640×480-capable screen, thrift stores count
Total$80150everything, including cables

Build status — stated honestly

Where the physical GPU actually stands.

✓ done

RTL complete & revised

all reviewer fixes applied — S2B scaling, SPI port, synthesizable rasterizer

✓ done

Synthesis verified

one Yosys flow regenerates every cell/LUT count; fits iCE40 HX8K

✓ done

Bit-accurate simulation

rendering, faults, dithering on the verified LFSR model

✓ done

Build guide written

68 pages — BOM, wiring, bring-up, debugging, from zero

● in progress

Physical FPGA bring-up

timing closure and measured power in progress — not claimed until measured

○ next

Dev Kit productization

kitted parts + printed guide; then the ASIC question

physical FPGA validation in progress — timing closure and measured silicon power are NOT yet claimed; every published number is from RTL, synthesis, or simulation, labelled as such

The build, in one breath

From parts bag to glowing monitor.

  1. 01
    Wire the DAC

    Sixteen resistors on a breadboard become a 256-color video DAC — the moment analog electronics stops being abstract.

  2. 02
    Flash the GPU

    Yosys + nextpnr synthesize the open Verilog onto the FPGA. No licenses, no NDAs, no vendor lock.

  3. 03
    Connect the host

    An Arduino speaks SPI: clear screen, load matrix, draw triangle. You wrote a GPU driver without noticing.

  4. 04
    Turn the knob

    One register sweeps L from 256 to 65,536 — watch the same silicon trade speed for precision before your eyes.