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.