calix.hagen.neuron_synin.SynReferenceCalib
-
class
calix.hagen.neuron_synin.
SynReferenceCalib
(bias_currents: Optional[Union[int, numpy.ndarray]] = None, target: Union[int, numpy.ndarray] = 120) Bases:
calix.common.base.Calib
Calibrate synaptic reference voltage such that no currents are generated from the OTA without input.
Calibrate the neuron’s synaptic input reference voltage such that the membrane potential after enabling the OTA is the same as before. The membrane potential without enabled OTA has to be supplied as a target. This calibration routine sets reference voltages to the corresponding CapMem value to meet this calibration target.
If bias_currents are supplied during initialization, the synaptic input to be calibrated gets turned on using these bias currents.
Requirements: * Neuron membrane readout is connected to the CADCs (causal and acausal). * The desired OTA bias currents are already set up and the synaptic
input is enabled. Alternatively, the desired configuration can be supplied as bias_currents.
- Variables
bias_currents – Synaptic input bias currents to configure for the synaptic input to be calibrated. If None, the configuration is unchanged.
-
__init__
(bias_currents: Optional[Union[int, numpy.ndarray]] = None, target: Union[int, numpy.ndarray] = 120) - Parameters
bias_currents – Synaptic input bias currents to configure for the synaptic input to be calibrated. If None, the configuration is unchanged.
target – Target CADC reads with synaptic input enabled. Optional, can also be supplied to the run() call. These reads need to be taken with the synaptic input disabled.
Methods
__init__
([bias_currents, target])- param bias_currents
Synaptic input bias currents to configure
configure_parameters
(builder, parameters)Configure the given parameters to the respective CapMem cell determined by whether the excitatory or inhibitory synaptic input is to be calibrated.
measure_results
(connection, builder)Measure the membrane potentials of each neuron.
postlude
(connection)Print statistics of the resting potentials with synaptic input enabled and reference potential calibrated.
prelude
(connection)If desired, configure the synaptic input bias currents to the given values.
-
configure_parameters
(builder: calix.common.base.WriteRecordingPlaybackProgramBuilder, parameters: numpy.ndarray) → calix.common.base.WriteRecordingPlaybackProgramBuilder Configure the given parameters to the respective CapMem cell determined by whether the excitatory or inhibitory synaptic input is to be calibrated.
- Parameters
builder – Builder to append configuration to.
parameters – Array of reference potential settings to configure.
- Returns
Builder with configuration instructions appended.
-
measure_results
(connection: pyhxcomm_vx.ConnectionHandle, builder: calix.common.base.WriteRecordingPlaybackProgramBuilder) → numpy.ndarray Measure the membrane potentials of each neuron.
- Parameters
connection – Connection to chip to run measurement.
builder – Builder to append read instructions to.
- Returns
Array with CADC reads of neuron membrane potentials.
-
postlude
(connection: pyhxcomm_vx.ConnectionHandle) → None Print statistics of the resting potentials with synaptic input enabled and reference potential calibrated.
- Parameters
connection – Connection to the chip to run on.
-
prelude
(connection: pyhxcomm_vx.ConnectionHandle) If desired, configure the synaptic input bias currents to the given values. If no bias currents were given, the configuration is unchanged.
- Parameters
connection – Connection to the chip to calibrate.