calix.spiking.synapse_driver.STPOffsetCalib

class calix.spiking.synapse_driver.STPOffsetCalib(v_stp: Union[int, numpy.ndarray] = 180, i_ramp: Union[int, numpy.ndarray] = 600)

Bases: calix.common.base.Calib

Calibrate synapse driver STP ramp offsets for usage in spiking mode.

Since the hagen-mode DAC is not involved now, the STP voltages can use a higher dynamic range determined by v_charge and v_recover. This usually means a different STP ramp current is used than in hagen mode.

Drivers connected to different CapMem instances are calibrated to different targets since deviations in STP voltages and ramp currents (which are set for each CapMem instance individually) have higher variations than can be compensated with the STP offset.

Note that this calibration measures synapse drivers’ outputs on the synaptic input lines, not on the neurons. The neurons are reconfigured for this purpose. If they were calibrated, you will need to re-apply their calibration after the STP offsets are calibrated.

Requirements: * CADCs and Synapse DAC biases are calibrated.

Variables
  • v_stp – STP voltage to use during amplitude measurement, reached by setting v_charge and v_recover to this value. If an array of values is given, they are configured per quadrant.

  • i_ramp – STP ramp current. If an array of values is given, they are configured per quadrant.

  • measurement – Instance of measurement class, in order to measure the characteristic output amplitudes of each synapse driver.

__init__(v_stp: Union[int, numpy.ndarray] = 180, i_ramp: Union[int, numpy.ndarray] = 600)

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

Methods

__init__([v_stp, i_ramp])

Initialize self.

configure_parameters(builder, parameters)

Configure the synapse drivers to the given offsets.

measure_results(connection, builder)

Read output amplitudes of synapse drivers.

postlude(connection)

Log standard deviation of amplitudes after calibration.

prelude(connection)

Set up STP voltages and currents.

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

Configure the synapse drivers to the given offsets.

Parameters
  • builder – Builder to append configuration to.

  • parameters – Synapse driver offset settings to configure.

Returns

Builder with configuration instructions appended.

measure_results(connection: pyhxcomm_vx.ConnectionHandle, builder: calix.common.base.WriteRecordingPlaybackProgramBuilder)numpy.ndarray

Read output amplitudes of synapse drivers.

Parameters
  • connection – Connection to the chip to run on.

  • builder – Builder that is run before measuring.

Returns

Array of synapse drivers’ output amplitudes.

postlude(connection: pyhxcomm_vx.ConnectionHandle)None

Log standard deviation of amplitudes after calibration.

Parameters

connection – Connection to the chip to run on.

prelude(connection: pyhxcomm_vx.ConnectionHandle)

Set up STP voltages and currents. Measure target values as median of drivers of a CapMem block.