Axon: The STICK Software Development Kit

The brain, a truly efficient computation machine, encodes and processes information using discrete spikes. Inspired by this, we’ve built Axon, a neuromorphic software framework for building, simulating, and compiling spiking neural networks (SNNs) for general-purpose computation. Axon allows to build complex computation by combining modular computation kernels, avoiding the challenge of having to train case-specific SNN while maintaining the sparsity of spike computing.

Axon is an extension of STICK (Spike Time Interval Computational Kernel).

Axon Architecture

Axon provides an end-to-end pipeline for deploying interval-coded SNNs to ultra-low-power neuromorphic hardware. At Neucom we’re building one of such chips and we’re calling it ADA. ADA It is built for embedded deployment, yet flexible enough for rapid prototyping and quick iteration cycle.

The Axon SDK includes:

  • A Python-based simulator for cycle-accurate emulation of interval-coded symbolic computation.
  • A hardware-aware compiler that translates Python-defined algorithms into spiking circuits, ready for simulation or deployment.
  • Tools for resource reporting, cycle estimation, and performance profiling of the deployed algorithms.

If you’re building symbolic SNNs for embedded inference, control, or cryptographic tasks, Axon makes it easy to translate deterministic computations into spiking neural networks.


Axon SDK structure

ComponentDescription
axon_sdk.primitivesBase clases defining the low level components and engine used by the spiking networks
axon_sdk.networksLibrary of modular spiking computation kernels
axon_sdk.simulatorSpiking network simulator to input spikes, simulate dynamics and read outputs
axon_sdk.compilationCompiler for transforming high-level algorithms into spiking networks

Example: Multiplication spiking-network

from axon_sdk.simulator import Simulator
from axon_sdk.networks import MultiplierNetwork

encoder = DataEncoder(Tmin=10.0, Tcod=100.0)
net = MultiplierNetwork(encoder)

val1 = 0.1
val2 = 0.5

sim = Simulator(net, encoder, dt=0.01)

# Apply both input values
sim.apply_input_value(val1, neuron=net.input1, t0=10)
sim.apply_input_value(val2, neuron=net.input2, t0=10)

# Simulate long enough to see output
sim.simulate(simulation_time=400)

spikes = sim.spike_log.get(net.output.uid, [])
interval = spikes[1] - spikes[0]
decoded_val = encoder.decode_interval(interval)
decoded_val
>> 0.05

Citation

If you use Axon in your research, please cite:

@misc{axon2025,
  title        = {Axon: A Software Development Kit for Symbolic Spiking Networks},
  author       = {Neucom},
  howpublished = {\url{https://github.com/neucom/axon}},
  year         = {2025}
}

License

Axon SDK is open-sourced under a GPLv3 license, preventing its inclusion in closed-source projects.

Reach out to initiate a collaboration if you need to use Axon SDK in your closed-source project.

Neucom Logo

”tomkaX”