API Reference: calix
-
template<typename
TL
>
structAddPickle
Add pickle support to list of classes.
- Template Parameters
TL – Type list of classes to add pickle support for
-
template<typename ...
Ts
>
structccalix
::
AddPickle
<hate::type_list<Ts...>> - #include <pickle.h>
Public Static Functions
-
static inline void
apply
(pybind11::module &parent, std::vector<std::string> const &container_names) Add pickle support to list of classes.
Note
Specified name list has to match type list of wrapped types.
- Template Parameters
T – Type of wrapped object
- Parameters
parent – Pybind11 module
name – Name of object in python module
Private Static Functions
-
template<size_t
I
, size_t...Is
>
static inline voidapply_impl
(pybind11::module &parent, std::vector<std::string> const &container_names, std::index_sequence<I, Is...>)
-
template<typename
T
>
static inline voidapply_single
(pybind11::module &parent, std::string const &name) Add pickle support to single class.
Note
Specified name has to match object of correct wrapped type.
- Template Parameters
T – Type of wrapped object
- Parameters
parent – Pybind11 module
name – Name of object in python module
-
static inline void
-
struct
ccalix
::
CADCCalibOptions
: public ccalix::CalibOptions - #include <cadc_calib_options.h>
Further configuration parameters for the CADC calibration, that are not directly calibration targets.
Public Functions
-
CADCCalibOptions
() = default
Public Members
-
bool
calibrate_offsets
= {true}
Friends
- friend class cereal::access
-
friend std::ostream & operator<< (std::ostream &os, CADCCalibOptions const &options) SYMBOL_VISIBLE
-
-
struct
CalibOptions
- #include <calib_options.h>
Subclassed by ccalix::CADCCalibOptions, ccalix::CorrelationCalibOptions, ccalix::HagenCalibOptions, ccalix::HagenSyninCalibOptions, ccalix::NeuronCalibOptions, ccalix::STPCalibOptions, ccalix::SpikingCalibOptions, ccalix::SynapseDriverCalibOptions
-
struct
ccalix
::
CorrelationCalibOptions
: public ccalix::CalibOptions - #include <correlation_calib_options.h>
Public Functions
-
CorrelationCalibOptions
() = default
-
void check () const SYMBOL_VISIBLE
Check if given parameters are in a valid range.
Public Members
-
bool
calibrate_synapses
= {false}
-
haldls::vx::v3::SynapseCorrelationCalibQuad::AmpCalib
default_amp_calib
= {0}
-
haldls::vx::v3::SynapseCorrelationCalibQuad::TimeCalib
default_time_calib
= {0}
-
double
time_constant_priority
= {0.3}
-
PotentialInVolt
v_res_meas
= {PotentialInVolt(0.9)}
-
PotentialInVolt
v_reset
= {PotentialInVolt(1.85)}
Friends
- friend class cereal::access
-
friend std::ostream & operator<< (std::ostream &os, CorrelationCalibOptions const &options) SYMBOL_VISIBLE
-
-
struct
ccalix
::
HagenCalibOptions
: public ccalix::CalibOptions - #include <hagen_calib_options.h>
Public Functions
-
HagenCalibOptions
() = default
Public Members
-
CADCCalibOptions
cadc_options
Further options for CADC calibration.
-
bool
neuron_disable_leakage
= {true} Decide whether the neuron leak bias currents are set to zero after calibration.
This is done by default, which disables leakage entirely. Note that even if the leak bias is set to zero, some pseudo-leakage may occur through the synaptic input OTAs.
-
NeuronCalibOptions
neuron_options
Further options for neuron calibration.
-
SynapseDriverCalibOptions
synapse_driver_options
Further options for synapse driver calibration.
Friends
- friend class cereal::access
-
friend std::ostream & operator<< (std::ostream &os, HagenCalibOptions const &options) SYMBOL_VISIBLE
-
-
struct
ccalix
::
HagenSyninCalibOptions
: public ccalix::CalibOptions - #include <hagen_synin_calib_options.h>
Public Functions
-
HagenSyninCalibOptions
() = default
Public Members
-
CADCCalibOptions
cadc_options
Further options for CADC calibration.
-
SynapseDriverCalibOptions
synapse_driver_options
Further options for synapse driver calibration.
Friends
- friend class cereal::access
-
friend std::ostream & operator<< (std::ostream &os, HagenSyninCalibOptions const &options) SYMBOL_VISIBLE
-
-
struct
ccalix
::
NeuronCalibOptions
: public ccalix::CalibOptions - #include <neuron_calib_options.h>
Public Functions
-
NeuronCalibOptions
() = default
Public Members
Friends
- friend class cereal::access
-
friend std::ostream & operator<< (std::ostream &os, NeuronCalibOptions const &options) SYMBOL_VISIBLE
-
-
struct
ccalix
::
PotentialInVolt
: public halco::common::detail::BaseType<PotentialInVolt, double> - #include <types.h>
Public Functions
-
inline explicit constexpr
PotentialInVolt
(value_type const value = 0.)
-
inline explicit constexpr
-
struct
ccalix
::
SpikingCalibOptions
: public ccalix::CalibOptions - #include <spiking_calib_options.h>
Public Functions
-
SpikingCalibOptions
(CADCCalibOptions cadc_options = CADCCalibOptions(), NeuronCalibOptions neuron_options = NeuronCalibOptions(), CorrelationCalibOptions correlation_options = CorrelationCalibOptions(), STPCalibOptions stp_options = STPCalibOptions(), std::optional<bool> refine_potentials = std::nullopt)
Public Members
-
CADCCalibOptions
cadc_options
-
CorrelationCalibOptions
correlation_options
-
NeuronCalibOptions
neuron_options
-
STPCalibOptions
stp_options
Friends
- friend class cereal::access
-
friend std::ostream & operator<< (std::ostream &os, SpikingCalibOptions const &options) SYMBOL_VISIBLE
-
-
struct
ccalix
::
STPCalibOptions
: public ccalix::CalibOptions - #include <stp_calib_options.h>
Public Types
Public Functions
-
STPCalibOptions () SYMBOL_VISIBLE
Friends
- friend class cereal::access
-
friend std::ostream & operator<< (std::ostream &os, STPCalibOptions const &options) SYMBOL_VISIBLE
-
-
struct
ccalix
::
SynapseDriverCalibOptions
: public ccalix::CalibOptions - #include <synapse_driver_calib_options.h>
Public Functions
-
SynapseDriverCalibOptions
() = default
Public Members
Friends
- friend class cereal::access
-
friend std::ostream & operator<< (std::ostream &os, SynapseDriverCalibOptions const &options) SYMBOL_VISIBLE
-
-
namespace
ccalix
Functions
-
std::ostream & operator<< (std::ostream &os, CorrelationCalibOptions::Branches const &value) SYMBOL_VISIBLE
-
-
namespace
ccalix
::
detail
Typedefs
-
typedef hate::type_list<ccalix::CADCCalibOptions, ccalix::CorrelationCalibOptions, ccalix::HagenCalibOptions, ccalix::HagenSyninCalibOptions, ccalix::NeuronCalibOptions, ccalix::SpikingCalibOptions, ccalix::SynapseDriverCalibOptions, ccalix::STPCalibOptions>
pickle_types
-
typedef hate::type_list<ccalix::CADCCalibOptions, ccalix::CorrelationCalibOptions, ccalix::HagenCalibOptions, ccalix::HagenSyninCalibOptions, ccalix::NeuronCalibOptions, ccalix::SpikingCalibOptions, ccalix::SynapseDriverCalibOptions, ccalix::STPCalibOptions>
-
namespace
hagen
-
namespace
ccalix::hagen
::
multiplication
Functions
-
SYMBOL_VISIBLE void send_vectors (stadls::vx::v3::PlaybackProgramBuilder &builder, const pybind11::array_t< uint_fast16_t > &vector, const size_t num_sends, const size_t wait_period, const halco::hicann_dls::vx::v3::SynramOnDLS synram_coord, const size_t synram_selection_bit)
Generate events for the given vector in hagen mode.
- Parameters
builder – Builder to append writes to
vector – Array containing the input vector
num_sends – Number of repeats of the whole vector
wait_period – Wait time between two successive events
synram_coord – Coordinate of synapse array to target with the events
synram_selection_bit – Determines which bit in the event label selects the synram
-
-
namespace
ccalix::hagen::multiplication
::
detail
Functions
-
haldls::vx::v3::SpikePack1ToChip
prepare_event
(const haldls::vx::v3::SynapseQuad::Label address, const halco::hicann_dls::vx::v3::SynapseDriverOnSynapseDriverBlock target_driver, const halco::hicann_dls::vx::v3::SynramOnDLS synram_coord, const size_t synram_selection_bit) Return a spike pack to chip, containing an event reaching the desired synapse driver on the desired synram.
- Parameters
address – Address that is sent to the driver. The MSB reaches the synapses, the lower 5 bit encode the desired activation.
target_driver – Coordinate of target synapse driver.
synram_coord – Coordinate of target synapse array.
synram_selection_bit – Bit position that selects synapse array.
- Returns
Spike packet to chip.
-
haldls::vx::v3::SpikePack1ToChip
-
namespace
ccalix
::
helpers
Functions
-
template<typename
builder_t
>
voidwrite_capmem_row
(builder_t &builder, const halco::hicann_dls::vx::v3::CapMemRowOnCapMemBlock row, const pybind11::array_t<uint_fast16_t> &values) Attach write commands for a single, full row of non-global capmem cells to a given builder.
- Template Parameters
builder_t – Type of the builder in use
- Parameters
builder – Builder writes are appended to
row – Capmem row to be written
values – Array of payload data to be written to the given capmem row
-
template SYMBOL_VISIBLE void write_capmem_row (stadls::vx::v3::PlaybackProgramBuilder &, const halco::hicann_dls::vx::v3::CapMemRowOnCapMemBlock, const pybind11::array_t< uint_fast16_t > &)
-
template SYMBOL_VISIBLE void write_capmem_row (stadls::vx::v3::PlaybackProgramBuilderDumper &, const halco::hicann_dls::vx::v3::CapMemRowOnCapMemBlock, const pybind11::array_t< uint_fast16_t > &)
-
template<typename
-
namespace
spiking
-
namespace
ccalix::spiking
::
correlation_measurement
Functions
-
SYMBOL_VISIBLE pybind11::array_t< uint_fast16_t > evaluate_correlation (std::vector< stadls::vx::v3::ContainerTicket > tickets)
Evaluate correlation reads in given list of tickets.
- Parameters
List – of read tickets, as returned by the read_correlation() function.
- Returns
Numpy array containing all reads. It will be shaped (4, 256, 2) for the entries in a quad, the rows, and the causal/acausal correlation.
-
SYMBOL_VISIBLE std::vector< stadls::vx::v3::ContainerTicket > read_correlation (stadls::vx::v3::PlaybackProgramBuilder &builder, const halco::hicann_dls::vx::v3::SynapseQuadColumnOnDLS quad, const halco::hicann_dls::vx::v3::SynramOnDLS synram)
Read CADCs in given quad column.
Returns a list of tickets for each row.
- Parameters
builder – Builder to append reads to.
quad – Quad coordinate to be read.
synram – Synram to be used.
- Returns
List of read tickets, ordered [causal row 0, acausal row 0, causal row 1, …]
-
SYMBOL_VISIBLE void reset_correlation (stadls::vx::v3::PlaybackProgramBuilder &builder, const halco::hicann_dls::vx::v3::SynapseQuadColumnOnDLS quad, const halco::hicann_dls::vx::v3::SynramOnDLS synram)
Reset all synapse correlations in given quad.
- Parameters
builder – Builder to append instructions to.
quad – Quad column to be reset.
synram – Target synram coordinate.
-
SYMBOL_VISIBLE void send_postpulse (stadls::vx::v3::PlaybackProgramBuilder &builder, const halco::hicann_dls::vx::v3::SynapseQuadColumnOnDLS quad, const halco::hicann_dls::vx::v3::SynramOnDLS synram)
Reset the given quad of neurons, sending an STDP postpulse to synapses.
- Parameters
builder – Builder to append instructions to.
quad – Quad column to reset neurons in.
synram – Target synram coordinate.
-
SYMBOL_VISIBLE void send_prepulse (stadls::vx::v3::PlaybackProgramBuilder &builder, const halco::hicann_dls::vx::v3::SynramOnDLS synram, const haldls::vx::v3::SynapseQuad::Label address)
Send a PADI event to all drivers, i.e.
an STDP prepulse to all synapses.
- Parameters
builder – Builder to append instructions to.
synram – Synram coordinate of synapses to stimulate.
address – Address to be sent to synapses.
-
-
namespace
cereal
-
namespace
halco
-
namespace
common
-
namespace
detail
-
namespace
std
STL namespace.
-
file
cadc_calib_options.h
- #include “ccalix/calib_options.h”#include “ccalix/cerealization.h”#include “”#include <>#include <>
-
file
calib_options.h
- #include “ccalix/genpybind.h”
-
file
ccalix.h
- #include “ccalix/cadc_calib_options.h”#include “ccalix/calib_options.h”#include “ccalix/correlation_calib_options.h”#include “ccalix/genpybind.h”#include “ccalix/hagen/multiplication.h”#include “ccalix/hagen_calib_options.h”#include “ccalix/hagen_synin_calib_options.h”#include “ccalix/helpers.h”#include “ccalix/neuron_calib_options.h”#include “ccalix/spiking/correlation_measurement.h”#include “ccalix/spiking_calib_options.h”#include “ccalix/stp_calib_options.h”#include “ccalix/synapse_driver_calib_options.h”#include “”#include “”
-
file
cerealization.h
- #include “”#include <>
Defines
-
CCALIX_EXTERN_INSTANTIATE_CEREAL_SERIALIZE
(CLASS_NAME)
-
-
file
correlation_calib_options.h
- #include “ccalix/cadc_calib_options.h”#include “ccalix/calib_options.h”#include “ccalix/cerealization.h”#include “ccalix/correlation_calib_options.h”#include “ccalix/neuron_calib_options.h”#include “ccalix/stp_calib_options.h”#include “ccalix/types.h”#include “”#include “”#include <>#include <>
-
file
genpybind.h
-
file
multiplication.h
- #include “ccalix/genpybind.h”#include “”#include “”#include “”#include “”#include “”#include <>
-
file
hagen_calib_options.h
- #include “ccalix/cadc_calib_options.h”#include “ccalix/calib_options.h”#include “ccalix/cerealization.h”#include “ccalix/neuron_calib_options.h”#include “ccalix/synapse_driver_calib_options.h”#include “”#include <>
-
file
hagen_synin_calib_options.h
- #include “ccalix/cadc_calib_options.h”#include “ccalix/calib_options.h”#include “ccalix/cerealization.h”#include “ccalix/synapse_driver_calib_options.h”#include “”#include <>#include <>
-
file
helpers.h
- #include “ccalix/genpybind.h”#include “”#include “”#include “”#include <>#include <>
-
file
neuron_calib_options.h
- #include “ccalix/calib_options.h”#include “ccalix/cerealization.h”#include “”#include “”#include <>
-
file
pickle.h
- #include “”#include “”#include <>#include <>#include <>#include <>
-
file
correlation_measurement.h
- #include “ccalix/genpybind.h”#include “”#include “”#include “”#include “”#include “”#include “”#include “”#include <>
-
file
spiking_calib_options.h
- #include “ccalix/cadc_calib_options.h”#include “ccalix/calib_options.h”#include “ccalix/cerealization.h”#include “ccalix/correlation_calib_options.h”#include “ccalix/neuron_calib_options.h”#include “ccalix/stp_calib_options.h”#include “”#include <>#include <>
-
file
stp_calib_options.h
- #include “ccalix/calib_options.h”#include “ccalix/cerealization.h”#include “”#include “”#include “”
-
file
synapse_driver_calib_options.h
- #include “ccalix/calib_options.h”#include “ccalix/cerealization.h”#include “”#include “”#include “”#include <>
-
file
types.h
- #include “ccalix/genpybind.h”#include “”
-
dir
/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2-dependencies.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMi1kZXBlbmRlbmNpZXMjMTM5MDE.x/calix
-
dir
/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2-dependencies.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMi1kZXBlbmRlbmNpZXMjMTM5MDE.x/calix/include/ccalix
-
dir
/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2-dependencies.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMi1kZXBlbmRlbmNpZXMjMTM5MDE.x/calix/include/ccalix/hagen
-
dir
/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2-dependencies.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMi1kZXBlbmRlbmNpZXMjMTM5MDE.x/calix/include
-
dir
/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2-dependencies.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMi1kZXBlbmRlbmNpZXMjMTM5MDE.x/calix/include/ccalix/spiking