calix.hagen.neuron_synin.SynTimeConstantCalib
-
class
calix.hagen.neuron_synin.
SynTimeConstantCalib
(target: quantities.quantity.Quantity = array(1.2) * us, neuron_configs: Optional[List[pyhaldls_vx_v3.NeuronConfig]] = None) Bases:
calix.common.madc_base.Calib
Calibrate synaptic input time constant using the MADC.
The sypantic input time constant is fitted to an MADC trace: after we send some stimuli to decrease the voltage on the synaptic input line, we fit to the exponential decay back to the baseline voltage.
During prelude, the MADC is enabled and the current readout section config is saved. During calibration, the readout config is changed continuously to calibrate one neuron’s synaptic input time constant after another.
Synaptic inputs need to be disabled during calibration, thus the synaptic input bias currents are written to zero in the prelude. Their state is not saved and restored as this calibration will normally run before they are calibrated, anyway.
Requirements: * Synaptic events can reach the neurons, i.e. the synapse DAC bias
is set and the `hal.ColumnCurrentSwitch`es allow currents from the synapses through.
- Variables
neuron_config_default – List of desired neuron configurations. Necessary to enable high resistance mode.
-
__init__
(target: quantities.quantity.Quantity = array(1.2) * us, neuron_configs: Optional[List[pyhaldls_vx_v3.NeuronConfig]] = None) - Parameters
neuron_configs – List of neuron configurations. If None, the hagen-mode default neuron config is used.
target – Target synaptic input time constant.
Methods
__init__
([target, neuron_configs])- param neuron_configs
List of neuron configurations. If None, the
configure_parameters
(builder, parameters)Configures the given array of synaptic input resistor 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.
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 synaptic input resistor 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.
To each neuron’s MADC samples, an exponential decay is fitted, and the resulting time constant is returned.
- Parameters
samples – MADC samples obtained for each neuron.
- Returns
Numpy array of fitted synaptic input time constants in microseconds.
-
neuron_config_disabled
(neuron_coord) → pyhaldls_vx_v3.NeuronConfig Return a neuron config with readout disabled.
The synaptic input is also disabled, since the neurons’ readout multiplexer may leak if the membrane voltage rises above 1.2 V, impacting the syn. input measurement. Hence, the transmission gates between the OTAs and the membrane are disabled. Note that on Hicann-X v1, this does not suffice to disable the synaptic input, and also the OTA bias currents need to be set to zero, which is done during the prelude.
- 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.
-
prelude
(connection: pyhxcomm_vx.ConnectionHandle) → None Prepares chip for calibration.
Disables synaptic inputs. Configures synapse drivers to stimulate the necessary input.
- 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.