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.