calix.hagen.synapse_driver.HagenDACOffsetCalib
-
class
calix.hagen.synapse_driver.
HagenDACOffsetCalib
Bases:
calix.common.base.Calib
Search Hagen-mode DAC offset settings such that drivers yield the same pulse lengths.
Initially, amplitudes at a high STP ramp current and a low hagen-mode DAC potential are measured, corresponding to the maximum available pulse length. We select the DAC offset such that with the desired ramp current, the amplitude starts decreasing from this maximum at a low, but non-zero DAC value (which equals a high, but non-maximum activation). Hence, this alignes the start points of the STP ramps to the start point of the DAC’s dynamic range.
Requirements: * Static synapse driver bias currents are set. This can be achieved
using preconfigure_capmem().
- Variables
test_activation – Hagen-mode activation to use when determining the ramp start. Should be high, close but not equal to the maximum activation.
n_parallel_measurements – Number of parallel measurements to execute when measuring results.
maximum_amplitudes – Maximum amplitudes per driver, measured at a high ramp current and high activation. If not supplied otherwise, it will be measured during the prelude.
log – Logger used for printing outputs.
-
__init__
() Initialize self. See help(type(self)) for accurate signature.
Methods
__init__
()Initialize self.
configure_parameters
(builder, parameters)Configure the synapse drivers to the given offsets.
measure_maximum_amplitudes
(connection)Measure the maximum output amplitudes available per driver.
measure_results
(connection, builder)Read output amplitudes of synapse drivers.
postlude
(connection)Print the calibrated DAC offsets.
prelude
(connection)Configure synapse array and measure calibration target.
-
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_maximum_amplitudes
(connection: pyhxcomm_vx.ConnectionHandle) → numpy.ndarray Measure the maximum output amplitudes available per driver.
We configure a high ramp current and measure amplitudes at a low address in order to achieve the full pulse length, i.e. the maximum amplitude for each driver.
- Parameters
connection – Connection to the chip to be measured.
- Returns
Array of maximum amplitudes per driver.
-
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 Print the calibrated DAC offsets.
- Parameters
connection – Connection to the chip to run on.
-
prelude
(connection: pyhxcomm_vx.ConnectionHandle) → None Configure synapse array and measure calibration target.
Measure target: median amplitude of all drivers.
- Parameters
connection – Connection to the chip to run on.