FPGAFly: A 166.7k-Neuron Fruit-Fly Connectome on One FPGA via Deferred Spike Expansion and Shared-Codeword States
Organizations: Department of Electrical Engineering and Information Systems, Graduate School of Engineering, The University of Tokyo, Tokyo, Japan
Abstract
Synapse-resolution fruit-fly (Drosophila) connectomes enable neuron-by-neuron simulation of entire insect nervous systems, yet whole-brain models still require computationally demanding software or multiple neuromorphic chips, and single FPGAs support only small or statistical networks. Scaling to the full connectome, per-synapse spike expansion scales queue traffic with fan-out up to 11.2k, while 41-bit neuron states require 6.83 Mbit, exceeding the 6.27 Mbit on-chip block static RAM (BSRAM) of the target device. FPGAFly runs the 166.7k-neuron, 25.6M-connection leaky integrate-and-fire male central nervous system (CNS) connectome on one FPGA. Order-preserving deferred expansion queues one 64-bit descriptor per spike in source-ID order, cutting external memory traffic by 54.5%-57.9% and peak queue data by 95.6%-96.5% with bit-identical results. A 24-bit encoding shares codewords across normal, refractory, and quantized out-of-range states, reducing BSRAM usage from 438 to 270 with 1245 extra LUTs and zero changes across 10,000 MNIST predictions. At 80 MHz on a Gowin GW5AST-LV138, each 100 ms window finishes in 86.83 ms on average and within 93.05 ms across 2000 tests, realizing the first complete Drosophila CNS connectome simulation on one FPGA.
Figures & tables
| Synthesis | P&R at 80 MHz | Fidelity vs. uncompressed format | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Variant | BSRAMs | LUTs | Registers | Setup WNS (ns) | Accuracy | Changed predictions | Rate MAE (Hz) | Population correlation | Spike match |
| Uncompressed (41-bit) | 438 | 37,953 | 56,328 | exceeds capacity | 86.91% | reference | |||
| Shared 24-bit (proposed) | 270 | 39,198 | 48,272 | +0.020 | 86.91% | 0 | 0.0709–0.231 | 0.9904–0.9995 | 42.17% |
| Shared 24-bit, early expansion | 270 | 39,859 | 48,127 | +0.038 | bit-identical to shared 24-bit on six inputs | ||||
| Independent 29-bit | 326 | 35,236 | 48,805 | 86.92% | 1 | 0.491–1.30 | 0.9868–0.9994 | 42.24% | |
| Independent 24-bit | 270 | 34,688 | 45,736 | route failed | 87.82% | 987 | 9.64–18.5 | –0.4053 | 1.06% |
| Work | Platform | Devices | Network | Neurons | Connections | Time step | Real-time factor |
|---|---|---|---|---|---|---|---|
| Statistical or procedural networks | |||||||
| Rhodes et al. [ 8 ] | SpiNNaker | Multi | Cortical microcircuit | 77k | 0.3B | 0.1 ms | 1.0 |
| Kauth et al. [ 9 ] | Xilinx Virtex-7 XC7VX690T | 35 | Cortical microcircuit | 77k | 0.3B | — | 0.05 |
| R. Wang et al. [ 10 ] | Intel Stratix V 5SGXEA7 | 1 | Cortex (pattern-based) | 20M–2.6B | — | 1 ms | 1.0 |
| Knight and Nowotny [ 11 ] | NVIDIA TITAN RTX | 1 | Macaque cortex (procedural) | 4.13M | 24.2B | — | — |
| Measured connectomes | |||||||
Spiking Neural Networks
Spiking neural networks process information through discrete, time-dependent neural events, aiming for efficient computation and biologically inspired learning.
See all 358 papers