Benchmark Comparison¶
Measured performance of SC-NeuroCore against competing frameworks.
All benchmarks are reproducible — see benchmarks/ in the repository.

Brunel Balanced Network (vs Brian2)¶
Standard 800E/200I Izhikevich network with random connectivity and Poisson drive (Brunel 2000).
| Network size | SC-NeuroCore (Numba JIT) | Brian2 (C++ codegen) | Speedup |
|---|---|---|---|
| 1 000 neurons | 0.35 s | 1.38 s | 4.0x faster |
| 10 000 neurons | 5.9 s | 4.4 s | 1.35x slower |
Firing rates match within 1% (100 Hz). SC-NeuroCore targets FPGA-scale networks (≤5K neurons) where bit-exact RTL co-simulation matters.
SNN Training (MNIST)¶
| Architecture | Method | Accuracy |
|---|---|---|
| FC 784→128→128→10 | Surrogate gradient (10 epochs) | 95.5% |
| FC 784→128→128→10 | + learnable τ (Fang 2021) | 97.7% |
| Conv→LIF→Pool→Conv→LIF→Pool→FC | Learnable β + threshold | 99.49% |
snnTorch achieves 95.8% on the same FC architecture (same setup,
10 epochs). The value of SC-NeuroCore is not training performance — it's
the to_sc_weights() export path to synthesisable FPGA hardware.
Rust SIMD Engine¶
Criterion benchmarks on Intel i7-10700K:
| Operation | AVX-512 | AVX2 | Scalar |
|---|---|---|---|
| Bitstream packing | 41.3 Gbit/s | ~20 Gbit/s | ~3 Gbit/s |
| LIF neuron stepping | 224 Mstep/s | ~120 Mstep/s | ~40 Mstep/s |
| HDC query (100 patterns) | 1.1 ms | ~2 ms | ~8 ms |
Runtime SIMD detection selects the fastest available path. ARM NEON supported for Apple Silicon and Raspberry Pi.
FPGA Synthesis (Yosys)¶
| Configuration | LUTs (Xilinx 7-series) | Fmax (est.) |
|---|---|---|
| sc_neurocore_top (default) | 3 673 | ~100 MHz |
| MNIST 16→10 (estimated) | ~56 000 | ~80 MHz |
| Target: Artix-7 100T | 63 400 available | — |
Fault Tolerance¶
SC bitstreams degrade gracefully under random bit errors:
| Error rate | Accuracy loss (balanced p=0.5) |
|---|---|
| 1% | < 1% |
| 5% | < 1% |
| 10% | ~1% |
| 20% | ~2% |
This is a property of stochastic encoding (Alaghi & Hayes 2013), not SC-NeuroCore-specific.
Neuron Model Coverage¶
| Category | SC-NeuroCore | snnTorch | Norse | Brian2 | Lava |
|---|---|---|---|---|---|
| Python models | 122 | 11 | 6 | Custom eq. | 3 |
| Rust/compiled models | 111 | — | — | C++ codegen | — |
| Hardware emulators | 9 | — | — | — | Loihi only |
| Formal verification | 67 properties | — | — | — | — |
| Train-to-FPGA export | Yes | No | No | No | No |