calix.spiking

Modules

calix.spiking.correlation

Provides classes for calibration of the correlation characteristics, i.e. time constants and amplitudes.

calix.spiking.correlation_measurement

Provides a measurement class that measures correlation amplitudes at different timings of pre- and postspikes, and determines amplitude and time constants.

calix.spiking.neuron

Provides an interface for calibrating LIF neurons.

calix.spiking.neuron_calib_parts

Helper functions representing parts of the spiking neuron calibration.

calix.spiking.neuron_threshold

calix.spiking.refractory_period

Calculations related to determining the refractory clock scales as well as counter values.

calix.spiking.synapse_driver

Provides a calibration class for the synapse driver STP offset for the usual spiking mode.

Classes

SpikingCalibOptions(cadc_options, …)

Data class containing further options for spiking calibration.

SpikingCalibResult(target, options, …)

Data class containing results of cadc and neuron calibration, all what is necessary for operation in spiking mode.

SpikingCalibTarget(cadc_target, …)

Data class containing targets for spiking neuron calibration.

Functions

calix.spiking.calibrate(connection: pyhxcomm_vx.ConnectionHandle, target: Optional[calix.spiking.SpikingCalibTarget] = None, options: Optional[calix.spiking.SpikingCalibOptions] = None)calix.spiking.SpikingCalibResult

Execute a full calibration for spiking mode: Calibrate CADCs to a suitable dynamic range. Calibrate neurons.

The chip has to be initialized first, which can be done using the stadls ExperimentInit().

The individual calibrations’ default parameters can be overwritten by providing cadc_ or neuron_kwargs, respectively.

After the “usual” neuron calibration has finished, the CADC calibration is repeated in order to mitigate CapMem crosstalk effects. Afterwards, the neuron potentials are calibrated once again.

Parameters
  • connection – Connection to the chip to calibrate.

  • target – Target parameters for calibration, given as an instance of SpikingCalibTarget.

  • options – Further options for calibration, given as an instance of SpikingCalibOptions.

Returns

SpikingCalibResult, containing cadc and neuron results.

calix.spiking.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.spiking.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.spiking.warn(message, category=None, stacklevel=1, source=None)

Issue a warning, or maybe ignore it or raise an exception.