Two ways to compute beyond the clocked floating-point multiplier: with probability (stochastic computing) and with spikes (neuromorphic / spiking neural networks). This is the go-to place to learn the field from first principles — interactively — and then build and deploy it to hardware with SC-NeuroCore, the open toolkit behind this site.
Conventional computing spends most of its energy moving data between memory and a clocked arithmetic unit — the memory wall. Two long-standing but resurgent ideas sidestep it. Stochastic computing represents a number as the probability that a bit in a random stream is 1, so a multiplier becomes a single AND gate. Neuromorphic computing represents information as sparse spikes in time, so a processor only does work when something happens. Both trade exactness for extreme hardware economy — and both map naturally onto FPGAs. The sections below build each idea from the ground up.
New here? The learning path is the guided route through all of this, in eight levels — or dive straight into a pillar below.
Encode a number $p\in[0,1]$ as a stream of random bits that are 1 with probability $p$. Then arithmetic becomes almost free in hardware: multiplying two independent streams is a single AND gate, and averaging them is a single multiplexer. You pay for it in precision — a longer stream is a more accurate number.
A biological neuron integrates incoming current onto a membrane voltage; when the voltage crosses a threshold it emits a spike and resets. Information lives in when spikes happen, not in dense numbers, so computation is event-driven and sparse. The simplest useful model is the leaky integrate-and-fire (LIF) neuron.
The point of both ideas is hardware. Stochastic and spiking primitives are cheap to build directly in logic: an AND-gate multiplier, an address-event (AER) spike router, an event neuron that only updates when it receives a spike. The workflow trains a network in a normal deep-learning stack, then lowers it — float → fixed-point → bitstream → Verilog → FPGA.
A related idea represents concepts as very high-dimensional random vectors (e.g. 10 000 bits). Two cheap, reversible operations do the work: binding ties a value to a role (bitwise XOR), and bundling superposes items into a set (element-wise majority). Because random high-dimensional vectors are nearly orthogonal, the representation is robust to noise and bit flips — a natural fit for the same event-driven fabric.
Everything above starts by turning ordinary numbers into streams or spikes. Rate coding maps a value to a spike count; temporal coding puts information in precise timing; a stochastic number generator makes a bitstream by comparing the target value to a pseudo-random number each cycle. These few primitives — encode, integrate, spike, weight — compose into whole networks.
A documented path from neuron equations through bit-true co-simulation and generated hardware artefacts to supported FPGA synthesis workflows.
The neuron models on this site are transcribed from primary literature — only our own attributed parameter tables are redistributed, never the copyright-bound PDFs. A few of the sources:
| Model | Source | DOI |
|---|---|---|
| Leaky integrate-and-fire | Lapicque / Stein — the canonical spiking primitive | foundational |
| ChayKeizerNeuron (5-D) | Chay, T.R. & Keizer, J. (1983). Minimal model for membrane oscillations in the pancreatic β-cell. Biophys. J. 42:181–190. | 10.1016/S0006-3495(83)84384-7 |
| Reduced β-cell model | Sherman, A. & Bertram, R. Integrative modeling of the pancreatic β-cell. Wiley Encyclopedia. | 10.1002/047001153X.g308213 |
This hub is a tutorial front door — for accepted benchmark claims see the benchmarks and validation reports.
SC-NeuroCore and Loop Timing Witness are the two registered projects in the neuromorphic group. Further modular directions are planned; they are not yet independent available packages. SNN Studio currently belongs to SC-NeuroCore.
A visual workbench for studying spiking neurons and turning a network design into reproducible simulation and compilation artefacts.
Development preview · local browser IDE
See capabilities, a typical workflow and access · Explore all Studios
Explore spiking neurons and stochastic computation, then inspect the executed quick-start notebook.
Read the installation guide or example · Discuss an integration
Read the notebook in a browser; reproduce it using its linked Python environment and dependencies.
The notebook is a computational demonstration. It does not establish performance of a fabricated neuromorphic device.
Follow this topic by RSS or confirmed email subscription. Keep a personal reading list.