jaxsnn.event.hardware.neuron.Neuron

class jaxsnn.event.hardware.neuron.Neuron(size: int, params: jaxsnn.base.params.LIFParameters, experiment, placement_constraint: Optional[List[pyhalco_hicann_dls_vx_v3.LogicalNeuronOnDLS], None] = None, enable_madc_recording: bool = False, record_neuron_id: Optional[int, None] = None)

Bases: jaxsnn.event.hardware.module.Module

Neuron layer

Caveat: For execution on hardware, this module can only be used in conjuction with a preceding Synapse module.

__init__(size: int, params: jaxsnn.base.params.LIFParameters, experiment, placement_constraint: Optional[List[pyhalco_hicann_dls_vx_v3.LogicalNeuronOnDLS], None] = None, enable_madc_recording: bool = False, record_neuron_id: Optional[int, None] = None)None

Initialize a Neuron. This module creates a population of spiking neurons of size size.

Parameters
  • size – Size of the population.

  • experiment – Experiment to append layer to.

  • placement_constraint – An optional list of logical neurons defining where to place the module`s neurons on hardware.

  • enable_madc_recording – Enables or disables the recording of the neurons record_neuron_id membrane trace via the MADC. Only a single neuron can be recorded. This membrane traces is samples with a significant higher resolution as with the CADC.

  • record_neuron_id – The in-population neuron index of the neuron to be recorded with the MADC. This has only an effect when enable_madc_recording is enabled.

Methods

__init__(size, params, experiment[, …])

Initialize a Neuron.

add_to_network_graph(builder)

Add the layer’s neurons to grenades network builder.

configure_hw_entity(neuron_id, neuron_block, …)

Configures a neuron in the given layer with its specific properties.

register_hw_entity()

Infere neuron ids on hardware and register them.

Attributes

add_to_network_graph(builder: _pygrenade_vx_network.NetworkBuilder)_pygrenade_vx_network.PopulationOnNetwork

Add the layer’s neurons to grenades network builder. Note, the event output of the neurons are configured in configure_hw_entity.

Parameters

builder – Grenade’s network builder to add the layer’s population to.

Returns

Returns the builder with the population added.

configure_hw_entity(neuron_id: int, neuron_block: pylola_vx_v3.NeuronBlock, coord: pyhalco_hicann_dls_vx_v3.LogicalNeuronOnDLS)pylola_vx_v3.NeuronBlock

Configures a neuron in the given layer with its specific properties. The neurons digital event outputs are enabled according to the given spiking mask.

Parameters
  • neuron_id – In-population neuron index.

  • neuron_block – The neuron block hardware entity.

  • coord – Coordinate of neuron on hardware.

Returns

Configured neuron block.

register_hw_entity()None

Infere neuron ids on hardware and register them.