calix.hagen.synapse_driver
Provides a function to calibrate the synapse drivers for hagen-mode input activation encoding. This boils down to calibrating the STP ramp current such that the emitted amplitudes utilize the available dynamic range, and calibrating the hagen-mode DAC offsets such that different drivers yield the same amplitudes.
These calibrations are performed on the synaptic input lines, therefore we require calibrated CADCs, but the neurons don’t need to be calibrated.
Classes
Search Hagen-mode DAC offset settings such that drivers yield the same pulse lengths. |
|
Search synapse driver STP ramp currents such that the mean amplitudes of drivers on different CapMem blocks are the same. |
|
|
Further options for synapse driver calibration. |
|
Result object of a synapse driver calibration. |
|
Provides a function to measure output amplitudes of each synapse driver. |
Functions
-
calix.hagen.synapse_driver.
calibrate
(connection: pyhxcomm_vx.ConnectionHandle, options: Optional[calix.hagen.synapse_driver.SynapseDriverCalibOptions] = None) → calix.hagen.synapse_driver.SynapseDriverCalibResult Calibrate the synapse drivers’ STP offsets such that the amplitudes match when using hagen mode.
The STP ramp currents are calibrated such that drivers connected to each CapMem Block use the available dynamic range. To achieve that, we (1) select the drivers with median amplitudes per quadrant, (2) measure the maximum amplitudes generated by these drivers, (3) set the ramp current such that the activation scales amplitudes sensibly.
The hagen-mode DAC offsets are calibrated for each driver afterwards.
Requirements: * Chip is initialized. * CADCs are calibrated. You can use calix.common.cadc.calibrate()
to achieve this.
- Neuron readout is connected to the CADC lines and global bias
currents are set. You can use calix.hagen.neuron_helpers.configure_chip() to achieve this.
- Parameters
connection – Connection to the chip to run on.
options – Calib options, given as an instance of SynapseDriverCalibOptions.
- Returns
SynapseDriverCalibResult containing STP ramp currents for the CapMem blocks, offsets for the drivers, and a success mask.
-
calix.hagen.synapse_driver.
dataclass
(cls=None, /, *, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False) Returns the same class as was passed in, with dunder methods added based on the fields defined in the class.
Examines PEP 526 __annotations__ to determine fields.
If init is true, an __init__() method is added to the class. If repr is true, a __repr__() method is added. If order is true, rich comparison dunder methods are added. If unsafe_hash is true, a __hash__() method function is added. If frozen is true, fields may not be assigned to after instance creation.
-
calix.hagen.synapse_driver.
field
(*, default=<dataclasses._MISSING_TYPE object>, default_factory=<dataclasses._MISSING_TYPE object>, init=True, repr=True, hash=None, compare=True, metadata=None) Return an object to identify dataclass fields.
default is the default value of the field. default_factory is a 0-argument function called to initialize a field’s value. If init is True, the field will be a parameter to the class’s __init__() function. If repr is True, the field will be included in the object’s repr(). If hash is True, the field will be included in the object’s hash(). If compare is True, the field will be used in comparison functions. metadata, if specified, must be a mapping which is stored but not otherwise examined by dataclass.
It is an error to specify both default and default_factory.
-
calix.hagen.synapse_driver.
preconfigure_capmem
(builder: calix.common.base.WriteRecordingPlaybackProgramBuilder) → calix.common.base.WriteRecordingPlaybackProgramBuilder Set necessary static biases required for hagen mode.
- Parameters
builder – Builder to append configuration instructions to.
- Returns
Builder with configuration instructions appended.