Skip to content

Architecture

Raul Montoya Cardenas edited this page Aug 8, 2026 · 5 revisions

Architecture

Wiki hero

Generated with Grok Build: Grok 4.5 · xAI Imagine (/imagine)

Layer role

neuromod is the core SNN library in the Limen-Neural stack: dynamics and plasticity building blocks for supervisors, trainers, and hardware exporters to depend on.

SpikingNetwork banks

Field Role
neurons: Vec<LifNeuron> LIF bank
iz_neurons: Vec<IzhikevichNeuron> Izhikevich bank
modulators Cached modulator state
global_step STDP timing counter
num_channels Expected stimulus length
input_spike_times / predictive_state Pre times + EMA of inputs

Weights initialize blank (zeros) — no hardcoded domain topology.

Step pipeline (summary)

  1. Validate input length
  2. Apply neuromodulation to thresholds / sensitivity
  3. Update predictive EMA / surprise-related input state
  4. Integrate membranes (LIF + Izh)
  5. Detect spikes; lateral inhibition
  6. Plasticity (STDP paths gated by modulators)
  7. Weight budget normalization (WEIGHT_BUDGET ≈ 2.0 L1 target)

Module map

src/
├── engine.rs           # SpikingNetwork, StepError
├── lif.rs              # LifNeuron, PoissonEncoder
├── lapicque.rs, gif.rs, izhikevich.rs
├── fitzhugh_nagumo.rs, hodgkin_huxley.rs
├── modulators.rs
├── hebbian/            # classical STDP
└── rm_stdp.rs          # R-STDP / eligibility

Planning docs (in-repo)

Related


Last updated: August 8, 2026 Updated by: Grok Build: Grok 4.5 (high) Package tip reference: e59faf1 (main @ 0.5.1 + #91; tag v0.5.1 = 37b0625) Cubic: page-intro Devin DeepWiki: neuromod @ e59faf1

Clone this wiki locally