calix.common.synapse.DACBiasCalibMADC

class calix.common.synapse.DACBiasCalibMADC

Bases: calix.common.madc_base.Calib

Calibrates synapse DAC bias currents such that the amplitudes received at all neurons match those of the weakest quadrant.

The voltage drop on the synapse lines is measured using the MADC. The synaptic inputs are disabled and the synaptic time constant is set maximum. The initial value of the synaptic time constant and input strength are not restored. The digital configuration of the neuron is restored at the end of the calibration.

Variables

neuron_configs – List of neuron configs that will be used as basis for the neuron_config_disabled and neuron_config_readout functions.

__init__()

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__()

Initialize self.

configure_parameters(builder, parameters)

Configures the given array of synapse DAC bias currents.

evaluate(samples)

Evaluates the obtained MADC samples.

neuron_config_disabled(neuron_coord)

Return a neuron config with readout disabled.

neuron_config_readout(neuron_coord)

Return a neuron config with readout enabled.

postlude(connection)

Restore original readout and neuron configuration.

prelude(connection)

Prepares chip for calibration.

stimulate(builder, neuron_coord, …)

Send some PADI events to the synaptic input in order to drop the potential.

configure_parameters(builder: calix.common.base.WriteRecordingPlaybackProgramBuilder, parameters: numpy.ndarray)calix.common.base.WriteRecordingPlaybackProgramBuilder

Configures the given array of synapse DAC bias currents.

Parameters
  • builder – Builder to append configuration instructions to.

  • parameters – Array of bias currents to set up.

Returns

Builder with configuration appended.

evaluate(samples: List[numpy.ndarray])numpy.ndarray

Evaluates the obtained MADC samples.

Calculates for each trace the peak amplitude (maximum - minimum) and returns the median value of these amplitudes for each quadrant.

Parameters

samples – MADC samples obtained for each neuron.

Returns

Median peak amplitude per quadrant.

neuron_config_disabled(neuron_coord)pyhaldls_vx_v3.NeuronConfig

Return a neuron config with readout disabled.

Returns

Neuron config with readout disabled.

neuron_config_readout(neuron_coord)pyhaldls_vx_v3.NeuronConfig

Return a neuron config with readout enabled.

Returns

Neuron config with readout enabled.

postlude(connection: pyhxcomm_vx.ConnectionHandle)

Restore original readout and neuron configuration.

Parameters

connection – Connection to the chip to calibrate.

prelude(connection: pyhxcomm_vx.ConnectionHandle)

Prepares chip for calibration.

Disables synaptic inputs. Configures synapse drivers to stimulate the necessary input.

Measures the amplitudes of synapses per quadrant once, calculates the median amplitude per quadrant, and sets the ivar target to the minimum of these median amplitudes (which ensures the target can be reached by all quadrants in case some are already configured to the maximum bias current).

Parameters

connection – Connection to the chip to calibrate.

stimulate(builder: calix.common.base.WriteRecordingPlaybackProgramBuilder, neuron_coord: pyhalco_hicann_dls_vx_v3.NeuronConfigOnDLS, stimulation_time: pyhaldls_vx_v3.Timer.Value)calix.common.base.WriteRecordingPlaybackProgramBuilder

Send some PADI events to the synaptic input in order to drop the potential.

Parameters
  • builder – Builder to append PADI events to.

  • neuron_coord – Coordinate of neuron which is currently recorded.

  • stimulation_time – Timer value at beginning of stimulation.

Returns

Builder with PADI events appended.