@@ -70,26 +70,69 @@ tiered by flash path, best first.
7070| WCH CH32V003 dev board | RV32EC @48 MHz | —— | $0.10 CPU; minichlink/wchisp; the "TEI on ten cents" stunt |
7171| Sipeed Longan Nano | GD32VF103 (RV32IMAC) | DMA | dfu-util; cheap RISC-V |
7272
73- ## Tier C — FPGA via open toolchain (openFPGALoader + Yosys/nextpnr)
73+ ## Tier C — FPGA boards, the full sub-$500 field
7474
7575The FPGA targets are special: the forge doesn't just flash firmware, it
7676ships ** soft substrates** — LiteX/VexRiscv or NEORV32 SoCs with TEI event
7777counters synthesized into the fabric (a ledger the hardware itself
7878maintains). This is the rehearsal for purpose-built TEI silicon.
79-
80- | Board | FPGA | Open flow | Notes |
81- | ---| ---| ---| ---|
82- | ** iCEBreaker** | iCE40UP5K | icestorm (100% open) | the open-FPGA teaching board |
83- | iCEstick / UPduino / Alchitry Cu | iCE40 | icestorm | $20-50 |
84- | ** ULX3S** | ECP5-85F | prjtrellis | the open-flow flagship; RISC-V SoC capable |
85- | ** OrangeCrab** | ECP5-25F | prjtrellis, ** DFU** | ** ECP5 in Feather form factor** — FPGA-to-Feather literally |
86- | Colorlight i5/i9 | ECP5 | prjtrellis | $15-30 repurposed LED controllers |
87- | Butterstick | ECP5-85F | prjtrellis | |
88- | ** Tang Nano 9K / 20K** | Gowin GW1NR/GW2A | ** Apicula 0.32** (PLL/BRAM/DSP/DDR-IO; openFPGALoader from git) | $15-30; huge hobby momentum |
89- | Fomu | iCE40UP5K | icestorm | dormant/stock-uncertain; historical |
90- | Arty A7 / S7, Basys3, Cmod A7 | Xilinx 7-series | openXC7 (works for LiteX SoCs but NO static timing analysis) or Vivado (scriptable); openFPGALoader flashes | gateway to the university market |
91- | PYNQ-Z2 / Zybo (bare-metal PS) | Zynq-7000 | Vivado; bare-metal A9 + fabric | no-Linux Zynq is viable |
92- | DE10-Nano | Cyclone V | Quartus (scriptable) | MiSTer community = flashing culture exists |
79+ Prices are early-2026 street; verify before E-phase pinning.
80+
81+ ** Web-flash path legend** : DFU = browser-flashable today via webdfu (W1);
82+ bridge = teiProbe SPI/JTAG (W3); vendor = vendor cable/tool only (forge
83+ emits the bitstream; flashing needs the bridge or a CLI fallback).
84+
85+ ### C1 — fully open toolchain (Yosys + nextpnr; the forge owns the whole flow)
86+
87+ | Board | FPGA | ~ $ | Flow | Web flash | Notes |
88+ | ---| ---| ---| ---| ---| ---|
89+ | ** iCEBreaker** (+ bitsy) | iCE40UP5K | 75 | icestorm | bridge | the open-FPGA teaching board |
90+ | iCEstick | iCE40HX1K | 40 | icestorm | bridge | tiny classic |
91+ | ** UPduino v3.1** | iCE40UP5K | 30 | icestorm | bridge | cheapest UP5K |
92+ | TinyFPGA BX | iCE40LP8K | 38 | icestorm | own USB bootloader | stock intermittent |
93+ | Go Board (Nandland) | iCE40HX1K | 65 | icestorm | bridge | tutorial-rich |
94+ | Alchitry Cu | iCE40HX8K | 50 | icestorm | bridge | stackable Io/Br shields |
95+ | Olimex iCE40HX8K-EVB | iCE40HX8K | 50 | icestorm | bridge | EU supply |
96+ | Fomu | iCE40UP5K | 35 | icestorm | ** DFU** | dormant/stock-uncertain; historical |
97+ | ** ULX3S** (12F–85F) | ECP5 | 115–250 | prjtrellis | ** DFU-class (fujprog/esp32 OTA)** | the open-flow flagship |
98+ | ** OrangeCrab** (25F/85F) | ECP5 | 99–129 | prjtrellis | ** DFU (foboot)** | ** ECP5 in Feather form factor; the zero-programmer flow** |
99+ | Butterstick | ECP5-85F | 120 | prjtrellis | DFU (foboot-class) | high-IO syzygy |
100+ | ** Colorlight i5 / i9 / i9+** | ECP5-25/45K | 15–50 (+~ 20 ext board) | prjtrellis | bridge | recycled LED controllers — the cheapest real ECP5s |
101+ | icesugar-pro | ECP5-25F | 60 | prjtrellis | drag-drop (iCELink MSC!) | SD-card-sized |
102+ | LogicBone | ECP5-45F | 130 | prjtrellis | DFU | BeagleBone form factor |
103+ | Lattice ECP5-EVN | ECP5-85F | 115 | prjtrellis | bridge | official eval, cheap for 85F |
104+ | ** Tang Nano 9K / 20K** | Gowin GW1NR-9 / GW2A-18 | 15 / 30 | ** Apicula 0.32** (PLL/BRAM/DSP OK) | bridge (BL702 USB-JTAG; openFPGALoader from git) | huge hobby momentum |
105+ | Tang Nano 1K / 4K | GW1NZ/GW1NSR | 10–15 | Apicula (partial) | bridge | impulse-buy tier |
106+ | Tang Primer 20K / 25K | GW2A / GW5A-25 | 30–45 | Apicula (20K yes; 25K/GW5A maturing) | bridge | SODIMM SOM + dock |
107+ | Tang Mega 60K / 138K | GW5AT | 60–250 | vendor (GW5A Apicula WIP) | bridge | PCIe-class hobby boards |
108+ | OLIMEX/CCGM GateMate eval | Cologne Chip CCGM1A1 | 50–110 | ** Yosys synth + free vendor P&R** | bridge | the European open-ish fabric; EU sovereignty angle |
109+ | CrossLink-NX EVN | Lattice Nexus | 130 | prjoxide (maturing) | bridge | Nexus open flow |
110+
111+ ### C2 — free vendor toolchain (forge scripts it; bitstream still reproducible)
112+
113+ | Board | FPGA | ~ $ | Tool | Web flash | Notes |
114+ | ---| ---| ---| ---| ---| ---|
115+ | ** Arty A7-35/100** | Artix-7 | 130–300 | Vivado free (or openXC7, no STA) | bridge | the university standard |
116+ | Arty S7 / Cmod A7 / Cmod S7 | Spartan/Artix-7 | 80–150 | Vivado free | bridge | breadboard-able 7-series |
117+ | Basys3 | Artix-7 35T | 160 | Vivado free | bridge | intro-course classic |
118+ | Nexys A7-100T | Artix-7 100T | 350 | Vivado free | bridge | bigger classrooms |
119+ | ** EBAZ4205** | Zynq-7010 | 20–35 | Vivado free | bridge | recycled miner control board — the $25 Zynq |
120+ | QMTech boards (Artix/Kintex/Zynq/Cyclone) | XC7A35T…** XC7K325T** | 30–120 | Vivado free (K325T needs openXC7 or license workarounds) | bridge | AliExpress value kings; Kintex-325T under $120 |
121+ | Alchitry Au / Au+ | Artix-7 35T/100T | 100–300 | Vivado free | bridge | maker-friendly Xilinx |
122+ | Numato Mimas A7 | Artix-7 50T | 80 | Vivado free | bridge | |
123+ | PYNQ-Z2 / Zybo Z7-10/20 / Cora Z7 | Zynq-7000 | 110–300 | Vivado free | bridge | bare-metal A9 + fabric (no-Linux Zynq is viable) |
124+ | Arty Z7-20 | Zynq-7020 | 240 | Vivado free | bridge | |
125+ | ** Kria KV260** | Zynq UltraScale+ K26 | 250 | Vivado/Vitis free for K26 | bridge | astonishing $/fabric; bare-metal A53/R5F possible |
126+ | ZUBoard 1CG | Zynq US+ 1CG | 160 | Vivado free | bridge | cheapest UltraScale+ |
127+ | DE10-Nano | Cyclone V SoC | 225 | Quartus Lite | bridge | MiSTer community = flashing culture |
128+ | DE10-Lite | MAX10 | 85–140 | Quartus Lite | bridge | academic staple |
129+ | DE0-Nano | Cyclone IV | 100 | Quartus Lite | bridge | legacy but everywhere |
130+ | Cyclone 10 LP eval | C10LP | 90 | Quartus Lite | bridge | |
131+ | ** Efinix Xyloni** | Trion T8 | 35 | Efinity (free license) | bridge | the $35 alt-architecture |
132+ | Efinix Ti60 F225 dev | Titanium Ti60 | 150 | Efinity | bridge | efficiency-class fabric |
133+ | ** PolarFire SoC Discovery** | MPFS095T | 132 | Libero (free Silver) | bridge | ** hard RISC-V cores + fabric** — a TEI-shaped SoC |
134+ | PolarFire SoC Icicle | MPFS250T | 499 | Libero free | bridge | just inside the cap; the serious RISC-V+FPGA board |
135+ | Renesas ForgeFPGA eval | SLG47910 | 50 | Go Configure (free) | bridge | sub-$1 FPGA class |
93136
94137Soft-core menu: ** NEORV32** (the standout — weekly releases, June 2026 HPM
95138rework gives 13 hardware performance counters via standard CSRs; CI setups
@@ -101,6 +144,13 @@ picorv32 (caretaker mode). Apicula 0.32 (2026-04) fully supports Tang
101144Nano 9K/20K incl. PLL/BRAM/DSP. The zero-hardware-programmer flow:
102145** LiteX+VexRiscv on OrangeCrab via its foboot DFU bootloader.**
103146
147+ FPGA priority within the web-only doctrine: ** OrangeCrab and ULX3S first**
148+ (DFU = direct W1 browser flash of bitstreams), ** Tang Nano 9K/20K and
149+ Colorlight** as the price-floor mass tier (W3 bridge), ** iCEBreaker** for
150+ teaching, ** EBAZ4205/KV260** as the value outliers, ** PolarFire Discovery**
151+ for the hard-RISC-V story. Every C1 board's bitstream is fully
152+ reproducible by the forge with zero vendor licenses.
153+
104154## Tier D — Pi-class, bare metal (no Linux, SD-image artifact)
105155
106156The GPU-boot trick makes every Raspberry Pi a "drag an image, boot our
0 commit comments