The HXNeuron

BrainScaleS-2 emulates the dynamics of the adaptive exponential integrate-and-fire neuron model. In order to configure neurons on BrainScaleS-2 the custom neuron model HXNeuron is introduced.

Parameters

The HXNeuron allows access to a subset of the lola::vx::v2::AtomicNeuron. Parameters which are related to routing of spike events or the recording of voltages are not exposed as their configuration is handeled by internal logic. All relevant analog as well as digital values of the underlying neuron circuit are exposed and can be configured. As descriped in the doc string of HXNeuron the parameter hierarchy of the lola::vx::v2::AtomicNeuron is flattened. For example accessing the leak conductance in python works as follows:

lola_neuron = lola.AtomicNeuronOnDLS()
lola_neuron.leak.v_leak = 200

neuron = pynn.Population(1, HXNeuron(leak_v_leak=200))

A detailed example of how to configure a HXNeuron is given in the demo “/brainscales2-demos/ts_00-single_neuron.rst”.

Observables

The HXNeuron allows to record spikes as well as different state variables.

Spikes

Spikes can be recorded in parallel for all neurons. The syntax for recording spikes works as follows:

population = pynn.Population(10, pynn.cells.HXNeuron())
population.record('spikes')

State Variables

Two analog-to-digital converters (ADCs) are available on the BrainScaleS-2 neuromorphic chip. The PyNN interface of BrainScaleS-2 allows to record two state variables of two different neurons at the same time. On harware, even neuron circuits are connected to one readout line and odd neurons to another readout line. As a result, one even and one odd neuron can be recorded at the same time (but not two even or two odd neurons). The following state variables are available for recording:

For example the membrane voltage and spikes can be recorded in the standard PyNN way:

population = pynn.Population(1, pynn.cells.HXNeuron())
population.record(['v', 'spikes'])