neuromod 0.3.0

A high-performance Rust SNN library for neuroscience research and pure spiking neural network library featuring LIF, Izhikevich, Hebbian, Nagumo, Lapicque and Hodgkin-Huxley dynamics.
Documentation

Neuromod — Pure Neuromorphic Research Library

Crates.io Docs.rs License: GPL-3.0 GitHub

v0.3.0 — Neuroscience Foundation

A lightweight, zero-unsafe Rust crate for neuromorphic computing, focused on Med-Tech research and hardware-aware AI. neuromod provides a biologically grounded Spiking Neural Network (SNN) engine designed for rigorous scientific experimentation, embedded deployment on reconfigurable hardware, and future Brain-Computer Interface (BCI) research.

Optimised for high-performance execution on Fedora 43 (Ship of Theseus) workstations and bare-metal FPGA targets.


Vision

The lion does not compromise fidelity for convenience.

neuromod is built on a philosophy of sovereign, high-fidelity engineering — every neuron model, every plasticity rule, and every hardware export honours the precision demanded by both neuroscience and systems engineering. There are no shortcuts: the mathematics are correct, the memory footprint is minimal, and the abstractions are thin enough to run on bare metal.

This library is intended as a research-grade foundation for the EE and biomedical engineering community — from cortical dynamics simulation to closed-loop neuroprosthetic control.


Features

  • Five canonical neuron models: Lapicque (1907), LIF, Hodgkin-Huxley (1952), FitzHugh-Nagumo (1961), Izhikevich (2003)
  • Reward-Modulated STDP (R-STDP) learning
  • Classical Hebbian STDP (unmodulated, honouring Hebb 1949)
  • Full neuromodulator system (dopamine, cortisol, acetylcholine, tempo)
  • Sub-1 µs modulator updates
  • ~1.6 KB memory footprint for the full 16-channel network
  • no_std + Q8.8 fixed-point .mem export for FPGA synthesis
  • jlrs zero-copy interop for Julia-based offline training pipelines

Core Components

16-Channel SNN Bank

The engine operates a 16-channel spiking neuron bank structured around a coincidence detector and a global inhibitory interneuron. Each channel is independently configurable with any supported neuron model, enabling heterogeneous network topologies for multi-modal sensory encoding, population coding, and closed-loop feedback experiments.

use neuromod::{SpikingNetwork, NeuroModulators};

let mut network = SpikingNetwork::new();
let stimuli = [0.5f32; 16]; // 16-channel sensory input
let modulators = NeuroModulators::default();
let spikes = network.step(&stimuli, &modulators);

Integrated Neuron Models

Model Module Variables Biological Realism Primary Use Case
Lapicque — Classic LIF lapicque 1 Foundational Large-scale SNNs, FPGA baseline
LIF — Leaky Integrate-and-Fire lif 1 Low–Medium Hardware-friendly, low-power embedded
Izhikevich — Biological Firing Patterns izhikevich 2 Medium–High Cortical pattern matching, burst detection
FitzHugh-Nagumo — Non-linear Oscillators fitzhugh_nagumo 2 Medium Phase-plane analysis, oscillatory circuits
Hodgkin-Huxley — Conductance-Based Dynamics hodgkin_huxley 4 High Biophysical simulation, ion-channel studies

Plasticity Rules

Rule Description
Hebbian Baseline STDP Unsupervised Hebbian learning — "neurons that fire together, wire together" (Hebb, 1949)
Reward-Modulated STDP (R-STDP) Dopamine-gated synaptic update; links spike timing to behavioural outcome

Legends of Neuromorphic Computing

This crate explicitly honours the foundational scientists whose work spans over a century of neuroscience:

Scientist Year Module Contribution
Louis Lapicque 1907 lapicque Original Integrate-and-Fire model
Donald O. Hebb 1949 hebbian "Neurons that fire together wire together"
Alan Hodgkin & Andrew Huxley 1952 hodgkin_huxley Biophysical gold standard with explicit ion channels
Richard FitzHugh & Jin-ichi Nagumo 1961/62 fitzhugh_nagumo Classic 2D relaxation oscillator
Eugene Izhikevich 2003 izhikevich Programmable spiking neuron; reproduces 20+ cortical firing patterns

Neuron Model Reference

Hodgkin-Huxley (1952) — Conductance-Based Dynamics

use neuromod::HodgkinHuxleyNeuron;

let mut hh = HodgkinHuxleyNeuron::new();               // squid giant axon (6.3 °C)
let mut cortical = HodgkinHuxleyNeuron::new_cortical(); // mammalian cortex (37 °C)
let fired = hh.step(10.0, 0.05);  // 10 µA/cm², dt = 50 µs

Izhikevich (2003) — Biological Firing Patterns

use neuromod::IzhikevichNeuron;

let mut rs = IzhikevichNeuron::regular_spiking();     // RS cortical excitatory
let mut ib = IzhikevichNeuron::intrinsically_bursting();
let fired = rs.step(10.0, 0.25);

FitzHugh-Nagumo (1961) — Non-linear Oscillators

use neuromod::FitzHughNagumoNeuron;

let mut excitable  = FitzHughNagumoNeuron::new();             // driven excitable regime
let mut oscillator = FitzHughNagumoNeuron::new_oscillatory(); // spontaneous limit cycle
let fired = excitable.step(0.7, 0.5);

Reward-Modulated STDP (R-STDP)

use neuromod::{apply_rstdp, StdpParams};

let params = StdpParams::default();
// dopamine_signal gates the Hebbian update
let new_w = apply_rstdp(pre_spike_time, post_spike_time, current_weight, dopamine_signal, &params);

Classical Hebbian STDP

use neuromod::{apply_classical_stdp, StdpParams};

let params = StdpParams::default();
let new_w = apply_classical_stdp(pre_spike_time, post_spike_time, current_weight, &params);

Neuromodulator System

Modulator Role
Dopamine Reward signal; gates R-STDP weight updates
Cortisol Stress-driven inhibition; scales firing thresholds
Acetylcholine Attentional gain; improves signal-to-noise ratio
Tempo Global clock scaling for variable time-step integration

Performance

Metric Value
Step latency < 1 µs per network step
Memory footprint ~1.6 KB (full 16-channel network)
Throughput > 1 M steps/sec on a single core
FPGA export Q8.8 fixed-point .mem (Xilinx-compatible)
Build target Fedora 43 (Ship of Theseus) · x86_64 & armv7 cross-compilation

Comparison to Other Neuromorphic Crates

Crate Focus Neuromodulators Hardware / FPGA Biological Models Plasticity
neuromod Pure neuromorphic research Dopamine, Cortisol, ACh, Tempo Q8.8 .mem export, no_std, Artix-7 ready 5 canonical models Hebbian + R-STDP
spiking_neural_networks General biophysical simulation Basic reward only None High-fidelity Limited
omega-snn Cognitive SNN architecture Dopamine + NE + Serotonin + ACh None Population coding Sparse
neuburn GPU training (Burn framework) None GPU training only Spiking LSTM Surrogate gradients

Roadmap

v0.4.0 — Hardware Integration

  • Intel Lava Framework integration — Python/Rust bridge for execution on Intel Loihi 2 neuromorphic chips via the Lava runtime
  • Bare-metal deployment for Digilent Artix-7 FPGAs — synthesis-ready HDL generation from Q8.8 .mem exports; verified on the Digilent Nexys A7-100T board

v0.5.0 — Neural Bridge & BCI Research

  • Neural Bridge — a low-latency, closed-loop interface layer for Brain-Computer Interface (BCI) research; targets real-time bidirectional communication between decoded neural spike trains and SNN actuator networks
  • Spike sorting pre-processing pipeline for Utah Array / Neuropixels data ingestion
  • Hardware-in-the-loop (HIL) validation against recorded cortical datasets

Beyond

  • PyO3 Python bindings for notebook-driven experimentation
  • WASM target for browser-based neural simulation demos
  • Integration with the SpiNNaker 2 platform

Links


neuromod — sovereign, high-fidelity neuromorphic engineering. Built to last.