API Reference: haldls

struct haldls::vx::MADCConfig::ActiveMuxInputSelectLength : public halco::common::detail::RantWrapper<ActiveMuxInputSelectLength, uint_fast8_t, 15, 0>
#include <madc.h>

Public Functions

inline explicit constexpr ActiveMuxInputSelectLength (uintmax_t const val=0) SYMBOL_VISIBLE
class haldls::vx::AD5252ChannelConfig : public haldls::vx::ContainerBase<AD5252ChannelConfig>
#include <i2c.h>

Public Types

typedef EncodableBase<AD5252ChannelConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<AD5252ChannelConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<AD5252ChannelConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<AD5252ChannelConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::AD5252ChannelConfigOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

AD5252ChannelConfig () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::I2CAD5252RwRegister, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::I2CAD5252RwRegister, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

WiperSetting get_value () const SYMBOL_VISIBLE

Get wiper setting for digital potentiometer.

Returns

Wiper setting

bool operator!= (AD5252ChannelConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (AD5252ChannelConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (WiperSetting value) SYMBOL_VISIBLE

Set wiper setting for digital potentiometer.

Parameters

value – The wiper setting.

Public Static Functions

static std::array< halco::hicann_dls::vx::I2CAD5252RwRegisterOnBoard, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, AD5252ChannelConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

WiperSetting m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, AD5252ChannelConfig const &config) SYMBOL_VISIBLE
class haldls::vx::AD5252ChannelConfigPersistent : public haldls::vx::ContainerBase<AD5252ChannelConfigPersistent>
#include <i2c.h>

Public Types

typedef EncodableBase<AD5252ChannelConfigPersistent, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<AD5252ChannelConfigPersistent, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<AD5252ChannelConfigPersistent, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<AD5252ChannelConfigPersistent, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::AD5252ChannelConfigPersistentOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

AD5252ChannelConfigPersistent () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::I2CAD5252RwRegister, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::I2CAD5252RwRegister, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

WiperSetting get_value () const SYMBOL_VISIBLE

Get wiper setting for digital potentiometer.

Returns

Wiper setting

bool operator!= (AD5252ChannelConfigPersistent const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (AD5252ChannelConfigPersistent const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (WiperSetting value) SYMBOL_VISIBLE

Set wiper setting for digital potentiometer.

Parameters

value – The wiper setting.

Public Static Functions

static std::array< halco::hicann_dls::vx::I2CAD5252RwRegisterOnBoard, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, AD5252ChannelConfigPersistent &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

WiperSetting m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, AD5252ChannelConfigPersistent const &config) SYMBOL_VISIBLE
template<typename TL>
struct AddPickle

Add pickle support to list of classes.

tparam TL

Type list of classes to add pickle support for

template<typename ...Ts>
struct haldls::vx::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 void apply_impl(pybind11::module &parent, std::vector<std::string> const &container_names, std::index_sequence<I, Is...>)
template<typename T>
static inline void apply_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

struct haldls::vx::detail::SRAMTimingConfig::AddressSetupTime : public halco::common::detail::RantWrapper<AddressSetupTime, uint_fast16_t, hate::math::pow(2, 4) - 1, 0>
#include <sram_controller.h>

Wait time for address value propagation after enable signal pull.

Public Functions

inline explicit constexpr AddressSetupTime(uintmax_t const val = 11)
class haldls::vx::ADPLL : public haldls::vx::ContainerBase<ADPLL>
#include <pll.h>

Container for configuration of an ADPLL (All-Digital Phased-Locked-Loop) clock generator.

The PLL features two ADPLLs with three clock outputs each. The clock outputs are routed to the PLLClockOutputBlock with four clock output ports.

Public Types

typedef EncodableBase<ADPLL, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ADPLL, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ADPLL, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ADPLL, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ADPLLOnDLS coordinate_type
typedef std::true_type is_leaf_node
enum Output

Outputs of the ADPLL.

Values:

enumerator core_0
enumerator core_1
enumerator dco

Public Functions

ADPLL () SYMBOL_VISIBLE

Default construct ADPLL.

double calculate_output_frequency (Output const &output, double const &f_ref=nominal_pll_f_reference) const SYMBOL_VISIBLE

Calculate the frequency for the different outputs on the ADPLL.

Frequencies are returned in Hz.

Parameters
  • output – Ouput for which the frequency shoud be returned

  • f_ref – Nominal reference frequency the PLL uses as input

Returns

Frequency in Hz at specified output

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

CoreDivM0 get_core_div_m0 () const SYMBOL_VISIBLE
CoreDivM1 get_core_div_m1 () const SYMBOL_VISIBLE
DcoPowerSwitch get_dco_power_switch () const SYMBOL_VISIBLE
bool get_enable () const SYMBOL_VISIBLE

Get whether the ADPLL is enabled.

Returns

Boolean value

bool get_enable_output_clock () const SYMBOL_VISIBLE

Get whether output clock is enabled.

Returns

Boolean value

bool get_enforce_lock () const SYMBOL_VISIBLE

Get whether the PLL signal is enforced to be locked.

Returns

Boolean value

FilterShift get_filter_shift () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_lock_window () const SYMBOL_VISIBLE

Get the lock detection timing window (false: long, true: short).

Returns

Boolean value

LoopDivN get_loop_div_n () const SYMBOL_VISIBLE
LoopFilterInt get_loop_filter_int () const SYMBOL_VISIBLE
LoopFilterProp get_loop_filter_prop () const SYMBOL_VISIBLE
bool get_open_lock () const SYMBOL_VISIBLE

Get whether open loop mode of the DCO is enabled.

Returns

Boolean value

bool get_pfd_select () const SYMBOL_VISIBLE

Get whether the pfd bit is set (with/without synchronizer).

Returns

Boolean value

PreDivP0 get_pre_div_p0 () const SYMBOL_VISIBLE
PreDivP1 get_pre_div_p1 () const SYMBOL_VISIBLE
PreDivP2 get_pre_div_p2 () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

Tune get_tune () const SYMBOL_VISIBLE
virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool get_use_external_config () const SYMBOL_VISIBLE

TODO: What exactly gets this?

Returns

Boolean value

bool operator!= (ADPLL const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ADPLL const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_core_div_m0 (CoreDivM0 value) SYMBOL_VISIBLE
void set_core_div_m1 (CoreDivM1 value) SYMBOL_VISIBLE
void set_dco_power_switch (DcoPowerSwitch value) SYMBOL_VISIBLE
void set_enable (bool value) SYMBOL_VISIBLE

Set to enable the ADPLL.

Parameters

value – Boolean value to set

void set_enable_output_clock (bool value) SYMBOL_VISIBLE

Set whether to enable output clock.

Parameters

value – Boolean value to set

void set_enforce_lock (bool value) SYMBOL_VISIBLE

Set to enforce a locked PLL signal.

Parameters

value – Boolean value to set

void set_filter_shift (FilterShift value) SYMBOL_VISIBLE
void set_lock_window (bool value) SYMBOL_VISIBLE

Set the lock detection timing window (false: long, true: short).

Parameters

value – Boolean value to set

void set_loop_div_n (LoopDivN value) SYMBOL_VISIBLE
void set_loop_filter_int (LoopFilterInt value) SYMBOL_VISIBLE
void set_loop_filter_prop (LoopFilterProp value) SYMBOL_VISIBLE
void set_open_lock (bool value) SYMBOL_VISIBLE

Set enable open loop mode of the DCO.

Parameters

value – Boolean value to set

void set_pfd_select (bool value) SYMBOL_VISIBLE

Set the pfd bit (with/without synchronizer).

Parameters

value – Boolean value to set

void set_pre_div_p0 (PreDivP0 value) SYMBOL_VISIBLE
void set_pre_div_p1 (PreDivP1 value) SYMBOL_VISIBLE
void set_pre_div_p2 (PreDivP2 value) SYMBOL_VISIBLE
void set_tune (Tune value) SYMBOL_VISIBLE
void set_use_external_config (bool value) SYMBOL_VISIBLE

TODO: What exactly sets this?.

Parameters

value – Boolean value to set

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, ADPLL &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

CoreDivM0 m_core_div_m0
CoreDivM1 m_core_div_m1
DcoPowerSwitch m_dco_power_switch
bool m_enable
bool m_enable_output_clock
bool m_enforce_lock
FilterShift m_filter_shift
bool m_lock_window
LoopDivN m_loop_div_n
LoopFilterInt m_loop_filter_int
LoopFilterProp m_loop_filter_prop
bool m_open_lock
bool m_pfd_select
PreDivP0 m_pre_div_p0
PreDivP1 m_pre_div_p1
PreDivP2 m_pre_div_p2
Tune m_tune
bool m_use_external_config

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ADPLL const &config) SYMBOL_VISIBLE
struct haldls::vx::SynapseCorrelationCalibQuad::AmpCalib : public halco::common::detail::RantWrapper<AmpCalib, uint8_t, 3, 0>
#include <synapse.h>

Public Functions

inline explicit constexpr AmpCalib(uintmax_t const val = 0)
template<Backend B>
struct haldls::vx::detail::backend_container_type_from_backend
#include <traits.h>

Public Types

typedef hate::index_type_list_by_integer<static_cast<size_t>(B), BackendContainerList>::type container_type
template<typename BackendContainer>
struct haldls::vx::detail::backend_from_backend_container_type
#include <traits.h>

Public Static Attributes

static constexpr Backend backend = static_cast<Backend>(hate::index_type_list_by_type<BackendContainer, BackendContainerList>::value)
template<typename ContainerT, typename DefaultBackendContainer, typename ...AdditionalBackendContainer>
struct haldls::vx::detail::BackendContainerBase
#include <traits.h>

Backend container trait base.

Each container has to support at least one backend container. Multiple supported backends allow specifying a default backend which is used if no backend is given at a PlaybackProgramBuilder::read/write instruction.

tparam ContainerT

Container for which to generate backend traits for

tparam DefaultBackendContainer

Default backend to use if no is given

tparam AdditionalBackendContainer

Additionally supported backends

Public Types

typedef hate::type_list<DefaultBackendContainer, AdditionalBackendContainer...> container_list
typedef DefaultBackendContainer default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table = generate_lookup_table<BackendContainerList>::backend_index_lookup_table
static constexpr Backend default_backend = backend_from_backend_container_type<DefaultBackendContainer>::backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends = {backend_from_backend_container_type<DefaultBackendContainer>::backend, backend_from_backend_container_type<AdditionalBackendContainer>::backend...}
template<typename ContainerT>
struct haldls::vx::detail::BackendContainerTrait : public haldls::vx::detail::BackendContainerBase<ContainerT, ContainerT>
#include <traits.h>

Public Types

typedef hate::type_list<ContainerT, AdditionalBackendContainer...> container_list
typedef ContainerT default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<AD5252ChannelConfig> : public haldls::vx::detail::BackendContainerBase<AD5252ChannelConfig, fisch::vx::word_access_type::I2CAD5252RwRegister>
#include <i2c.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::I2CAD5252RwRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::I2CAD5252RwRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<AD5252ChannelConfigPersistent> : public haldls::vx::detail::BackendContainerBase<AD5252ChannelConfigPersistent, fisch::vx::word_access_type::I2CAD5252RwRegister>
#include <i2c.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::I2CAD5252RwRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::I2CAD5252RwRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ADPLL> : public haldls::vx::detail::BackendContainerBase<ADPLL, fisch::vx::word_access_type::JTAGPLLRegister, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <pll.h>

The JTAGPLLRegister backend only provides write functionality, but is safe with respect to changing the ADPLL config.

The OmnibusChipOverJTAG access provides read and write functionality but is unsafe if the omnibus clock is altered and thus reinitializes itself. During reinitialization-time, OmnibusChipOverJTAG requests are dropped.

Public Types

typedef hate::type_list<fisch::vx::word_access_type::JTAGPLLRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::JTAGPLLRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<BackgroundSpikeSource> : public haldls::vx::detail::BackendContainerBase<BackgroundSpikeSource, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <background.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<Barrier> : public haldls::vx::detail::BackendContainerBase<Barrier, fisch::vx::word_access_type::Barrier>
#include <barrier.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Barrier, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Barrier default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<BlockPostPulse> : public haldls::vx::detail::BackendContainerBase<BlockPostPulse, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CADCChannelConfig> : public haldls::vx::detail::BackendContainerBase<CADCChannelConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <cadc.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CADCConfig> : public haldls::vx::detail::BackendContainerBase<CADCConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <cadc.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CADCOffsetSRAMTimingConfig> : public haldls::vx::detail::BackendContainerBase<CADCOffsetSRAMTimingConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <cadc.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CADCSampleQuad> : public haldls::vx::detail::BackendContainerBase<CADCSampleQuad, fisch::vx::word_access_type::Omnibus>
#include <cadc.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<typename Coordinates>
struct haldls::vx::detail::BackendContainerTrait<CapMemBlock<Coordinates>> : public haldls::vx::detail::BackendContainerBase<CapMemBlock<Coordinates>, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <capmem.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<typename Coordinates>
struct haldls::vx::detail::BackendContainerTrait<CapMemBlockConfig<Coordinates>> : public haldls::vx::detail::BackendContainerBase<CapMemBlockConfig<Coordinates>, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <capmem.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<typename Coordinates>
struct haldls::vx::detail::BackendContainerTrait<CapMemCell<Coordinates>> : public haldls::vx::detail::BackendContainerBase<CapMemCell<Coordinates>, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <capmem.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ColumnCorrelationQuad> : public haldls::vx::detail::BackendContainerBase<ColumnCorrelationQuad, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ColumnCurrentQuad> : public haldls::vx::detail::BackendContainerBase<ColumnCurrentQuad, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CommonCorrelationConfig> : public haldls::vx::detail::BackendContainerBase<haldls::vx::CommonCorrelationConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <correlation.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CommonNeuronBackendConfig> : public haldls::vx::detail::BackendContainerBase<CommonNeuronBackendConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CommonPADIBusConfig> : public haldls::vx::detail::BackendContainerBase<CommonPADIBusConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <padi.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CommonPhyConfigChip> : public haldls::vx::detail::BackendContainerBase<CommonPhyConfigChip, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <phy.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::OmnibusChipOverJTAG, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::OmnibusChipOverJTAG default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CommonPhyConfigFPGA> : public haldls::vx::detail::BackendContainerBase<CommonPhyConfigFPGA, fisch::vx::word_access_type::Omnibus>
#include <phy.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CommonSTPConfig> : public haldls::vx::detail::BackendContainerBase<CommonSTPConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <padi.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CommonSynramConfig> : public haldls::vx::detail::BackendContainerBase<CommonSynramConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CorrelationReset> : public haldls::vx::detail::BackendContainerBase<CorrelationReset, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CrossbarInputDropCounter> : public haldls::vx::detail::BackendContainerBase<CrossbarInputDropCounter, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <routing_crossbar.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CrossbarNode> : public haldls::vx::detail::BackendContainerBase<CrossbarNode, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <routing_crossbar.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CrossbarOutputConfig> : public haldls::vx::detail::BackendContainerBase<CrossbarOutputConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <routing_crossbar.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CrossbarOutputEventCounter> : public haldls::vx::detail::BackendContainerBase<CrossbarOutputEventCounter, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <routing_crossbar.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<CurrentDAC> : public haldls::vx::detail::BackendContainerBase<CurrentDAC, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <current_dac.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<DAC6573ChannelConfig> : public haldls::vx::detail::BackendContainerBase<DAC6573ChannelConfig, fisch::vx::word_access_type::I2CDAC6573RwRegister>
#include <i2c.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::I2CDAC6573RwRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::I2CDAC6573RwRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<DACChannel> : public haldls::vx::detail::BackendContainerBase<DACChannel, fisch::vx::word_access_type::SPIDACDataRegister>
#include <spi.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::SPIDACDataRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::SPIDACDataRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<DACControl> : public haldls::vx::detail::BackendContainerBase<DACControl, fisch::vx::word_access_type::SPIDACControlRegister>
#include <spi.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::SPIDACControlRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::SPIDACControlRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<EventRecordingConfig> : public haldls::vx::detail::BackendContainerBase<EventRecordingConfig, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<EventSwitchConfig> : public haldls::vx::detail::BackendContainerBase<EventSwitchConfig, fisch::vx::word_access_type::Omnibus>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<EventSwitchReadout> : public haldls::vx::detail::BackendContainerBase<EventSwitchReadout, fisch::vx::word_access_type::Omnibus>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<EventSwitchSource> : public haldls::vx::detail::BackendContainerBase<EventSwitchSource, fisch::vx::word_access_type::Omnibus>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExternalPPUMemoryByte> : public haldls::vx::detail::BackendContainerBase<ExternalPPUMemoryByte, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExternalPPUMemoryQuad> : public haldls::vx::detail::BackendContainerBase<ExternalPPUMemoryQuad, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollBarrierConfig> : public haldls::vx::detail::BackendContainerBase<ExtollBarrierConfig, fisch::vx::word_access_type::ExtollOnNwNode>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::ExtollOnNwNode, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::ExtollOnNwNode default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollBarrierInterruptInportCounterReset> : public haldls::vx::detail::BackendContainerBase<ExtollBarrierInterruptInportCounterReset, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollBarrierInterruptInportErrorCount> : public haldls::vx::detail::BackendContainerBase<ExtollBarrierInterruptInportErrorCount, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollBarrierReleased> : public haldls::vx::detail::BackendContainerBase<ExtollBarrierReleased, fisch::vx::word_access_type::ExtollOnNwNode>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::ExtollOnNwNode, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::ExtollOnNwNode default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollBarrierTriggerReached> : public haldls::vx::detail::BackendContainerBase<ExtollBarrierTriggerReached, fisch::vx::word_access_type::ExtollOnNwNode>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::ExtollOnNwNode, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::ExtollOnNwNode default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollInterruptConfig> : public haldls::vx::detail::BackendContainerBase<ExtollInterruptConfig, fisch::vx::word_access_type::ExtollOnNwNode>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::ExtollOnNwNode, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::ExtollOnNwNode default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollInterruptControl> : public haldls::vx::detail::BackendContainerBase<ExtollInterruptControl, fisch::vx::word_access_type::ExtollOnNwNode>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::ExtollOnNwNode, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::ExtollOnNwNode default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommBucketCounterReset> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommBucketCounterReset, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommBucketDestinationConfig> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommBucketDestinationConfig, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommBucketNumEvtsRcvd> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommBucketNumEvtsRcvd, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommBucketNumPktsSent> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommBucketNumPktsSent, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommBucketTriggerConfig> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommBucketTriggerConfig, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommDecoderCounterReset> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommDecoderCounterReset, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommDecoderNumEventsReceived> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommDecoderNumEventsReceived, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommRouterConfig> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommRouterConfig, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommRouterCounterReset> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommRouterCounterReset, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommRouterEventLossDisabled> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommRouterEventLossDisabled, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommRouterEventLossMisconf> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommRouterEventLossMisconf, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommRouterEventsRouted> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommRouterEventsRouted, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommRouterLookupConfig> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommRouterLookupConfig, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommTimestampDelayConfig> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommTimestampDelayConfig, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommTimestampDelayCounterReset> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommTimestampDelayCounterReset, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommTimestampDelayEventLossExpired> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommTimestampDelayEventLossExpired, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommTimestampDelayEventLossFull> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommTimestampDelayEventLossFull, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ExtollSpikeCommTimestampDelayNumEventsReceived> : public haldls::vx::detail::BackendContainerBase<ExtollSpikeCommTimestampDelayNumEventsReceived, fisch::vx::word_access_type::Extoll>
#include <extoll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Extoll, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Extoll default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<FPGADeviceDNA> : public haldls::vx::detail::BackendContainerBase<FPGADeviceDNA, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<FPGASystimeSyncActiveState> : public haldls::vx::detail::BackendContainerBase<FPGASystimeSyncActiveState, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<FPGASystimeSyncLastAsicSystime> : public haldls::vx::detail::BackendContainerBase<FPGASystimeSyncLastAsicSystime, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<FPGASystimeSyncLastRTT> : public haldls::vx::detail::BackendContainerBase<FPGASystimeSyncLastRTT, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<FPGASystimeSyncNumRetries> : public haldls::vx::detail::BackendContainerBase<FPGASystimeSyncNumRetries, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<HicannARQStatus> : public haldls::vx::detail::BackendContainerBase<HicannARQStatus, fisch::vx::word_access_type::Omnibus>
#include <arq.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<INA219Config> : public haldls::vx::detail::BackendContainerBase<INA219Config, fisch::vx::word_access_type::I2CINA219RwRegister>
#include <i2c.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::I2CINA219RwRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::I2CINA219RwRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<INA219Status> : public haldls::vx::detail::BackendContainerBase<INA219Status, fisch::vx::word_access_type::I2CINA219RoRegister>
#include <i2c.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::I2CINA219RoRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::I2CINA219RoRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<InstructionTimeoutConfig> : public haldls::vx::detail::BackendContainerBase<InstructionTimeoutConfig, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<JTAGClockScaler> : public haldls::vx::detail::BackendContainerBase<JTAGClockScaler, fisch::vx::word_access_type::JTAGClockScaler>
#include <jtag.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::JTAGClockScaler, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::JTAGClockScaler default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<JTAGIdCode> : public haldls::vx::detail::BackendContainerBase<JTAGIdCode, fisch::vx::word_access_type::JTAGIdCode>
#include <jtag.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::JTAGIdCode, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::JTAGIdCode default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<MADCConfig> : public haldls::vx::detail::BackendContainerBase<MADCConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <madc.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<MADCControl> : public haldls::vx::detail::BackendContainerBase<MADCControl, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <madc.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<typename Coordinates>
struct haldls::vx::detail::BackendContainerTrait<NeuronBackendConfig<Coordinates>> : public haldls::vx::detail::BackendContainerBase<NeuronBackendConfig<Coordinates>, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<NeuronBackendSRAMTimingConfig> : public haldls::vx::detail::BackendContainerBase<NeuronBackendSRAMTimingConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<NeuronReset> : public haldls::vx::detail::BackendContainerBase<NeuronReset, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<NeuronSRAMTimingConfig> : public haldls::vx::detail::BackendContainerBase<NeuronSRAMTimingConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<NullPayloadReadable> : public haldls::vx::detail::BackendContainerBase<NullPayloadReadable, fisch::vx::word_access_type::NullPayloadReadable>
#include <null_payload_readable.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::NullPayloadReadable, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::NullPayloadReadable default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PADIEvent> : public haldls::vx::detail::BackendContainerBase<PADIEvent, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <padi.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PadMultiplexerConfig> : public haldls::vx::detail::BackendContainerBase<PadMultiplexerConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <readout.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PerfTest> : public haldls::vx::detail::BackendContainerBase<PerfTest, fisch::vx::word_access_type::Omnibus>
#include <perftest.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PerfTestStatus> : public haldls::vx::detail::BackendContainerBase<PerfTestStatus, fisch::vx::word_access_type::Omnibus>
#include <perftest.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PhyConfigChip> : public haldls::vx::detail::BackendContainerBase<PhyConfigChip, fisch::vx::word_access_type::JTAGPhyRegister>
#include <phy.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::JTAGPhyRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::JTAGPhyRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PhyConfigFPGA> : public haldls::vx::detail::BackendContainerBase<PhyConfigFPGA, fisch::vx::word_access_type::Omnibus>
#include <phy.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PhyStatus> : public haldls::vx::detail::BackendContainerBase<PhyStatus, fisch::vx::word_access_type::Omnibus>
#include <phy.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PLLSelfTest> : public haldls::vx::detail::BackendContainerBase<PLLSelfTest, fisch::vx::word_access_type::JTAGPLLRegister, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <pll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::JTAGPLLRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::JTAGPLLRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PLLSelfTestStatus> : public haldls::vx::detail::BackendContainerBase<PLLSelfTestStatus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <pll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::OmnibusChipOverJTAG, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::OmnibusChipOverJTAG default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PollingOmnibusBlock> : public haldls::vx::detail::BackendContainerBase<PollingOmnibusBlock, fisch::vx::word_access_type::PollingOmnibusBlock>
#include <block.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::PollingOmnibusBlock, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::PollingOmnibusBlock default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PollingOmnibusBlockConfig> : public haldls::vx::detail::BackendContainerBase<PollingOmnibusBlockConfig, fisch::vx::word_access_type::Omnibus>
#include <block.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PPUControlRegister> : public haldls::vx::detail::BackendContainerBase<PPUControlRegister, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <ppu.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PPUMemory> : public haldls::vx::detail::BackendContainerBase<PPUMemory, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <ppu.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PPUMemoryBlock> : public haldls::vx::detail::BackendContainerBase<PPUMemoryBlock, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <ppu.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PPUMemoryWord> : public haldls::vx::detail::BackendContainerBase<PPUMemoryWord, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <ppu.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<PPUStatusRegister> : public haldls::vx::detail::BackendContainerBase<PPUStatusRegister, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <ppu.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ReadoutSourceSelection> : public haldls::vx::detail::BackendContainerBase<ReadoutSourceSelection, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <readout.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ResetChip> : public haldls::vx::detail::BackendContainerBase<ResetChip, fisch::vx::word_access_type::ResetChip>
#include <reset.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::ResetChip, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::ResetChip default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ResetJTAGTap> : public haldls::vx::detail::BackendContainerBase<ResetJTAGTap, fisch::vx::word_access_type::ResetJTAGTap>
#include <jtag.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::ResetJTAGTap, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::ResetJTAGTap default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<ShiftRegister> : public haldls::vx::detail::BackendContainerBase<ShiftRegister, fisch::vx::word_access_type::SPIShiftRegister>
#include <spi.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::SPIShiftRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::SPIShiftRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SpikeCounterRead> : public haldls::vx::detail::BackendContainerBase<SpikeCounterRead, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SpikeCounterReset> : public haldls::vx::detail::BackendContainerBase<SpikeCounterReset, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SpikeIOConfig> : public haldls::vx::detail::BackendContainerBase<SpikeIOConfig, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SpikeIOInputRoute> : public haldls::vx::detail::BackendContainerBase<SpikeIOInputRoute, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SpikeIOOutputRoute> : public haldls::vx::detail::BackendContainerBase<SpikeIOOutputRoute, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SpikePack1ToChip> : public haldls::vx::detail::BackendContainerBase<SpikePack1ToChip, fisch::vx::word_access_type::SpikePack1ToChip>
#include <event.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::SpikePack1ToChip, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::SpikePack1ToChip default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SpikePack2ToChip> : public haldls::vx::detail::BackendContainerBase<SpikePack2ToChip, fisch::vx::word_access_type::SpikePack2ToChip>
#include <event.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::SpikePack2ToChip, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::SpikePack2ToChip default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SpikePack3ToChip> : public haldls::vx::detail::BackendContainerBase<SpikePack3ToChip, fisch::vx::word_access_type::SpikePack3ToChip>
#include <event.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::SpikePack3ToChip, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::SpikePack3ToChip default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SynapseBiasSelection> : public haldls::vx::detail::BackendContainerBase<SynapseBiasSelection, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SynapseCorrelationCalibQuad> : public haldls::vx::detail::BackendContainerBase<SynapseCorrelationCalibQuad, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SynapseDriverConfig> : public haldls::vx::detail::BackendContainerBase<SynapseDriverConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse_driver.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SynapseDriverSRAMTimingConfig> : public haldls::vx::detail::BackendContainerBase<SynapseDriverSRAMTimingConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse_driver.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SynapseLabelQuad> : public haldls::vx::detail::BackendContainerBase<SynapseLabelQuad, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SynapseQuad> : public haldls::vx::detail::BackendContainerBase<SynapseQuad, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SynapseWeightQuad> : public haldls::vx::detail::BackendContainerBase<SynapseWeightQuad, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <synapse.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SystimeCorrectionBarrierConfig> : public haldls::vx::detail::BackendContainerBase<SystimeCorrectionBarrierConfig, fisch::vx::word_access_type::Omnibus>
#include <fpga.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SystimeSync> : public haldls::vx::detail::BackendContainerBase<SystimeSync, fisch::vx::word_access_type::SystimeSync>
#include <systime.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::SystimeSync, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::SystimeSync default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<SystimeSyncBase> : public haldls::vx::detail::BackendContainerBase<SystimeSyncBase, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <systime.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<TCA9554Config> : public haldls::vx::detail::BackendContainerBase<TCA9554Config, fisch::vx::word_access_type::I2CTCA9554RwRegister>
#include <i2c.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::I2CTCA9554RwRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::I2CTCA9554RwRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<TCA9554Inputs> : public haldls::vx::detail::BackendContainerBase<TCA9554Inputs, fisch::vx::word_access_type::I2CTCA9554RoRegister>
#include <i2c.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::I2CTCA9554RoRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::I2CTCA9554RoRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<Timer> : public haldls::vx::detail::BackendContainerBase<Timer, fisch::vx::word_access_type::Timer>
#include <timer.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Timer, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Timer default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<Timer::Value> : public haldls::vx::detail::BackendContainerBase<Timer::Value, fisch::vx::word_access_type::WaitUntil>
#include <timer.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::WaitUntil, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::WaitUntil default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<v3::NeuronConfig> : public haldls::vx::detail::BackendContainerBase<v3::NeuronConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<v3::NeuronResetQuad> : public haldls::vx::detail::BackendContainerBase<v3::NeuronResetQuad, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <neuron.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<v3::PLLClockOutputBlock> : public haldls::vx::detail::BackendContainerBase<v3::PLLClockOutputBlock, fisch::vx::word_access_type::JTAGPLLRegister, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <pll.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::JTAGPLLRegister, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::JTAGPLLRegister default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<v3::ReferenceGeneratorConfig> : public haldls::vx::detail::BackendContainerBase<v3::ReferenceGeneratorConfig, fisch::vx::word_access_type::Omnibus, fisch::vx::word_access_type::OmnibusChipOverJTAG>
#include <capmem.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<VectorGeneratorControl> : public haldls::vx::detail::BackendContainerBase<VectorGeneratorControl, fisch::vx::word_access_type::Omnibus>
#include <vector_generator.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<VectorGeneratorFIFOWord> : public haldls::vx::detail::BackendContainerBase<VectorGeneratorFIFOWord, fisch::vx::word_access_type::Omnibus>
#include <vector_generator.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<VectorGeneratorLUTEntry> : public haldls::vx::detail::BackendContainerBase<VectorGeneratorLUTEntry, fisch::vx::word_access_type::Omnibus>
#include <vector_generator.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<VectorGeneratorNotificationAddress> : public haldls::vx::detail::BackendContainerBase<VectorGeneratorNotificationAddress, fisch::vx::word_access_type::Omnibus>
#include <vector_generator.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
template<>
struct haldls::vx::detail::BackendContainerTrait<VectorGeneratorTrigger> : public haldls::vx::detail::BackendContainerBase<VectorGeneratorTrigger, fisch::vx::word_access_type::Omnibus>
#include <vector_generator.h>

Public Types

typedef hate::type_list<fisch::vx::word_access_type::Omnibus, AdditionalBackendContainer...> container_list
typedef fisch::vx::word_access_type::Omnibus default_container

Public Static Functions

static inline constexpr bool valid(Backend backend)

Public Static Attributes

static constexpr auto backend_index_lookup_table
static constexpr Backend default_backend
static constexpr std::array<Backend, sizeof...(AdditionalBackendContainer) + 1> valid_backends
class haldls::vx::BackgroundSpikeSource : public haldls::vx::ContainerBase<BackgroundSpikeSource>
#include <background.h>

Background spike source on chip.

Two modes are supported, either regular spiking or binned Poisson spike-train generation. While with the former the emitted NeuronLabel is configurable and stays fixed, with the latter, the lower eight bits of the emitted NeuronLabel can bit-wise be replaced by randomly generated values.

Public Types

typedef EncodableBase<BackgroundSpikeSource, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<BackgroundSpikeSource, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<BackgroundSpikeSource, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<BackgroundSpikeSource, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::BackgroundSpikeSourceOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

BackgroundSpikeSource () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable () const SYMBOL_VISIBLE

Get enable value.

On change of disabled -> enabled the random seed is copied to the random number generator and the period is initialized with the full period which is decremented on every clock cycle. The first spike or bin is therefore reached with a full period delay after the enable change.

Returns

Boolean value

bool get_enable_random () const SYMBOL_VISIBLE

Get enable random spike train generation.

On true, every period a bin evaluation in a binned Poisson generator is performed. In addition the enabled mask bits are randomized on spike ocurrence. On false, every period a spike is emitted leading to a regular spike-train.

Returns

Boolean value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

Mask get_mask () const SYMBOL_VISIBLE

Get neuron label randomization mask.

The value has no effect on regular spike generation.

Returns

Mask

halco::hicann_dls::vx::NeuronLabel get_neuron_label () const SYMBOL_VISIBLE

Get neuron label used for emitted spikes.

On Poisson spike generation, it serves as a base of which the lower eight bits can bit-wise be replaced by random values using the mask.

Returns

NeuronLabel

Period get_period () const SYMBOL_VISIBLE

Get period value.

It represents the ISI for regular spiking and the bin interval for Poisson spike generation.

Returns

Period

Rate get_rate () const SYMBOL_VISIBLE

Get Poisson spike generation rate factor.

The mean ISI is divided by (rate / 255). The value has no effect on regular spike generation.

Returns

Rate

Seed get_seed () const SYMBOL_VISIBLE

Get random seed value.

The value has no effect on regular spike generation.

Returns

Seed

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (BackgroundSpikeSource const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (BackgroundSpikeSource const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable (bool value) SYMBOL_VISIBLE

Set enable value.

On change of disabled -> enabled the random seed is copied to the random number generator and the period is initialized with the full period which is decremented on every clock cycle. The first spike or bin is therefore reached with a full period delay after the enable change.

Parameters

value – Boolean value

void set_enable_random (bool value) SYMBOL_VISIBLE

Set enable random spike train generation.

On true, every period a bin evaluation in a binned Poisson generator is performed. In addition the enabled mask bits are randomized on spike ocurrence. On false, every period a spike is emitted leading to a regular spike-train.

Parameters

value – Boolean value

void set_mask (Mask const &value) SYMBOL_VISIBLE

Set neuron label randomization mask.

The value has no effect on regular spike generation.

Parameters

valueMask

void set_neuron_label (halco::hicann_dls::vx::NeuronLabel const &value) SYMBOL_VISIBLE

Set neuron label used for emitted spikes.

On Poisson spike generation, it serves as a base of which the lower eight bits can bit-wise be replaced by random values using the mask.

Parameters

value – NeuronLabel

void set_period (Period const &value) SYMBOL_VISIBLE

Set period value.

It represents the ISI for regular spiking and the bin interval for Poisson spike generation.

Parameters

valuePeriod

void set_rate (Rate const &value) SYMBOL_VISIBLE

Set Poisson spike generation rate factor.

The mean ISI is divided by (rate / 255). The value has no effect on regular spike generation.

Parameters

valueRate

void set_seed (Seed const &value) SYMBOL_VISIBLE

Set random seed value.

The value has no effect on regular spike generation.

Parameters

valueSeed

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 3
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::hardware, hxcomm::vx::Target::simulation}

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, BackgroundSpikeSource &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable
bool m_enable_random
Mask m_mask
halco::hicann_dls::vx::NeuronLabel m_neuron_label
Period m_period
Rate m_rate
Seed m_seed

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, BackgroundSpikeSource const &config) SYMBOL_VISIBLE
class haldls::vx::Barrier : public haldls::vx::BlockUntilBase<Barrier>
#include <barrier.h>

Public Types

typedef Encodable::BackendCocoListVariant BackendCocoListVariant
typedef Encodable::BackendContainerListVariant BackendContainerListVariant
typedef Encodable::BackendCoordinateListVariant BackendCoordinateListVariant
typedef Encodable::Coordinate Coordinate
typedef halco::hicann_dls::vx::BarrierOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

Barrier () SYMBOL_VISIBLE
virtual std::unique_ptr< BlockUntil > clone_block_until () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

std::array< fisch::vx::word_access_type::Barrier, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_jtag () const SYMBOL_VISIBLE
bool get_enable_multi_fpga () const SYMBOL_VISIBLE
bool get_enable_omnibus () const SYMBOL_VISIBLE
bool get_enable_systime () const SYMBOL_VISIBLE
bool get_enable_systime_correction () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (Barrier const &other) const SYMBOL_VISIBLE
virtual bool operator!= (BlockUntil const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (Barrier const &other) const SYMBOL_VISIBLE
virtual bool operator== (BlockUntil const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_jtag (bool value) SYMBOL_VISIBLE
void set_enable_multi_fpga (bool value) SYMBOL_VISIBLE
void set_enable_omnibus (bool value) SYMBOL_VISIBLE
void set_enable_systime (bool value) SYMBOL_VISIBLE
void set_enable_systime_correction (bool value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::BarrierOnFPGA, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static SYMBOL_VISIBLE const Barrier jtag
static SYMBOL_VISIBLE const Barrier multi_fpga
static SYMBOL_VISIBLE const Barrier omnibus
static SYMBOL_VISIBLE const Barrier systime
static SYMBOL_VISIBLE const Barrier systime_correction
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, Barrier &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable_jtag
bool m_enable_multi_fpga
bool m_enable_omnibus
bool m_enable_systime
bool m_enable_systime_correction

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, Barrier const &config) SYMBOL_VISIBLE
class haldls::vx::BlockPostPulse : public haldls::vx::ContainerBase<BlockPostPulse>
#include <neuron.h>

Container to send post pulses to one half of the neurons (left/right).

Enable post_overwrite in the neurons to forward the pulse into the synapse array. The timing this pulse arrives may not be precise, it may vary between neurons in the block.

Public Types

typedef EncodableBase<BlockPostPulse, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<BlockPostPulse, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<BlockPostPulse, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<BlockPostPulse, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::BlockPostPulseOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

BlockPostPulse () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (BlockPostPulse const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (BlockPostPulse const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &block) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &block) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, BlockPostPulse &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, BlockPostPulse const &config) SYMBOL_VISIBLE
struct haldls::vx::BlockUntil : public haldls::vx::Encodable
#include <block_until.h>

BlockUntil base class to use for polymorphism in en-/decoding.

Subclassed by haldls::vx::EncodableBase< Barrier, BlockUntil >, haldls::vx::EncodableBase< Derived, BlockUntil >, haldls::vx::EncodableBase< PollingOmnibusBlock, BlockUntil >

Public Types

std::variant<#define PLAYBACK_CONTAINER(Name, Type) #define LAST_PLAYBACK_CONTAINER(Name, Type) > BackendCocoListVariant
std::variant<#define PLAYBACK_CONTAINER(Name, Type) #define LAST_PLAYBACK_CONTAINER(Name, Type) > BackendContainerListVariant
std::variant<#define PLAYBACK_CONTAINER(Name, Type) #define LAST_PLAYBACK_CONTAINER(Name, Type) > BackendCoordinateListVariant
typedef halco::common::Coordinate Coordinate

Public Functions

virtual ~BlockUntil() = 0
virtual std::unique_ptr<BlockUntil> clone_block_until() const = 0

Clone container data.

virtual std::unique_ptr<Encodable> clone_encodable() const = 0

Clone data.

virtual BackendCocoListVariant encode_write(Coordinate const &coordinate, std::optional<Backend> const &backend) const = 0

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend(Backend backend) const = 0

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write() const = 0

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list<hxcomm::vx::Target> get_unsupported_write_targets() const = 0

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!=(BlockUntil const &other) const = 0
virtual bool operator!=(Encodable const &other) const = 0
virtual bool operator==(BlockUntil const &other) const = 0
virtual bool operator==(Encodable const &other) const = 0
virtual std::ostream &print(std::ostream &os) const = 0

Print to ostream.

Friends

friend std::ostream & operator<< (std::ostream &os, BlockUntil const &block_until) SYMBOL_VISIBLE

Ostream operator.

template<typename Derived, typename Base = BlockUntil>
struct haldls::vx::BlockUntilBase : public haldls::vx::EncodableBase<Derived, BlockUntil>
#include <block_until.h>

BlockUntil base class implementing encode_{read,write}, decode_read via CRTP.

tparam Derived

Derived class type

tparam Base

Base class type of which to generate a derived class. Needed in order to forward to EncodableBase because inheritance aside the Encodable (which would be base of EncodableBase) leads to non-linear inheritance tree and problems with association of implemented interface.

Public Types

typedef Encodable::BackendCocoListVariant BackendCocoListVariant
typedef Encodable::BackendContainerListVariant BackendContainerListVariant
typedef Encodable::BackendCoordinateListVariant BackendCoordinateListVariant
typedef Encodable::Coordinate Coordinate

Public Functions

virtual std::unique_ptr< BlockUntil > clone_block_until () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (BlockUntil const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (BlockUntil const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

struct haldls::vx::CapMemBlockConfig::BoostA : public halco::common::detail::RantWrapper<BoostA, uint_fast16_t, 65535, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<BoostA, uint_fast16_t, 65535, 0>::rant_t rant_t

Public Functions

inline explicit constexpr BoostA()
inline explicit constexpr BoostA(uintmax_t const val)
struct haldls::vx::CapMemBlockConfig::BoostB : public halco::common::detail::RantWrapper<BoostB, uint_fast16_t, 65535, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<BoostB, uint_fast16_t, 65535, 0>::rant_t rant_t

Public Functions

inline explicit constexpr BoostB()
inline explicit constexpr BoostB(uintmax_t const val)
struct haldls::vx::CapMemBlockConfig::BoostFactor : public halco::common::detail::RantWrapper<BoostFactor, uint_fast16_t, 15, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<BoostFactor, uint_fast16_t, 15, 0>::rant_t rant_t

Public Functions

inline explicit constexpr BoostFactor()
inline explicit constexpr BoostFactor(uintmax_t const val)
struct haldls::vx::ExtollSpikeCommRouterLookupConfig::BucketID : public halco::common::detail::RantWrapper<BucketID, uint8_t, 0x7, 0>
#include <extoll.h>

Represents the Bucket-ID to use for the respective spike-label.

Public Functions

inline explicit constexpr BucketID(uintmax_t const val = 0)
struct haldls::vx::INA219Status::BusVoltage : public halco::common::detail::RantWrapper<BusVoltage, uint_fast16_t, 4000, 0>
#include <i2c.h>

Bus voltage with linear conversion and LSB = 4mV.

Public Functions

inline explicit constexpr BusVoltage(uintmax_t const val = 0)
float toUncalibratedVoltage () const SYMBOL_VISIBLE

Convert to uncalibrated voltage [V] (i.e.

ideal conversion).

class haldls::vx::CADCChannelConfig : public haldls::vx::ContainerBase<CADCChannelConfig>
#include <cadc.h>

CADC container with channel-local digital offset config.

Public Types

typedef EncodableBase<CADCChannelConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CADCChannelConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CADCChannelConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CADCChannelConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CADCChannelConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CADCChannelConfig()

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

Offset get_offset() const

Get Offset value.

Returns

Offset value

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!=(CADCChannelConfig const &other) const
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator==(CADCChannelConfig const &other) const
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_offset(Offset value)

Set Offset value.

Parameters

valueOffset value

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &word)

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::hardware}

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, CADCChannelConfig &value, std::uint32_t const version)

Private Members

Offset m_offset

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CADCChannelConfig const &config) SYMBOL_VISIBLE
class haldls::vx::CADCConfig : public haldls::vx::ContainerBase<CADCConfig>
#include <cadc.h>

CADC container with global digital config for a vertical half.

Public Types

typedef EncodableBase<CADCConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CADCConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CADCConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CADCConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CADCConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CADCConfig () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

DeadTime get_dead_time () const SYMBOL_VISIBLE

Get DeadTime value common for both CADC in a vertical half.

Returns

DeadTime value

bool get_enable () const SYMBOL_VISIBLE

Get enable value for the CADC.

Returns

Boolean value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ResetWait get_reset_wait () const SYMBOL_VISIBLE

Get ResetWait value common for both CADC in a vertical half.

Returns

ResetWait value

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (CADCConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (CADCConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_dead_time (DeadTime value) SYMBOL_VISIBLE

Set DeadTime value common for both CADC in a vertical half.

Parameters

valueDeadTime value

void set_enable (bool value) SYMBOL_VISIBLE

Set enable value for the CADC.

Parameters

value – Boolean value

void set_reset_wait (ResetWait value) SYMBOL_VISIBLE

Set ResetWait value common for both CADC in a vertical half.

Parameters

valueResetWait value

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Protected Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, CADCConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Protected Attributes

DeadTime m_dead_time
bool m_enable
ResetWait m_reset_wait

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CADCConfig const &config) SYMBOL_VISIBLE
class haldls::vx::CADCOffsetSRAMTimingConfig : public haldls::vx::detail::SRAMTimingConfig, public haldls::vx::ContainerBase<CADCOffsetSRAMTimingConfig>
#include <cadc.h>

Public Types

typedef EncodableBase<CADCOffsetSRAMTimingConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CADCOffsetSRAMTimingConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CADCOffsetSRAMTimingConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CADCOffsetSRAMTimingConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CADCOffsetSRAMTimingConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

AddressSetupTime get_address_setup_time () const SYMBOL_VISIBLE
EnableWidth get_enable_width () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ReadDelay get_read_delay () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (CADCOffsetSRAMTimingConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
bool operator== (CADCOffsetSRAMTimingConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_address_setup_time (AddressSetupTime value) SYMBOL_VISIBLE
void set_enable_width (EnableWidth value) SYMBOL_VISIBLE
void set_read_delay (ReadDelay value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, CADCOffsetSRAMTimingConfig &value, std::uint32_t)

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CADCOffsetSRAMTimingConfig const &config) SYMBOL_VISIBLE
class haldls::vx::CADCSampleQuad : public haldls::vx::ContainerBase<CADCSampleQuad>
#include <cadc.h>

CADC container of four CADC samples.

Public Types

typedef EncodableBase<CADCSampleQuad, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CADCSampleQuad, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CADCSampleQuad, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CADCSampleQuad, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CADCSampleQuadOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CADCSampleQuad () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

Value get_sample (halco::hicann_dls::vx::EntryOnQuad const &coord) const SYMBOL_VISIBLE

Get sample value.

Parameters

coord – Sample on quad coordinate

Returns

Value value

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (CADCSampleQuad const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (CADCSampleQuad const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_sample (halco::hicann_dls::vx::EntryOnQuad const &coord, Value value) SYMBOL_VISIBLE

Set sample value.

Parameters
  • coord – Sample on quad coordinate

  • valueValue value

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Protected Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, CADCSampleQuad &value, std::uint32_t const version) SYMBOL_VISIBLE

Protected Attributes

halco::common::typed_array<Value, halco::hicann_dls::vx::EntryOnQuad> m_samples

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CADCSampleQuad const &config) SYMBOL_VISIBLE
struct haldls::vx::MADCConfig::CalibrationWaitValue : public halco::common::detail::RantWrapper<CalibrationWaitValue, uint_fast16_t, 1023, 0>
#include <madc.h>

Public Functions

inline explicit constexpr CalibrationWaitValue (uintmax_t const val=0) SYMBOL_VISIBLE
struct ReferenceGeneratorConfig::CapMemAmplifier : public halco::common::detail::RantWrapper<CapMemAmplifier, uint_fast8_t, 63, 0>
#include <capmem.h>

Public Functions

inline explicit constexpr CapMemAmplifier(uintmax_t const val = 40)
template<typename Coordinates>
class haldls::vx::CapMemBlock : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<CapMemBlock<Coordinates>>
#include <capmem.h>

Public Types

typedef EncodableBase<CapMemBlock<Coordinates>, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CapMemBlock<Coordinates>, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CapMemBlock<Coordinates>, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CapMemBlock<Coordinates>, Container>::Coordinate Coordinate
typedef Coordinates::CapMemBlockOnDLS coordinate_type
typedef std::false_type has_local_data

Public Functions

CapMemBlock()
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

CapMemCell<Coordinates>::value_type get_cell(typename Coordinates::CapMemCellOnCapMemBlock const &cell) const
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!=(CapMemBlock const &other) const
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator==(CapMemBlock const &other) const
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_cell(typename Coordinates::CapMemCellOnCapMemBlock const &cell, typename CapMemCell<Coordinates>::value_type const &value)

Private Functions

template<class Archive, typename T>
friend void serialize(Archive &ar, CapMemBlock<T> &value, std::uint32_t const version)

Private Members

halco::common::typed_heap_array<CapMemCell<Coordinates>, typename Coordinates::CapMemCellOnCapMemBlock> m_capmem_cells

Friends

friend struct cereal::access
inline friend std::ostream &operator<<(std::ostream &os, CapMemBlock<Coordinates> const &block)
template<typename Coordinates>
class haldls::vx::CapMemBlockConfig : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<CapMemBlockConfig<Coordinates>>
#include <capmem.h>

Public Types

typedef EncodableBase<CapMemBlockConfig<Coordinates>, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CapMemBlockConfig<Coordinates>, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CapMemBlockConfig<Coordinates>, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CapMemBlockConfig<Coordinates>, Container>::Coordinate Coordinate
typedef Coordinates::CapMemBlockConfigOnDLS coordinate_type
typedef CapMemBlockConfigIOutSelect IOutSelect
typedef std::true_type is_leaf_node
typedef CapMemBlockConfigVRefSelect VRefSelect

Public Functions

CapMemBlockConfig()
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

BoostA get_boost_a() const
BoostB get_boost_b() const
BoostFactor get_boost_factor() const
CurrentCellRes get_current_cell_res() const
Coordinates::CapMemCellOnCapMemBlock get_debug_capmem_coord() const
IOutSelect get_debug_i_out_select() const
LevelShifterBias get_debug_level_shifter_bias() const
OutAmpBias get_debug_out_amp_bias() const
bool get_debug_readout_enable() const
SourceFollowerBias get_debug_source_follower_bias() const
VRefSelect get_debug_v_ref_select() const
bool get_enable_autoboost() const
bool get_enable_boost() const
bool get_enable_capmem() const
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

PauseCounter get_pause_counter() const
PrescalePause get_prescale_pause() const
PrescaleRamp get_prescale_ramp() const
PulseA get_pulse_a() const
PulseB get_pulse_b() const
SubCounter get_sub_counter() const
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

VGlobalBias get_v_global_bias() const
bool operator!=(CapMemBlockConfig const &other) const
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator==(CapMemBlockConfig const &other) const
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_boost_a(BoostA const &value)
void set_boost_b(BoostB const &value)
void set_boost_factor(BoostFactor const &value)
void set_current_cell_res(CurrentCellRes const &value)
void set_debug_capmem_coord(typename Coordinates::CapMemCellOnCapMemBlock const &value)
void set_debug_i_out_select(IOutSelect const &value)
void set_debug_level_shifter_bias(LevelShifterBias const &value)
void set_debug_out_amp_bias(OutAmpBias const &value)
void set_debug_readout_enable(bool const value)
void set_debug_source_follower_bias(SourceFollowerBias const &value)
void set_debug_v_ref_select(VRefSelect const &value)
void set_enable_autoboost(bool const value)
void set_enable_boost(bool const value)
void set_enable_capmem(bool const value)
void set_pause_counter(PauseCounter const &value)
void set_prescale_pause(PrescalePause const &value)
void set_prescale_ramp(PrescaleRamp const &value)
void set_pulse_a(PulseA const &value)
void set_pulse_b(PulseB const &value)
void set_sub_counter(SubCounter const &value)
void set_v_global_bias(VGlobalBias const &value)

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &coord)

Public Static Attributes

static size_t constexpr config_size_in_words = 10
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::hardware}

Private Functions

template<class Archive, typename T>
friend void serialize(Archive &ar, CapMemBlockConfig<T> &value, std::uint32_t const version)

Private Members

BoostA m_boost_a
BoostB m_boost_b
BoostFactor m_boost_factor
CurrentCellRes m_current_cell_res
Coordinates::CapMemCellOnCapMemBlock m_debug_capmem_coord
IOutSelect m_debug_i_out_select
LevelShifterBias m_debug_level_shifter_bias
OutAmpBias m_debug_out_amp_bias
bool m_debug_readout_enable
SourceFollowerBias m_debug_source_follower_bias
VRefSelect m_debug_v_ref_select
bool m_enable_autoboost
bool m_enable_boost
bool m_enable_capmem
PauseCounter m_pause_counter
PrescalePause m_prescale_pause
PrescaleRamp m_prescale_ramp
PulseA m_pulse_a
PulseB m_pulse_b
SubCounter m_sub_counter
VGlobalBias m_v_global_bias

Friends

inline friend std::ostream &operator<<(std::ostream &os, CapMemBlockConfig<Coordinates> const &config)
template<typename Coordinates>
class haldls::vx::CapMemCell : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<CapMemCell<Coordinates>>
#include <capmem.h>

Public Types

typedef EncodableBase<CapMemCell<Coordinates>, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CapMemCell<Coordinates>, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CapMemCell<Coordinates>, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CapMemCell<Coordinates>, Container>::Coordinate Coordinate
typedef Coordinates::CapMemCellOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef std::variant<Value, DisableRefresh> value_type

Public Functions

inline explicit CapMemCell(value_type const &value = Value())
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

value_type get_value() const
bool operator!=(CapMemCell const &other) const
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator==(CapMemCell const &other) const
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value(value_type const &value)

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &cell)

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<class Archive, typename T>
friend void serialize(Archive &ar, CapMemCell<T> &value, std::uint32_t const version)

Private Members

value_type m_value

Friends

inline friend std::ostream &operator<<(std::ostream &os, CapMemCell const &cell)
struct ReferenceGeneratorConfig::CapMemOffset : public halco::common::detail::RantWrapper<CapMemOffset, uint_fast8_t, 63, 0>
#include <capmem.h>

Public Functions

inline explicit constexpr CapMemOffset(uintmax_t const val = 1)
struct ReferenceGeneratorConfig::CapMemSlope : public halco::common::detail::RantWrapper<CapMemSlope, uint_fast8_t, 63, 0>
#include <capmem.h>

Public Functions

inline explicit constexpr CapMemSlope(uintmax_t const val = 11)
struct haldls::vx::PLLSelfTest::CheckRange : public halco::common::detail::RantWrapper<CheckRange, uint_fast16_t, 15, 0>
#include <pll.h>

Acceptance range for the internal counter compared to the expected counter.

Decides to let the test PASS or FAIL.

Public Functions

inline explicit constexpr CheckRange(uintmax_t const val = 0)
struct haldls::vx::PLLSelfTest::CheckValue : public halco::common::detail::RantWrapper<CheckValue, uint_fast16_t, 1048575, 0>
#include <pll.h>

Expected counter value within the 2^(p + 2) reference cycles.

counter_value = (f_clk / f ref) * 2^(p + 2)

Public Functions

inline explicit constexpr CheckValue(uintmax_t const val = 0)
struct haldls::vx::ExtollBarrierConfig::ClientCount : public halco::common::detail::RantWrapper<ClientCount, uint8_t, 0xf, 0>
#include <extoll.h>

Delay Value for Delay and Measure-Counter.

Public Functions

inline explicit constexpr ClientCount(uintmax_t const val = 0)
class haldls::vx::v3::PLLClockOutputBlock::ClockOutput
#include <pll.h>

Public Functions

ClockOutput () SYMBOL_VISIBLE

Default construct PLL clock output.

bool get_enable_bypass () const SYMBOL_VISIBLE

Get whether the output is set to bypass mode.

If enabled, the FPGA clock is passed through to the output.

Returns

Boolean value

bool get_enable_output () const SYMBOL_VISIBLE

Get whether output is enabled.

Returns

Boolean value

halco::hicann_dls::vx::ADPLLOnDLS get_select_adpll () const SYMBOL_VISIBLE

Get coordinate of selected ADPLL to route to output.

Returns

coord Coordinate of ADPLL to select

ADPLL::Output get_select_adpll_output () const SYMBOL_VISIBLE

Get which output of selected ADPLL to route to output.

Returns

ADPLL output

bool operator!= (ClockOutput const &other) const SYMBOL_VISIBLE
bool operator== (ClockOutput const &other) const SYMBOL_VISIBLE
void set_enable_bypass (bool value) SYMBOL_VISIBLE

Set enable value of the bypass mode.

If enabled, the FPGA clock is passed through to the output.

Parameters

value – Boolean value to set

void set_enable_output (bool value) SYMBOL_VISIBLE

Set enable value of output.

Parameters

value – Boolean value to set

void set_select_adpll (halco::hicann_dls::vx::ADPLLOnDLS const &coord) SYMBOL_VISIBLE

Set select which ADPLL to route to output.

Parameters

coord – Coordinate of ADPLL to select

void set_select_adpll_output (ADPLL::Output const value) SYMBOL_VISIBLE

Set which output of selected ADPLL to route to output.

Parameters

valueADPLL output

Private Functions

template<typename Archive>
void serialize(Archive &ar, std::uint32_t const version)

Private Members

halco::hicann_dls::vx::ADPLLOnDLS m_adpll
ADPLL::Output m_adpll_output
bool m_enable_bypass
bool m_enable_output

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, ClockOutput const &config) SYMBOL_VISIBLE
struct haldls::vx::CommonNeuronBackendConfig::ClockScale : public halco::common::detail::RantWrapper<ClockScale, uint_fast8_t, 15, 0>
#include <neuron.h>

The ClockScale determines the range of the clock and at its precision It’s an exponential power-of-two clock scaling factor: For a given reference clock of f_clk = 250MHz, the resulting frequency is f_clk / (2 ^ (clock_scale + 1)).

This enables clock frequencies from 125MHz (clock_scale = 0) to ~4kHz (clock_scale = 15) See documentation and implementation of RefractoryTime for more background information.

Public Functions

inline explicit constexpr ClockScale(uintmax_t const val = 0)
class haldls::vx::ColumnCorrelationQuad : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<ColumnCorrelationQuad>
#include <synapse.h>

Public Types

typedef EncodableBase<ColumnCorrelationQuad, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ColumnCorrelationQuad, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ColumnCorrelationQuad, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ColumnCorrelationQuad, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ColumnCorrelationQuadOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ColumnCorrelationQuad () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

ColumnCorrelationSwitch get_switch (halco::hicann_dls::vx::EntryOnQuad const &correlation_switch) const SYMBOL_VISIBLE
virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (ColumnCorrelationQuad const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ColumnCorrelationQuad const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_switch (halco::hicann_dls::vx::EntryOnQuad const &correlation_switch, ColumnCorrelationSwitch const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &block)

Public Static Attributes

static size_t constexpr config_size_in_words = 4

Private Functions

template<class Archive>
friend void serialize(Archive &ar, ColumnCorrelationQuad &value, std::uint32_t const version)

Private Members

halco::common::typed_array<ColumnCorrelationSwitch, halco::hicann_dls::vx::EntryOnQuad> m_switches

Friends

friend struct cereal::access
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::ColumnCorrelationRow >
friend std::ostream & operator<< (std::ostream &, ColumnCorrelationQuad const &) SYMBOL_VISIBLE
struct haldls::vx::ColumnCorrelationQuad::ColumnCorrelationSwitch
#include <synapse.h>

Public Functions

ColumnCorrelationSwitch () SYMBOL_VISIBLE

Default constructor.

bool get_enable_cadc_neuron_readout_acausal () const SYMBOL_VISIBLE

Get enable value for connecting the neuron’s readout circuit to the respective acausal CADC channel.

Keep in mind that the neuron’s readout amplifier must be enabled and biased, but the neuron must not be connected to the readout chain via the collective lines. Otherwise the neurons will be shorted.

Returns

Boolean enable value

bool get_enable_cadc_neuron_readout_causal () const SYMBOL_VISIBLE

Get enable value for connecting the neuron’s readout circuit to the respective causal CADC channel.

Keep in mind that the neuron’s readout amplifier must be enabled and biased, but the neuron must not be connected to the readout chain via the collective lines. Otherwise the neurons will be shorted.

Returns

Boolean enable value

bool get_enable_debug_acausal () const SYMBOL_VISIBLE

Get enable value for connecting acausal correlation to shared debug line.

Returns

Boolean enable value

bool get_enable_debug_causal () const SYMBOL_VISIBLE

Get enable value for connecting causal correlation to shared debug line.

Returns

Boolean enable value

bool get_enable_internal_acausal () const SYMBOL_VISIBLE

Get enable value for the connection between the internal acausal line and the CADC channel.

Returns

Boolean enable value

bool get_enable_internal_causal () const SYMBOL_VISIBLE

Get enable value for the connection between the internal causal line and the CADC channel.

Returns

Boolean enable value

bool operator!= (ColumnCorrelationSwitch const &other) const SYMBOL_VISIBLE
bool operator== (ColumnCorrelationSwitch const &other) const SYMBOL_VISIBLE
void set_enable_cadc_neuron_readout_acausal (bool value) SYMBOL_VISIBLE

Set enable value for connecting the neuron’s readout circuit to the respective acausal CADC channel.

Keep in mind that the neuron’s readout amplifier must be enabled and biased, but the neuron must not be connected to the readout chain via the collective lines. Otherwise the neurons will be shorted.

Parameters

value – Boolean enable value

void set_enable_cadc_neuron_readout_causal (bool value) SYMBOL_VISIBLE

Set enable value for connecting the neuron’s readout circuit to the respective causal CADC channel.

Keep in mind that the neuron’s readout amplifier must be enabled and biased, but the neuron must not be connected to the readout chain via the collective lines. Otherwise the neurons will be shorted.

Parameters

value – Boolean enable value

void set_enable_debug_acausal (bool value) SYMBOL_VISIBLE

Set enable value for connecting acausal correlation to shared debug line.

Parameters

value – Boolean enable value

void set_enable_debug_causal (bool value) SYMBOL_VISIBLE

Set enable value for connecting causal correlation to shared debug line.

Parameters

value – Boolean enable value

void set_enable_internal_acausal (bool value) SYMBOL_VISIBLE

Set enable value for the connection between the internal acausal line and the CADC channel.

Parameters

value – Boolean enable value

void set_enable_internal_causal (bool value) SYMBOL_VISIBLE

Set enable value for the connection between the internal causal line and the CADC channel.

Parameters

value – Boolean enable value

Private Functions

template<class Archive>
void serialize(Archive &ar, std::uint32_t const version)

Private Members

bool m_enable_cadc_neuron_readout_acausal
bool m_enable_cadc_neuron_readout_causal
bool m_enable_debug_acausal
bool m_enable_debug_causal
bool m_enable_internal_acausal
bool m_enable_internal_causal

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, ColumnCorrelationSwitch const &config) SYMBOL_VISIBLE
class haldls::vx::ColumnCurrentQuad : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<ColumnCurrentQuad>
#include <synapse.h>

Public Types

typedef EncodableBase<ColumnCurrentQuad, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ColumnCurrentQuad, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ColumnCurrentQuad, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ColumnCurrentQuad, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ColumnCurrentQuadOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ColumnCurrentQuad () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

ColumnCurrentSwitch get_switch (halco::hicann_dls::vx::EntryOnQuad const &current_switch) const SYMBOL_VISIBLE
virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (ColumnCurrentQuad const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ColumnCurrentQuad const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_switch (halco::hicann_dls::vx::EntryOnQuad const &current_switch, ColumnCurrentSwitch const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &block)

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<class Archive>
friend void serialize(Archive &ar, ColumnCurrentQuad &value, std::uint32_t const version)

Private Members

halco::common::typed_array<ColumnCurrentSwitch, halco::hicann_dls::vx::EntryOnQuad> m_switches

Friends

friend struct cereal::access
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::ColumnCurrentRow >
friend std::ostream & operator<< (std::ostream &os, ColumnCurrentQuad const &config) SYMBOL_VISIBLE
struct haldls::vx::ColumnCurrentQuad::ColumnCurrentSwitch
#include <synapse.h>

Public Functions

ColumnCurrentSwitch () SYMBOL_VISIBLE

Default constructor.

bool get_enable_debug_excitatory () const SYMBOL_VISIBLE

Get enable value for column-global excitatory synaptic current debug-line readout.

In case the neuron’s synaptic input circuit is disconnected, the current pulses originating from the synapse circuits can be read out. Note that current measuring equipment (i. e. source meter) is needed for this measurement. Also note that the readout line is shared amongst multiple synapse columns. Enabling the readout switch will short the synaptic columns, which is however non-destructive.

Returns

Boolean enable value

bool get_enable_debug_inhibitory () const SYMBOL_VISIBLE

Get enable value for column-global inhibitory synaptic current debug-line readout.

In case the neuron’s synaptic input circuit is disconnected, the current pulses originating from the synapse circuits can be read out. Note that current measuring equipment (i. e. source meter) is needed for this measurement. Also note that the readout line is shared amongst multiple synapse columns. Enabling the readout switch will short the synaptic columns, which is however non-destructive.

Returns

Boolean enable value

bool get_enable_synaptic_current_excitatory () const SYMBOL_VISIBLE

Get enable value for forwarding the excitatory synaptic currents of a whole column to the respective neuron’s synaptic input.

Returns

Boolean enable value

bool get_enable_synaptic_current_inhibitory () const SYMBOL_VISIBLE

Get enable value for forwarding the inhibitory synaptic currents of a whole column to the respective neuron’s synaptic input.

Returns

Boolean enable value

bool operator!= (ColumnCurrentSwitch const &other) const SYMBOL_VISIBLE
bool operator== (ColumnCurrentSwitch const &other) const SYMBOL_VISIBLE
void set_enable_debug_excitatory (bool value) SYMBOL_VISIBLE

Set enable value for column-global excitatory synaptic current debug-line readout.

In case the neuron’s synaptic input circuit is disconnected, the current pulses originating from the synapse circuits can be read out. Note that current measuring equipment (i. e. source meter) is needed for this measurement. Also note that the readout line is shared amongst multiple synapse columns. Enabling the readout switch will short the synaptic columns, which is however non-destructive.

Parameters

value – Boolean enable value

void set_enable_debug_inhibitory (bool value) SYMBOL_VISIBLE

Set enable value for column-global inhibitory synaptic current debug-line readout.

In case the neuron’s synaptic input circuit is disconnected, the current pulses originating from the synapse circuits can be read out. Note that current measuring equipment (i. e. source meter) is needed for this measurement. Also note that the readout line is shared amongst multiple synapse columns. Enabling the readout switch will short the synaptic columns, which is however non-destructive.

Parameters

value – Boolean enable value

void set_enable_synaptic_current_excitatory (bool value) SYMBOL_VISIBLE

Set enable value for forwarding the excitatory synaptic currents of a whole column to the respective neuron’s synaptic input.

Parameters

value – Boolean enable value

void set_enable_synaptic_current_inhibitory (bool value) SYMBOL_VISIBLE

Set enable value for forwarding the inhibitory synaptic currents of a whole column to the respective neuron’s synaptic input.

Parameters

value – Boolean enable value

Private Functions

template<class Archive>
void serialize(Archive &ar, std::uint32_t const version)

Private Members

bool m_enable_debug_excitatory
bool m_enable_debug_inhibitory
bool m_enable_synaptic_current_excitatory
bool m_enable_synaptic_current_inhibitory

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &, ColumnCurrentSwitch const &) SYMBOL_VISIBLE
class haldls::vx::CommonCorrelationConfig : public haldls::vx::ContainerBase<CommonCorrelationConfig>
#include <correlation.h>

Correlation reset and readout timing configuration container.

Public Types

typedef EncodableBase<CommonCorrelationConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CommonCorrelationConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CommonCorrelationConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CommonCorrelationConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CommonCorrelationConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef halco::common::typed_array<halco::hicann_dls::vx::CapMemBlockOnHemisphere, halco::hicann_dls::vx::CapMemBlockOnHemisphere> RampOffsets

Define the source of the CADC ramp offset voltages.

enum ResetMode

Switch between normal and auto-calibrating correlation reset.

Values:

enumerator normal
enumerator auto_calibrating

Public Functions

CommonCorrelationConfig () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ResetDuration get_reset_duration () const SYMBOL_VISIBLE

Duration of correlation reset for synapses (+3 ppu clock cycles).

Determines how long the measurement capacitor is connected to the reset voltage.

ResetFallTime get_reset_fall_time () const SYMBOL_VISIBLE

Wait time in PPU clock cycles after disabling the correlation column reset enable.

ResetMode get_reset_mode () const SYMBOL_VISIBLE

Reset mode for correlation storage capacitors.

Defaults to normal mode.

SenseDelay get_sense_delay () const SYMBOL_VISIBLE

Wait time in PPU clock cycles between connecting the outputs of a synapse to the CADC inputs and starting the CADC read.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (CommonCorrelationConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (CommonCorrelationConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference)) RampOffsets const &get_cadc_v_offset_assignment() const SYMBOL_VISIBLE
void set_cadc_v_offset_assignment (RampOffsets const &value) SYMBOL_VISIBLE
void set_reset_duration (ResetDuration value) SYMBOL_VISIBLE
void set_reset_fall_time (ResetFallTime value) SYMBOL_VISIBLE
void set_reset_mode (ResetMode value) SYMBOL_VISIBLE
void set_sense_delay (SenseDelay value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 4

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, CommonCorrelationConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

RampOffsets m_cadc_v_offset_assignment
ResetDuration m_reset_duration
ResetFallTime m_reset_fall_time
ResetMode m_reset_mode
SenseDelay m_sense_delay

Friends

friend std::ostream & operator<< (std::ostream &os, CommonCorrelationConfig const &config) SYMBOL_VISIBLE
class haldls::vx::CommonNeuronBackendConfig : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<CommonNeuronBackendConfig>
#include <neuron.h>

Read/write access to common neuron parameters.

Public Types

typedef EncodableBase<CommonNeuronBackendConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CommonNeuronBackendConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CommonNeuronBackendConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CommonNeuronBackendConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CommonNeuronBackendConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CommonNeuronBackendConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

ClockScale get_clock_scale_adaptation_pulse () const SYMBOL_VISIBLE
ClockScale get_clock_scale_fast () const SYMBOL_VISIBLE
ClockScale get_clock_scale_post_pulse () const SYMBOL_VISIBLE
ClockScale get_clock_scale_slow () const SYMBOL_VISIBLE
bool get_enable_clocks () const SYMBOL_VISIBLE
bool get_enable_event_registers () const SYMBOL_VISIBLE
bool get_force_reset () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_sample_positive_edge (halco::hicann_dls::vx::NeuronEventOutputOnNeuronBackendBlock coord) const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

WaitFireNeuron get_wait_fire_neuron () const SYMBOL_VISIBLE
WaitGlobalPostPulse get_wait_global_post_pulse () const SYMBOL_VISIBLE
WaitSpikeCounterRead get_wait_spike_counter_read () const SYMBOL_VISIBLE
WaitSpikeCounterReset get_wait_spike_counter_reset () const SYMBOL_VISIBLE
bool operator!= (CommonNeuronBackendConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (CommonNeuronBackendConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_clock_scale_adaptation_pulse (ClockScale const val) SYMBOL_VISIBLE
void set_clock_scale_fast (ClockScale const val) SYMBOL_VISIBLE
void set_clock_scale_post_pulse (ClockScale const val) SYMBOL_VISIBLE
void set_clock_scale_slow (ClockScale const val) SYMBOL_VISIBLE
void set_enable_clocks (bool val) SYMBOL_VISIBLE
void set_enable_event_registers (bool val) SYMBOL_VISIBLE
void set_force_reset (bool val) SYMBOL_VISIBLE
void set_sample_positive_edge (halco::hicann_dls::vx::NeuronEventOutputOnNeuronBackendBlock coord, bool val) SYMBOL_VISIBLE
void set_wait_fire_neuron (WaitFireNeuron const val) SYMBOL_VISIBLE
void set_wait_global_post_pulse (WaitGlobalPostPulse const val) SYMBOL_VISIBLE
void set_wait_spike_counter_read (WaitSpikeCounterRead const val) SYMBOL_VISIBLE
void set_wait_spike_counter_reset (WaitSpikeCounterReset const val) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, CommonNeuronBackendConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

ClockScale m_clock_scale_adapt_pulse
ClockScale m_clock_scale_fast
ClockScale m_clock_scale_post_pulse
ClockScale m_clock_scale_slow
bool m_en_clocks
bool m_en_event_regs
bool m_force_reset
halco::common::typed_array<bool, halco::hicann_dls::vx::NeuronEventOutputOnNeuronBackendBlock> m_sample_pos_edge
WaitFireNeuron m_wait_fire_neuron
WaitGlobalPostPulse m_wait_global_post_pulse
WaitSpikeCounterRead m_wait_spike_counter_read
WaitSpikeCounterReset m_wait_spike_counter_reset

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CommonNeuronBackendConfig const &config) SYMBOL_VISIBLE
class haldls::vx::CommonPADIBusConfig : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<CommonPADIBusConfig>
#include <padi.h>

Configuration for a PADI bus block.

Each of the four buses can be configured to accept events from the PADI event trigger register or from the SPL1 merger matrix. Additionally the timing of PADI pulses can be modified.

Public Types

typedef EncodableBase<CommonPADIBusConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CommonPADIBusConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CommonPADIBusConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CommonPADIBusConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CommonPADIBusConfigOnDLS coordinate_type
typedef halco::common::typed_array<DacenPulseExtension, halco::hicann_dls::vx::PADIBusOnPADIBusBlock> dacen_pulse_extension_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::PADIBusOnPADIBusBlock> enable_extended_timing_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::PADIBusOnPADIBusBlock> enable_spl1_type
halco::common::typed_array< bool, halco::hicann_dls::vx::PADIBusOnPADIBusBlock > expose_as (_enable_extended_timing_type))
halco::common::typed_array< bool, halco::hicann_dls::vx::PADIBusOnPADIBusBlock > expose_as (_enable_spl1_type))
typedef std::true_type is_leaf_node

Public Functions

CommonPADIBusConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (CommonPADIBusConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (CommonPADIBusConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) dacen_pulse_extension_type const &get_dacen_pulse_extension() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) enable_extended_timing_type const &get_enable_extended_timing() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) enable_spl1_type const &get_enable_spl1() const SYMBOL_VISIBLE
void set_dacen_pulse_extension (dacen_pulse_extension_type const &value) SYMBOL_VISIBLE
void set_enable_extended_timing (enable_extended_timing_type const &value) SYMBOL_VISIBLE
void set_enable_spl1 (enable_spl1_type const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::hardware}

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, CommonPADIBusConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

dacen_pulse_extension_type m_dacen_pulse_extension
enable_extended_timing_type m_enable_extended_timing
enable_spl1_type m_enable_spl1

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CommonPADIBusConfig const &event) SYMBOL_VISIBLE
class haldls::vx::CommonPhyConfigChip : public haldls::vx::ContainerBase<CommonPhyConfigChip>
#include <phy.h>

Container for configuration of enable values for the chip-side PHYs.

Public Types

typedef EncodableBase<CommonPhyConfigChip, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CommonPhyConfigChip, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CommonPhyConfigChip, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CommonPhyConfigChip, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CommonPhyConfigChipOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CommonPhyConfigChip () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::OmnibusChipOverJTAG, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::OmnibusChipOverJTAG, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_phy (halco::hicann_dls::vx::PhyConfigChipOnDLS const &coord) const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (CommonPhyConfigChip const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (CommonPhyConfigChip const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_phy (halco::hicann_dls::vx::PhyConfigChipOnDLS const &coord, bool value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusChipOverJTAGAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, CommonPhyConfigChip &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

halco::common::typed_array<bool, halco::hicann_dls::vx::PhyConfigChipOnDLS> m_enable_phy

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CommonPhyConfigChip const &config) SYMBOL_VISIBLE
class haldls::vx::CommonPhyConfigFPGA : public haldls::vx::ContainerBase<CommonPhyConfigFPGA>
#include <phy.h>

Container for configuration of enable values for the FPGA-side PHYs.

Public Types

typedef EncodableBase<CommonPhyConfigFPGA, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CommonPhyConfigFPGA, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CommonPhyConfigFPGA, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CommonPhyConfigFPGA, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CommonPhyConfigFPGAOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CommonPhyConfigFPGA () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_phy (halco::hicann_dls::vx::PhyConfigFPGAOnDLS const &coord) const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (CommonPhyConfigFPGA const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (CommonPhyConfigFPGA const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_phy (halco::hicann_dls::vx::PhyConfigFPGAOnDLS const &coord, bool value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, CommonPhyConfigFPGA &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

halco::common::typed_array<bool, halco::hicann_dls::vx::PhyConfigFPGAOnDLS> m_enable_phy

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CommonPhyConfigFPGA const &config) SYMBOL_VISIBLE
class haldls::vx::CommonSTPConfig : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<CommonSTPConfig>
#include <padi.h>

Common STP configuration shared by synapse drivers per vertical half.

It allows to enable/disable and set the speed for the recovery clock.

Public Types

typedef EncodableBase<CommonSTPConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CommonSTPConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CommonSTPConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CommonSTPConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CommonSTPConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CommonSTPConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_recovery_clock () const SYMBOL_VISIBLE

Enable recovery clock for the STP circuit.

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

RecoveryClockSpeed get_recovery_clock_speed () const SYMBOL_VISIBLE

Set the scaler for the recovery clock.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool operator!= (CommonSTPConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (CommonSTPConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_recovery_clock (bool const value) SYMBOL_VISIBLE
void set_recovery_clock_speed (RecoveryClockSpeed const value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::hardware, hxcomm::vx::Target::simulation}

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, CommonSTPConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable_recovery_clock
RecoveryClockSpeed m_recovery_clock_speed

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CommonSTPConfig const &event) SYMBOL_VISIBLE
class haldls::vx::CommonSynramConfig : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<CommonSynramConfig>
#include <synapse.h>

Public Types

typedef EncodableBase<CommonSynramConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CommonSynramConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CommonSynramConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CommonSynramConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CommonSynramConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CommonSynramConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

PCConf get_pc_conf_east () const SYMBOL_VISIBLE
PCConf get_pc_conf_west () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

WConf get_w_conf_east () const SYMBOL_VISIBLE
WConf get_w_conf_west () const SYMBOL_VISIBLE
WaitCtrClear get_wait_ctr_clear () const SYMBOL_VISIBLE
bool operator!= (CommonSynramConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (CommonSynramConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_pc_conf_east (PCConf const &value) SYMBOL_VISIBLE
void set_pc_conf_west (PCConf const &value) SYMBOL_VISIBLE
void set_w_conf_east (WConf const &value) SYMBOL_VISIBLE
void set_w_conf_west (WConf const &value) SYMBOL_VISIBLE
void set_wait_ctr_clear (WaitCtrClear const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 3

Private Functions

template<class Archive>
friend void serialize(Archive &ar, CommonSynramConfig &value, std::uint32_t const version)

Private Members

PCConf m_pc_conf_east
PCConf m_pc_conf_west
WConf m_w_conf_east
WConf m_w_conf_west
WaitCtrClear m_wait_ctr_clear

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CommonSynramConfig const &config) SYMBOL_VISIBLE
struct haldls::vx::Container : public haldls::vx::Encodable
#include <container.h>

Container base class to use for polymorphism in en-/decoding.

Subclassed by haldls::vx::EncodableBase< AD5252ChannelConfig, Container >, haldls::vx::EncodableBase< AD5252ChannelConfigPersistent, Container >, haldls::vx::EncodableBase< ADPLL, Container >, haldls::vx::EncodableBase< BackgroundSpikeSource, Container >, haldls::vx::EncodableBase< BlockPostPulse, Container >, haldls::vx::EncodableBase< CADCChannelConfig, Container >, haldls::vx::EncodableBase< CADCConfig, Container >, haldls::vx::EncodableBase< CADCOffsetSRAMTimingConfig, Container >, haldls::vx::EncodableBase< CADCSampleQuad, Container >, haldls::vx::EncodableBase< CapMemBlock< Coordinates >, Container >, haldls::vx::EncodableBase< CapMemBlockConfig< Coordinates >, Container >, haldls::vx::EncodableBase< CapMemCell< Coordinates >, Container >, haldls::vx::EncodableBase< ColumnCorrelationQuad, Container >, haldls::vx::EncodableBase< ColumnCurrentQuad, Container >, haldls::vx::EncodableBase< CommonCorrelationConfig, Container >, haldls::vx::EncodableBase< CommonNeuronBackendConfig, Container >, haldls::vx::EncodableBase< CommonPADIBusConfig, Container >, haldls::vx::EncodableBase< CommonPhyConfigChip, Container >, haldls::vx::EncodableBase< CommonPhyConfigFPGA, Container >, haldls::vx::EncodableBase< CommonSTPConfig, Container >, haldls::vx::EncodableBase< CommonSynramConfig, Container >, haldls::vx::EncodableBase< Derived, Container >, haldls::vx::EncodableBase< CorrelationReset, Container >, haldls::vx::EncodableBase< CrossbarInputDropCounter, Container >, haldls::vx::EncodableBase< CrossbarNode, Container >, haldls::vx::EncodableBase< CrossbarOutputConfig, Container >, haldls::vx::EncodableBase< CrossbarOutputEventCounter, Container >, haldls::vx::EncodableBase< CurrentDAC, Container >, haldls::vx::EncodableBase< DAC6573ChannelConfig, Container >, haldls::vx::EncodableBase< DACChannel, Container >, haldls::vx::EncodableBase< DACControl, Container >, haldls::vx::EncodableBase< EventRecordingConfig, Container >, haldls::vx::EncodableBase< EventSwitchConfig, Container >, haldls::vx::EncodableBase< EventSwitchReadout, Container >, haldls::vx::EncodableBase< EventSwitchSource, Container >, haldls::vx::EncodableBase< ExternalPPUMemoryByte, Container >, haldls::vx::EncodableBase< ExternalPPUMemoryQuad, Container >, haldls::vx::EncodableBase< ExtollBarrierConfig, Container >, haldls::vx::EncodableBase< ExtollBarrierInterruptInportCounterReset, Container >, haldls::vx::EncodableBase< ExtollBarrierInterruptInportErrorCount, Container >, haldls::vx::EncodableBase< ExtollBarrierReleased, Container >, haldls::vx::EncodableBase< ExtollBarrierTriggerReached, Container >, haldls::vx::EncodableBase< ExtollInterruptConfig, Container >, haldls::vx::EncodableBase< ExtollInterruptControl, Container >, haldls::vx::EncodableBase< ExtollSpikeCommBucketCounterReset, Container >, haldls::vx::EncodableBase< ExtollSpikeCommBucketDestinationConfig, Container >, haldls::vx::EncodableBase< ExtollSpikeCommBucketNumEvtsRcvd, Container >, haldls::vx::EncodableBase< ExtollSpikeCommBucketNumPktsSent, Container >, haldls::vx::EncodableBase< ExtollSpikeCommBucketTriggerConfig, Container >, haldls::vx::EncodableBase< ExtollSpikeCommDecoderCounterReset, Container >, haldls::vx::EncodableBase< ExtollSpikeCommDecoderNumEventsReceived, Container >, haldls::vx::EncodableBase< ExtollSpikeCommRouterConfig, Container >, haldls::vx::EncodableBase< ExtollSpikeCommRouterCounterReset, Container >, haldls::vx::EncodableBase< ExtollSpikeCommRouterEventLossDisabled, Container >, haldls::vx::EncodableBase< ExtollSpikeCommRouterEventLossMisconf, Container >, haldls::vx::EncodableBase< ExtollSpikeCommRouterEventsRouted, Container >, haldls::vx::EncodableBase< ExtollSpikeCommRouterLookupConfig, Container >, haldls::vx::EncodableBase< ExtollSpikeCommTimestampDelayConfig, Container >, haldls::vx::EncodableBase< ExtollSpikeCommTimestampDelayCounterReset, Container >, haldls::vx::EncodableBase< ExtollSpikeCommTimestampDelayEventLossExpired, Container >, haldls::vx::EncodableBase< ExtollSpikeCommTimestampDelayEventLossFull, Container >, haldls::vx::EncodableBase< ExtollSpikeCommTimestampDelayNumEventsReceived, Container >, haldls::vx::EncodableBase< FPGADeviceDNA, Container >, haldls::vx::EncodableBase< FPGASystimeSyncActiveState, Container >, haldls::vx::EncodableBase< FPGASystimeSyncLastAsicSystime, Container >, haldls::vx::EncodableBase< FPGASystimeSyncLastRTT, Container >, haldls::vx::EncodableBase< FPGASystimeSyncNumRetries, Container >, haldls::vx::EncodableBase< HicannARQStatus, Container >, haldls::vx::EncodableBase< INA219Config, Container >, haldls::vx::EncodableBase< INA219Status, Container >, haldls::vx::EncodableBase< InstructionTimeoutConfig, Container >, haldls::vx::EncodableBase< JTAGClockScaler, Container >, haldls::vx::EncodableBase< JTAGIdCode, Container >, haldls::vx::EncodableBase< MADCConfig, Container >, haldls::vx::EncodableBase< MADCControl, Container >, haldls::vx::EncodableBase< NeuronBackendConfig< Coordinates >, Container >, haldls::vx::EncodableBase< NeuronBackendSRAMTimingConfig, Container >, haldls::vx::EncodableBase< NeuronReset, Container >, haldls::vx::EncodableBase< NeuronSRAMTimingConfig, Container >, haldls::vx::EncodableBase< NullPayloadReadable, Container >, haldls::vx::EncodableBase< PADIEvent, Container >, haldls::vx::EncodableBase< PLLSelfTest, Container >, haldls::vx::EncodableBase< PLLSelfTestStatus, Container >, haldls::vx::EncodableBase< PPUControlRegister, Container >, haldls::vx::EncodableBase< PPUMemory, Container >, haldls::vx::EncodableBase< PPUMemoryBlock, Container >, haldls::vx::EncodableBase< PPUMemoryWord, Container >, haldls::vx::EncodableBase< PPUStatusRegister, Container >, haldls::vx::EncodableBase< PadMultiplexerConfig, Container >, haldls::vx::EncodableBase< PerfTest, Container >, haldls::vx::EncodableBase< PerfTestStatus, Container >, haldls::vx::EncodableBase< PhyConfigChip, Container >, haldls::vx::EncodableBase< PhyConfigFPGA, Container >, haldls::vx::EncodableBase< PhyStatus, Container >, haldls::vx::EncodableBase< PollingOmnibusBlockConfig, Container >, haldls::vx::EncodableBase< ReadoutSourceSelection, Container >, haldls::vx::EncodableBase< ResetChip, Container >, haldls::vx::EncodableBase< ResetJTAGTap, Container >, haldls::vx::EncodableBase< ShiftRegister, Container >, haldls::vx::EncodableBase< SpikeCounterRead, Container >, haldls::vx::EncodableBase< SpikeCounterReset, Container >, haldls::vx::EncodableBase< SpikeIOConfig, Container >, haldls::vx::EncodableBase< SpikeIOInputRoute, Container >, haldls::vx::EncodableBase< SpikeIOOutputRoute, Container >, haldls::vx::EncodableBase< SpikePack1ToChip, Container >, haldls::vx::EncodableBase< SpikePack2ToChip, Container >, haldls::vx::EncodableBase< SpikePack3ToChip, Container >, haldls::vx::EncodableBase< SynapseBiasSelection, Container >, haldls::vx::EncodableBase< SynapseCorrelationCalibQuad, Container >, haldls::vx::EncodableBase< SynapseDriverConfig, Container >, haldls::vx::EncodableBase< SynapseDriverSRAMTimingConfig, Container >, haldls::vx::EncodableBase< SynapseLabelQuad, Container >, haldls::vx::EncodableBase< SynapseQuad, Container >, haldls::vx::EncodableBase< SynapseWeightQuad, Container >, haldls::vx::EncodableBase< SystimeCorrectionBarrierConfig, Container >, haldls::vx::EncodableBase< SystimeSync, Container >, haldls::vx::EncodableBase< SystimeSyncBase, Container >, haldls::vx::EncodableBase< TCA9554Config, Container >, haldls::vx::EncodableBase< TCA9554Inputs, Container >, haldls::vx::EncodableBase< Timer, Container >, haldls::vx::EncodableBase< VectorGeneratorControl, Container >, haldls::vx::EncodableBase< VectorGeneratorFIFOWord, Container >, haldls::vx::EncodableBase< VectorGeneratorLUTEntry, Container >, haldls::vx::EncodableBase< VectorGeneratorNotificationAddress, Container >, haldls::vx::EncodableBase< VectorGeneratorTrigger, Container >, haldls::vx::EncodableBase< NeuronConfig, Container >, haldls::vx::EncodableBase< NeuronResetQuad, Container >, haldls::vx::EncodableBase< PLLClockOutputBlock, Container >

Public Types

typedef Encodable::BackendCocoListVariant BackendCocoListVariant
typedef Encodable::BackendContainerListVariant BackendContainerListVariant
typedef Encodable::BackendCoordinateListVariant BackendCoordinateListVariant
typedef Encodable::Coordinate Coordinate

Public Functions

virtual ~Container() = 0
virtual std::unique_ptr<Container> clone_container() const = 0

Clone container data.

virtual std::unique_ptr<Encodable> clone_encodable() const = 0

Clone data.

virtual void decode_read(BackendContainerListVariant const &data, Coordinate const &coordinate) = 0

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

virtual BackendCoordinateListVariant encode_read(Coordinate const &coordinate, std::optional<Backend> const &backend) const = 0

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write(Coordinate const &coordinate, std::optional<Backend> const &backend) const = 0

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend(Backend backend) const = 0

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write() const = 0

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list<hxcomm::vx::Target> get_unsupported_read_targets() const = 0

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list<hxcomm::vx::Target> get_unsupported_write_targets() const = 0

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!=(Encodable const &other) const = 0
virtual bool operator==(Encodable const &other) const = 0
virtual std::ostream &print(std::ostream &os) const = 0

Print to ostream.

Friends

friend std::ostream & operator<< (std::ostream &os, Container const &container) SYMBOL_VISIBLE

Ostream operator.

template<typename Derived, typename Base = Container>
struct haldls::vx::ContainerBase : public haldls::vx::EncodableBase<Derived, Container>
#include <container.h>

Container base class implementing encode_read, decode_read via CRTP.

tparam Derived

Derived class type

tparam Base

Base class type of which to generate a derived class. Needed in order to forward to EncodableBase because inheritance aside the Encodable (which would be base of EncodableBase) leads to non-linear inheritance tree and problems with association of implemented interface.

Public Types

typedef EncodableBase<Derived, Base>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<Derived, Base>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<Derived, Base>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<Derived, Base>::Coordinate Coordinate

Public Functions

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

struct haldls::vx::MADCConfig::ConversionCyclesOffset : public halco::common::detail::RantWrapper<ConversionCyclesOffset, uint_fast8_t, 15, 0>
#include <madc.h>

Public Functions

inline explicit constexpr ConversionCyclesOffset (uintmax_t const val=12) SYMBOL_VISIBLE
struct haldls::vx::ADPLL::CoreDivM0 : public halco::common::detail::RantWrapper<CoreDivM0, uint_fast16_t, 31, 1>
#include <pll.h>

Divider to set the output frequency f_clk_core0 (Together with PreDivP1).

f_clk_core0 = f_dco / (P1 * M0).

Public Functions

inline explicit constexpr CoreDivM0(uintmax_t const val = 1)
struct haldls::vx::ADPLL::CoreDivM1 : public halco::common::detail::RantWrapper<CoreDivM1, uint_fast16_t, 31, 1>
#include <pll.h>

Divider to set the output frequency f_clk_core1 (Together with PreDivP1).

f_clk_core1 = f_dco / (P1 * M1).

Public Functions

inline explicit constexpr CoreDivM1(uintmax_t const val = 2)
class haldls::vx::CorrelationReset : public haldls::vx::ContainerBase<CorrelationReset>
#include <synapse.h>

Container to trigger reset of correlation measurements on a synapse quad.

Public Types

typedef EncodableBase<CorrelationReset, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CorrelationReset, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CorrelationReset, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CorrelationReset, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CorrelationResetOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CorrelationReset () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
bool operator!= (CorrelationReset const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
bool operator== (CorrelationReset const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, CorrelationReset &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CorrelationReset const &config) SYMBOL_VISIBLE
struct haldls::vx::SpikeCounterRead::Count : public halco::common::detail::RantWrapper<Count, uint_fast16_t, 255, 0>
#include <neuron.h>

Count of rate counter.

Public Functions

inline explicit constexpr Count(uintmax_t const val = 0)
struct haldls::vx::PLLSelfTestStatus::CounterValue : public halco::common::detail::RantWrapper<CounterValue, uint_fast16_t, 1048575, 0>
#include <pll.h>

Measured counter value in previous self-test execution.

Public Functions

inline explicit constexpr CounterValue(uintmax_t const val = 0)
struct haldls::vx::PhyStatus::CRCErrorCount : public halco::common::detail::BaseType<CRCErrorCount, uint32_t>
#include <phy.h>

Number of CRC errors since last reset.

Public Functions

inline explicit constexpr CRCErrorCount(uintmax_t const val = 0)
class haldls::vx::CrossbarInputDropCounter : public haldls::vx::ContainerBase<CrossbarInputDropCounter>
#include <routing_crossbar.h>

Crossbar input drop counter accumulating drops at all outputs for which the drop counter accumulation is enabled in the corresponding CrossbarNode.

Public Types

typedef EncodableBase<CrossbarInputDropCounter, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CrossbarInputDropCounter, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CrossbarInputDropCounter, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CrossbarInputDropCounter, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CrossbarInputOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CrossbarInputDropCounter () SYMBOL_VISIBLE

Default constructor.

CrossbarInputDropCounter (Value value) SYMBOL_VISIBLE

Construct from value.

Parameters

valueValue

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE

Get accumulated drop counter value.

Returns

Value

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
bool operator!= (CrossbarInputDropCounter const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
bool operator== (CrossbarInputDropCounter const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value value) SYMBOL_VISIBLE

Set accumulated drop counter value.

Parameters

valueValue

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, CrossbarInputDropCounter &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Value m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CrossbarInputDropCounter const &config) SYMBOL_VISIBLE
class haldls::vx::CrossbarNode : public haldls::vx::ContainerBase<CrossbarNode>
#include <routing_crossbar.h>

Node of the crossbar routing events from a CrossbarInputOnDLS to a CrossbarOutputOnDLS.

A event is routed exactly if the following statement is true: (event_label & mask) == target

Public Types

typedef EncodableBase<CrossbarNode, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CrossbarNode, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CrossbarNode, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CrossbarNode, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CrossbarNodeOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef halco::hicann_dls::vx::NeuronLabel neuron_label_type

Public Functions

CrossbarNode () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_drop_counter () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

neuron_label_type get_mask () const SYMBOL_VISIBLE

Get mask to apply with a logical bit-wise AND operation onto incoming event labels.

Returns

NeuronLabel

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

neuron_label_type get_target () const SYMBOL_VISIBLE

Get target to compare masked incoming event labels to with a bit-wise equality operation.

Returns

NeuronLabel

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
bool operator!= (CrossbarNode const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
bool operator== (CrossbarNode const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_drop_counter (bool value) SYMBOL_VISIBLE
void set_mask (neuron_label_type value) SYMBOL_VISIBLE

Set mask to apply with a bit-wise AND operation onto incoming event labels.

Parameters

value – NeuronLabel

void set_target (neuron_label_type value) SYMBOL_VISIBLE

Set target to compare masked incoming event labels to with a bit-wise equality operation.

Parameters

value – NeuronLabel

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static const SYMBOL_VISIBLE CrossbarNode drop_all
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::hardware}

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, CrossbarNode &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable_drop_counter
neuron_label_type m_mask
neuron_label_type m_target

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CrossbarNode const &config) SYMBOL_VISIBLE
class haldls::vx::CrossbarOutputConfig : public haldls::vx::ContainerBase<CrossbarOutputConfig>
#include <routing_crossbar.h>

Public Types

typedef EncodableBase<CrossbarOutputConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CrossbarOutputConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CrossbarOutputConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CrossbarOutputConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CrossbarOutputConfigOnDLS coordinate_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::CrossbarOutputOnDLS> enable_event_counter_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::CrossbarL2OutputOnDLS> enable_slow_type
typedef std::true_type is_leaf_node

Public Functions

CrossbarOutputConfig () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
bool operator!= (CrossbarOutputConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
bool operator== (CrossbarOutputConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) enable_event_counter_type const &get_enable_event_counter() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) enable_slow_type const &get_enable_slow() const SYMBOL_VISIBLE
void set_enable_event_counter (enable_event_counter_type const &value) SYMBOL_VISIBLE

Set enable value for event counters.

Parameters

value – Boolean values

void set_enable_slow (enable_slow_type const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::hardware}

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, CrossbarOutputConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

enable_event_counter_type m_enable_event_counter
enable_slow_type m_enable_slow

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CrossbarOutputConfig const &config) SYMBOL_VISIBLE
class haldls::vx::CrossbarOutputEventCounter : public haldls::vx::ContainerBase<CrossbarOutputEventCounter>
#include <routing_crossbar.h>

Crossbar output event counter counting events routed to an output.

Public Types

typedef EncodableBase<CrossbarOutputEventCounter, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CrossbarOutputEventCounter, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CrossbarOutputEventCounter, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CrossbarOutputEventCounter, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CrossbarOutputOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

CrossbarOutputEventCounter () SYMBOL_VISIBLE

Default constructor.

CrossbarOutputEventCounter (Value value) SYMBOL_VISIBLE

Construct from value.

Parameters

valueValue

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE

Get event counter value.

Returns

Value

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
bool operator!= (CrossbarOutputEventCounter const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
bool operator== (CrossbarOutputEventCounter const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value value) SYMBOL_VISIBLE

Set event counter value.

Parameters

valueValue

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, CrossbarOutputEventCounter &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Value m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CrossbarOutputEventCounter const &config) SYMBOL_VISIBLE
struct haldls::vx::CurrentDAC::Current : public halco::common::detail::RantWrapper<Current, uint_fast16_t, 255, 0>
#include <current_dac.h>

Value of current DAC.

Public Functions

inline explicit constexpr Current(uintmax_t const val = 0)
struct haldls::vx::CapMemBlockConfig::CurrentCellRes : public halco::common::detail::RantWrapper<CurrentCellRes, uint_fast16_t, 63, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<CurrentCellRes, uint_fast16_t, 63, 0>::rant_t rant_t

Public Functions

inline explicit constexpr CurrentCellRes()
inline explicit constexpr CurrentCellRes(uintmax_t const val)
class haldls::vx::CurrentDAC : public haldls::vx::ContainerBase<CurrentDAC>
#include <current_dac.h>

Configuration of the current DAC of the readout chain.

Public Types

typedef EncodableBase<CurrentDAC, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<CurrentDAC, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<CurrentDAC, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<CurrentDAC, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::CurrentDACOnDLS coordinate_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::HemisphereOnDLS> HemisphereType
typedef std::true_type is_leaf_node
enum Sign

Decide whether current is sourced or sinked.

Values:

enumerator source
enumerator sink
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::SynapticInputOnNeuron> SynapseTargetType

Public Functions

CurrentDAC () SYMBOL_VISIBLE

Default constructor with all inputs disabled.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

Current get_current () const SYMBOL_VISIBLE

Value of current DAC.

bool get_enable_current () const SYMBOL_VISIBLE

Enable current source.

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

Sign get_sign () const SYMBOL_VISIBLE

Select sign of current.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
bool operator!= (CurrentDAC const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
bool operator== (CurrentDAC const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) HemisphereType const &get_connect_neuron() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) SynapseTargetType const &get_connect_synapse() const SYMBOL_VISIBLE
void set_connect_neuron (HemisphereType value) SYMBOL_VISIBLE
void set_connect_synapse (SynapseTargetType value) SYMBOL_VISIBLE
void set_current (Current value) SYMBOL_VISIBLE
void set_enable_current (bool value) SYMBOL_VISIBLE
void set_sign (Sign value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, CurrentDAC &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

HemisphereType m_connect_neuron
SynapseTargetType m_connect_synapse
Current m_current
bool m_enable_current
Sign m_sign

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, CurrentDAC const &config) SYMBOL_VISIBLE
class haldls::vx::DAC6573ChannelConfig : public haldls::vx::ContainerBase<DAC6573ChannelConfig>
#include <i2c.h>

Public Types

typedef EncodableBase<DAC6573ChannelConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<DAC6573ChannelConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<DAC6573ChannelConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<DAC6573ChannelConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::DAC6573ChannelOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

inline DAC6573ChannelConfig(Value const &value = Value())

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::I2CDAC6573RwRegister, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::I2CDAC6573RwRegister, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE

Get DAC channel value.

Returns

Value

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
bool operator!= (DAC6573ChannelConfig const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
bool operator== (DAC6573ChannelConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value value) SYMBOL_VISIBLE

Set DAC channel value.

Parameters

valueValue to set

Public Static Functions

static std::array< halco::hicann_dls::vx::I2CDAC6573RwRegisterOnBoard, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, DAC6573ChannelConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Value m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, DAC6573ChannelConfig const &config) SYMBOL_VISIBLE
class haldls::vx::DACChannel : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<DACChannel>
#include <spi.h>

Container for individual configuration of the value of a DAC channel of the xBoard DACs.

Public Types

typedef EncodableBase<DACChannel, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<DACChannel, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<DACChannel, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<DACChannel, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::DACChannelOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

inline DACChannel(Value const &value = Value())

Construct DAC channel with value.

Parameters

valueValue to construct with

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::SPIDACDataRegister, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::SPIDACDataRegister, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE

Get DAC channel value.

Returns

Value to get

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
bool operator!= (DACChannel const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
bool operator== (DACChannel const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value value) SYMBOL_VISIBLE

Set DAC channel value.

Parameters

valueValue to set

Public Static Functions

static std::array< halco::hicann_dls::vx::SPIDACDataRegisterOnBoard, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::SPIDACDataRegisterOnBoard, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, DACChannel &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Value m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, DACChannel const &config) SYMBOL_VISIBLE
class haldls::vx::DACControl : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<DACControl>
#include <spi.h>

Container for enabling DAC channels of a xBoard DAC.

Public Types

typedef EncodableBase<DACControl, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<DACControl, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<DACControl, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<DACControl, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::DACOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

DACControl () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::SPIDACControlRegister, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::SPIDACControlRegister, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_channel (halco::hicann_dls::vx::DACChannelOnDAC const &channel) const SYMBOL_VISIBLE

Get DAC channel enable value.

Parameters

channel – Channel to get value for

Returns

Boolean value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
bool operator!= (DACControl const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
bool operator== (DACControl const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_channel (halco::hicann_dls::vx::DACChannelOnDAC const &channel, bool value) SYMBOL_VISIBLE

Set DAC channel enable value.

Parameters
  • channel – Channel to set value for

  • value – Boolean value to set

Public Static Functions

static std::array< halco::hicann_dls::vx::SPIDACControlRegisterOnBoard, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::SPIDACControlRegisterOnBoard, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 2

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, DACControl &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

halco::common::typed_array<bool, halco::hicann_dls::vx::DACChannelOnDAC> m_enable_channel

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, DACControl const &config) SYMBOL_VISIBLE
struct haldls::vx::CommonPADIBusConfig::DacenPulseExtension : public halco::common::detail::RantWrapper<DacenPulseExtension, uint_fast16_t, 15, 0>
#include <padi.h>

Public Functions

inline explicit constexpr DacenPulseExtension(uintmax_t const val = 0)
struct haldls::vx::SpikeIOConfig::DataRateScaler : public halco::common::detail::RantWrapper<DataRateScaler, uint_fast16_t, (1 << 16) - 1, 1>
#include <fpga.h>

Public Functions

inline explicit constexpr DataRateScaler(uintmax_t const val = 1)
struct haldls::vx::ADPLL::DcoPowerSwitch : public halco::common::detail::RantWrapper<DcoPowerSwitch, uint_fast16_t, 63, 0>
#include <pll.h>

Number of activated PMOS header power switches during DCO operation.

Public Functions

inline explicit constexpr DcoPowerSwitch(uintmax_t const val = 63)
struct haldls::vx::CADCConfig::DeadTime : public halco::common::detail::RantWrapper<DeadTime, uint_fast16_t, 255, 0>
#include <cadc.h>

Dead time in cycles after linear ramp increase to wait for signal propagation to every channel to prevent cutting off leaf channel ramps too early.

Public Functions

inline explicit constexpr DeadTime(uintmax_t const val = 20)
struct haldls::vx::detail::PhyConfigBase::DebugOutputs : public halco::common::detail::RantWrapper<DebugOutputs, uint_fast32_t, 1, 0>
#include <phy.h>

Public Functions

inline explicit constexpr DebugOutputs(uintmax_t const val = 0)
struct haldls::vx::ExtollInterruptConfig::DelayValue : public halco::common::detail::RantWrapper<DelayValue, uint32_t, 0xffffull, 0>
#include <extoll.h>

Delay Value for Delay and Measure-Counter.

Public Functions

inline explicit constexpr DelayValue(uintmax_t const val = 0)
struct haldls::vx::ExtollSpikeCommBucketDestinationConfig::DestinationDelay : public halco::common::detail::RantWrapper<DestinationDelay, uint16_t, 0x3ffull, 0>
#include <extoll.h>

Defines the axonal delay specific to this destination, given in systime clock-cycles (125MHz).

The delay should be long enough in order to at least flatten all expected network jitter. For this it must be larger than the expected network delay to the programmed destination. In case of Multicast (MC), the delay must be larger than the longest network-delay in that MC-group.

Public Functions

inline explicit constexpr DestinationDelay(uintmax_t const val = 0)
struct haldls::vx::ExtollSpikeCommRouterLookupConfig::DestinationEvent : public halco::common::detail::RantWrapper<DestinationEvent, uint32_t, 0xffff, 0>
#include <extoll.h>

Represents the spike-label to be transmitted to the destination chip(s).

Public Functions

inline explicit constexpr DestinationEvent(uintmax_t const val = 0)
struct haldls::vx::ExtollSpikeCommBucketDestinationConfig::DestinationNodeID : public halco::common::detail::RantWrapper<DestinationNodeID, uint32_t, 0xffffull, 0>
#include <extoll.h>

Defines the destination NodeID or MulticastGroupID to which the Bucket sends its accumulated packets.

Public Functions

inline explicit constexpr DestinationNodeID(uintmax_t const val = 0)
class DifferentialWriteTrait
#include <traits.h>

Trait signalling derived-from container type support differential write operation.

Subclassed by haldls::vx::CapMemBlock< Coordinates >, haldls::vx::CapMemBlockConfig< Coordinates >, haldls::vx::CapMemCell< Coordinates >, haldls::vx::ColumnCorrelationQuad, haldls::vx::ColumnCurrentQuad, haldls::vx::CommonNeuronBackendConfig, haldls::vx::CommonPADIBusConfig, haldls::vx::CommonSTPConfig, haldls::vx::CommonSynramConfig, haldls::vx::DACChannel, haldls::vx::DACControl, haldls::vx::NeuronBackendConfig< Coordinates >, haldls::vx::PPUControlRegister, haldls::vx::ShiftRegister, haldls::vx::SynapseCorrelationCalibQuad, haldls::vx::SynapseDriverConfig, haldls::vx::SynapseLabelQuad, haldls::vx::SynapseQuad, haldls::vx::SynapseWeightQuad, haldls::vx::v3::NeuronConfig

struct haldls::vx::CapMemCell::DisableRefresh : public halco::common::detail::RantWrapper<DisableRefresh, uint_fast16_t, 1023, 1023>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<DisableRefresh, uint_fast16_t, 1023, 1023>::rant_t rant_t

Public Functions

inline explicit constexpr DisableRefresh()
inline explicit constexpr DisableRefresh(uintmax_t const val)
struct haldls::vx::detail::SRAMTimingConfig::EnableWidth : public halco::common::detail::RantWrapper<EnableWidth, uint_fast16_t, hate::math::pow(2, 4) - 1, 0>
#include <sram_controller.h>

Duration of enable signal pull.

Public Functions

inline explicit constexpr EnableWidth(uintmax_t const val = 11)
struct haldls::vx::Encodable
#include <encodable.h>

Encodable base class to use for polymorphism.

An encodable can be encoded to write instructions in the backend, where a write is an instruction without determinisitc response. Base class to Container and BlockUntil.

Subclassed by haldls::vx::BlockUntil, haldls::vx::Container, haldls::vx::EncodableBase< Derived, Base >

Public Types

std::variant<#define PLAYBACK_CONTAINER(Name, Type) #define LAST_PLAYBACK_CONTAINER(Name, Type) > BackendCocoListVariant
std::variant<#define PLAYBACK_CONTAINER(Name, Type) #define LAST_PLAYBACK_CONTAINER(Name, Type) > BackendContainerListVariant
std::variant<#define PLAYBACK_CONTAINER(Name, Type) #define LAST_PLAYBACK_CONTAINER(Name, Type) > BackendCoordinateListVariant
typedef halco::common::Coordinate Coordinate

Public Functions

virtual ~Encodable() = 0
virtual std::unique_ptr<Encodable> clone_encodable() const = 0

Clone data.

virtual BackendCocoListVariant encode_write(Coordinate const &coordinate, std::optional<Backend> const &backend) const = 0

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend(Backend backend) const = 0

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write() const = 0

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list<hxcomm::vx::Target> get_unsupported_write_targets() const = 0

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!=(Encodable const &other) const = 0
virtual bool operator==(Encodable const &other) const = 0
virtual std::ostream &print(std::ostream &os) const = 0

Print to ostream.

Friends

friend std::ostream & operator<< (std::ostream &os, Encodable const &encodable) SYMBOL_VISIBLE

Ostream operator.

template<typename Derived, typename Base = Encodable>
struct haldls::vx::EncodableBase : public haldls::vx::Encodable
#include <encodable.h>

Encodable base class implementing encode_write (and others) via CRTP.

Public Types

typedef Encodable::BackendCocoListVariant BackendCocoListVariant
typedef Encodable::BackendContainerListVariant BackendContainerListVariant
typedef Encodable::BackendCoordinateListVariant BackendCoordinateListVariant
typedef Encodable::Coordinate Coordinate

Public Functions

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

haldls::vx::ExtollBarrierInterruptInportErrorCount::ErrorCount : public halco::common::detail::RantWrapper< ErrorCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of barrier-cells for not-implemented unit-ids at the Inport of the barrier- / interrupt-unit.

Public Functions

inline explicit constexpr ErrorCount(uintmax_t const val = 0)
struct haldls::vx::PerfTestStatus::ErrorWord : public halco::common::detail::RantWrapper<ErrorWord, uint_fast32_t, 0xffffffff, 0>
#include <perftest.h>

First non-consecutive payload.

Public Functions

inline explicit constexpr ErrorWord(uintmax_t const val = 0)
haldls::vx::ExtollSpikeCommBucketNumEvtsRcvd::EventCount : public halco::common::detail::RantWrapper< EventCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of events received at this bucket for the given split.

Public Functions

inline explicit constexpr EventCount(uintmax_t const val = 0)
haldls::vx::ExtollSpikeCommDecoderNumEventsReceived::EventCount : public halco::common::detail::RantWrapper< EventCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of received spike-events.

Public Functions

inline explicit constexpr EventCount(uintmax_t const val = 0)
haldls::vx::ExtollSpikeCommRouterEventsRouted::EventCount : public halco::common::detail::RantWrapper< EventCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of routed pulse-events.

Public Functions

inline explicit constexpr EventCount(uintmax_t const val = 0)
haldls::vx::ExtollSpikeCommTimestampDelayEventLossExpired::EventCount : public halco::common::detail::RantWrapper< EventCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of lost spike-events.

Public Functions

inline explicit constexpr EventCount(uintmax_t const val = 0)
haldls::vx::ExtollSpikeCommTimestampDelayEventLossFull::EventCount : public halco::common::detail::RantWrapper< EventCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of lost spike-events.

Public Functions

inline explicit constexpr EventCount(uintmax_t const val = 0)
haldls::vx::ExtollSpikeCommTimestampDelayNumEventsReceived::EventCount : public halco::common::detail::RantWrapper< EventCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of received spike-events.

Public Functions

inline explicit constexpr EventCount(uintmax_t const val = 0)
struct haldls::vx::VectorGeneratorControl::EventPack : public halco::common::detail::RantWrapper<EventPack, uint_fast8_t, 3, 1>
#include <vector_generator.h>

Event packing to use.

Public Functions

inline explicit constexpr EventPack(uintmax_t const val = 1)
class haldls::vx::EventRecordingConfig : public haldls::vx::ContainerBase<EventRecordingConfig>
#include <fpga.h>

Container for the event (spikes, MADC samples) recording configuration register.

Public Types

typedef EncodableBase<EventRecordingConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<EventRecordingConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<EventRecordingConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<EventRecordingConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::EventRecordingConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  EventRecordingConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_event_recording () const SYMBOL_VISIBLE

Get enable event recording.

Returns

bool

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (EventRecordingConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (EventRecordingConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_event_recording (bool value) SYMBOL_VISIBLE

Set enable_event_recording.

Parameters

value – bool to set

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, EventRecordingConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable_event_recording

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, EventRecordingConfig const &config) SYMBOL_VISIBLE
class haldls::vx::EventSwitchConfig : public haldls::vx::ContainerBase<EventSwitchConfig>
#include <extoll.h>

Container for configuring the FPGA-Event-Switch.

Public Types

typedef EncodableBase<EventSwitchConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<EventSwitchConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<EventSwitchConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<EventSwitchConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::EventSwitchConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

EventSwitchConfig (bool const interrupt_armed=false) SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_interrupt_armed () const SYMBOL_VISIBLE

Get interrupt_armed.

Returns

bool

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (EventSwitchConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (EventSwitchConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_interrupt_armed (bool value) SYMBOL_VISIBLE

Set interrupt_armed.

Parameters

value – bool to set

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, EventSwitchConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_interrupt_armed

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, EventSwitchConfig const &config) SYMBOL_VISIBLE
class haldls::vx::EventSwitchReadout : public haldls::vx::ContainerBase<EventSwitchReadout>
#include <extoll.h>

Container for configuring the FPGA-Event-Switch.

Public Types

typedef EncodableBase<EventSwitchReadout, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<EventSwitchReadout, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<EventSwitchReadout, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<EventSwitchReadout, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::EventSwitchReadoutOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

EventSwitchReadout (Systime const systime=Systime(0)) SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

Systime get_systime () const SYMBOL_VISIBLE

Get systime.

Returns

Systime

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (EventSwitchReadout const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (EventSwitchReadout const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_systime (Systime value) SYMBOL_VISIBLE

Set systime.

Parameters

valueSystime to set

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 2
static constexpr size_t write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, EventSwitchReadout &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Systime m_systime

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, EventSwitchReadout const &config) SYMBOL_VISIBLE
class haldls::vx::EventSwitchSource : public haldls::vx::ContainerBase<EventSwitchSource>
#include <extoll.h>

Container for configuring the FPGA-Event-Switch.

Public Types

typedef EncodableBase<EventSwitchSource, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<EventSwitchSource, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<EventSwitchSource, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<EventSwitchSource, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::EventSwitchSourceOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

EventSwitchSource () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

Source get_source () const SYMBOL_VISIBLE

Get source.

Returns

Source

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (EventSwitchSource const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (EventSwitchSource const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_source (Source value) SYMBOL_VISIBLE

Set source.

Parameters

valueSource to set

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1
static const EventSwitchSource executor SYMBOL_VISIBLE
static const EventSwitchSource asic SYMBOL_VISIBLE
static const EventSwitchSource external SYMBOL_VISIBLE
static const EventSwitchSource off SYMBOL_VISIBLE

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, EventSwitchSource &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Source m_source

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, EventSwitchSource const &config) SYMBOL_VISIBLE
class haldls::vx::ExternalPPUMemoryByte : public haldls::vx::ContainerBase<ExternalPPUMemoryByte>
#include <fpga.h>

Public Types

typedef EncodableBase<ExternalPPUMemoryByte, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExternalPPUMemoryByte, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExternalPPUMemoryByte, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExternalPPUMemoryByte, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExternalPPUMemoryByteOnFPGA coordinate_type
typedef std::true_type is_leaf_node
typedef uint8_t raw_type
typedef std::false_type supports_empty_coordinate

Public Functions

inline explicit ExternalPPUMemoryByte(Value value = Value())
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (coordinate_type const &coord, std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode (coordinate_type const &coord) const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExternalPPUMemoryByte const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExternalPPUMemoryByte const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value const &value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, ExternalPPUMemoryByte &value, std::uint32_t)

Private Members

Value m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExternalPPUMemoryByte const &config) SYMBOL_VISIBLE
class haldls::vx::ExternalPPUMemoryQuad : public haldls::vx::ContainerBase<ExternalPPUMemoryQuad>
#include <fpga.h>

Public Types

typedef EncodableBase<ExternalPPUMemoryQuad, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExternalPPUMemoryQuad, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExternalPPUMemoryQuad, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExternalPPUMemoryQuad, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExternalPPUMemoryQuadOnFPGA coordinate_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::EntryOnQuad> Enables
typedef std::true_type is_leaf_node
typedef halco::common::typed_array<Value, halco::hicann_dls::vx::EntryOnQuad> Quad
typedef ExternalPPUMemoryByte::Value Value

Public Functions

ExternalPPUMemoryQuad () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

Enables const & get_enables () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

Quad const & get_quad () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExternalPPUMemoryQuad const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExternalPPUMemoryQuad const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enables (Enables const &enables) SYMBOL_VISIBLE
void set_quad (Quad const &quad) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, ExternalPPUMemoryQuad &value, std::uint32_t)

Private Members

Enables m_enables
Quad m_quad

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExternalPPUMemoryQuad const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollBarrierConfig : public haldls::vx::ContainerBase<ExtollBarrierConfig>
#include <extoll.h>

Container for configuring an Extoll Barrier.

Public Types

typedef EncodableBase<ExtollBarrierConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollBarrierConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollBarrierConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollBarrierConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollBarrierConfigOnExtollNetwork coordinate_type
typedef std::true_type is_leaf_node
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::LinkOnExtollNode> LinkFlags

Bit flags for each of up to 7 links.

Public Functions

ExtollBarrierConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

LinkFlags get_child_nodes () const SYMBOL_VISIBLE

Get child_nodes setting.

Bit mask for the child nodes. One bit for each link.

Returns

LinkFlags

ClientCount get_client_count () const SYMBOL_VISIBLE

Get client_count setting.

Number of local hw-clients taking part in the barrier.

Returns

ClientCount

bool get_enable () const SYMBOL_VISIBLE

Get enable flag.

Returns

bool

bool get_enable_reset () const SYMBOL_VISIBLE

Get enable_reset flag.

Resets the barrier unit.

Returns

bool

HostCount get_host_count () const SYMBOL_VISIBLE

Get host_count setting.

Number of local sw-processes taking part in the barrier.

Returns

HostCount

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

LinkFlags get_parent_nodes () const SYMBOL_VISIBLE

Get one-hot parent_nodes setting.

Indicates the link to the parent node.

Returns

LinkFlags

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollBarrierConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollBarrierConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_child_nodes (LinkFlags value) SYMBOL_VISIBLE

Set child_nodes setting.

Bit mask for the child nodes. One bit for each link. FPGAs have one link, while Tourmalets have 7 links.

Parameters

value – LinkFlags to set

void set_client_count (ClientCount value) SYMBOL_VISIBLE

Set client_count setting.

Number of local hw-clients taking part in the barrier. Does only exist for FPGA nodes. Configuring host_count higher than (0xF - client_count) leads to undefined behaviour client_count is READ_ONLY (fixed in Hardware)!

Parameters

valueClientCount to set

void set_enable (bool value) SYMBOL_VISIBLE

Set enable flag.

Parameters

value – bool to set

void set_enable_reset (bool value) SYMBOL_VISIBLE

Set enable_reset flag.

Resets the barrier unit.

Parameters

value – bool to set

void set_host_count (HostCount value) SYMBOL_VISIBLE

Set host_count setting.

Number of local sw-processes taking part in the barrier. Does only exist for FPGA Configuring host_count higher than (0xF - client_count) leads to undefined behaviour

Parameters

valueHostCount to set

void set_parent_nodes (LinkFlags value) SYMBOL_VISIBLE

Set one-hot parent_nodes setting.

Indicates the link to the parent node. FPGAs have one link, while Tourmalets have 7 links.

Parameters

value – LinkFlags to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddressOnExtollNetwork, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollBarrierConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

LinkFlags m_child_nodes
ClientCount m_client_count
bool m_enable
bool m_enable_reset
HostCount m_host_count
LinkFlags m_parent_nodes

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollBarrierConfig const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollBarrierInterruptInportCounterReset : public haldls::vx::ContainerBase<ExtollBarrierInterruptInportCounterReset>
#include <extoll.h>

Container for configuring the individual buckets for routing via Extoll.

Public Types

typedef EncodableBase<ExtollBarrierInterruptInportCounterReset, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollBarrierInterruptInportCounterReset, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollBarrierInterruptInportCounterReset, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollBarrierInterruptInportCounterReset, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollBarrierInterruptInportCounterResetOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollBarrierInterruptInportCounterReset () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollBarrierInterruptInportCounterReset const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollBarrierInterruptInportCounterReset const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 0
static constexpr size_t write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollBarrierInterruptInportCounterReset &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollBarrierInterruptInportCounterReset const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollBarrierInterruptInportErrorCount : public haldls::vx::ContainerBase<ExtollBarrierInterruptInportErrorCount>
#include <extoll.h>

Container for reading the interrupt / barrier error counter via Extoll.

Public Types

typedef EncodableBase<ExtollBarrierInterruptInportErrorCount, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollBarrierInterruptInportErrorCount, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollBarrierInterruptInportErrorCount, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollBarrierInterruptInportErrorCount, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollBarrierInterruptInportErrorCountOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollBarrierInterruptInportErrorCount () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

ErrorCount get_error_count () const SYMBOL_VISIBLE

Get destination node id.

Returns

ErrorCount

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollBarrierInterruptInportErrorCount const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollBarrierInterruptInportErrorCount const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_error_count (ErrorCount value) SYMBOL_VISIBLE

Set destination node id.

Parameters

valueErrorCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static constexpr size_t write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollBarrierInterruptInportErrorCount &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

ErrorCount m_error_count

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollBarrierInterruptInportErrorCount const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollBarrierReleased : public haldls::vx::ContainerBase<ExtollBarrierReleased>
#include <extoll.h>

Container for controlling an Extoll Barrier.

Public Types

typedef EncodableBase<ExtollBarrierReleased, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollBarrierReleased, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollBarrierReleased, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollBarrierReleased, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollBarrierReleasedOnExtollNetwork coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollBarrierReleased () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, read_config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_released_0 () const SYMBOL_VISIBLE

Get released_0 flag.

Returns

bool

bool get_released_1 () const SYMBOL_VISIBLE

Get released_1 flag.

Returns

bool

bool get_released_active () const SYMBOL_VISIBLE

Get released_active flag.

It determines, which of the {released_0, released_1} is to be interpreted.

Returns

bool

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollBarrierReleased const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollBarrierReleased const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_released_0 (bool value) SYMBOL_VISIBLE

Set released_0 flag.

Parameters

value – bool to set

void set_released_1 (bool value) SYMBOL_VISIBLE

Set released_1 flag.

Parameters

value – bool to set

void set_released_active (bool value) SYMBOL_VISIBLE

Set released_active flag.

It determines, which of the {released_0, released_1} is to be interpreted.

Parameters

value – bool to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddressOnExtollNetwork, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddressOnExtollNetwork, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static constexpr size_t write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollBarrierReleased &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_released_0
bool m_released_1
bool m_released_active

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollBarrierReleased const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollBarrierTriggerReached : public haldls::vx::ContainerBase<ExtollBarrierTriggerReached>
#include <extoll.h>

Container for controlling an Extoll Barrier.

Public Types

typedef EncodableBase<ExtollBarrierTriggerReached, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollBarrierTriggerReached, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollBarrierTriggerReached, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollBarrierTriggerReached, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollBarrierTriggerReachedOnExtollNetwork coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollBarrierTriggerReached () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, read_config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollBarrierTriggerReached const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollBarrierTriggerReached const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddressOnExtollNetwork, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddressOnExtollNetwork, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 0
static constexpr size_t write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollBarrierTriggerReached &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollBarrierTriggerReached const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollInterruptConfig : public haldls::vx::ContainerBase<ExtollInterruptConfig>
#include <extoll.h>

Container for configuring an Extoll Barrier.

Public Types

typedef EncodableBase<ExtollInterruptConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollInterruptConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollInterruptConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollInterruptConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollInterruptConfigOnExtollNetwork coordinate_type
typedef std::true_type is_leaf_node
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::LinkOnExtollNode> LinkFlags

Bit flags for each of up to 7 links.

Public Functions

ExtollInterruptConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

LinkFlags get_child_nodes () const SYMBOL_VISIBLE

Get child_nodes setting.

Bit mask for the child nodes. One bit for each link.

Returns

LinkFlags

DelayValue get_delay_count () const SYMBOL_VISIBLE

Get one-hot delay_count setting.

Number of clock cycles before the local interrupt gets triggered.

Returns

DelayValue

bool get_enable () const SYMBOL_VISIBLE

Get enable flag.

Enables the interrupt unit.

Returns

bool

bool get_enable_measure () const SYMBOL_VISIBLE

Get enable_measure setting.

Enables interrupt measurement between two nodes directly connected to each other.

Returns

bool

bool get_enable_reset () const SYMBOL_VISIBLE

Get enable_reset flag.

Resets the interrupt unit.

Returns

bool

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

DelayValue get_measure_counter () const SYMBOL_VISIBLE

Get measure_counter setting.

Starts counting when trigger is set and stops on a received interrupt message.

Returns

DelayValue

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollInterruptConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollInterruptConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_child_nodes (LinkFlags value) SYMBOL_VISIBLE

Set child_nodes setting.

Bit mask for the child nodes. One bit for each link. FPGAs have one link, while Tourmalets have 7 links.

Parameters

value – LinkFlags to set

void set_delay_count (DelayValue value) SYMBOL_VISIBLE

Set one-hot delay_count setting.

Number of clock cycles before the local interrupt gets triggered.

Parameters

valueDelayValue to set

void set_enable (bool value) SYMBOL_VISIBLE

Set enable flag.

Enables the interrupt unit.

Parameters

value – bool to set

void set_enable_measure (bool value) SYMBOL_VISIBLE

Set enable_measure setting.

Enables interrupt measurement between two nodes directly connected to each other.

Parameters

value – bool to set

void set_enable_reset (bool value) SYMBOL_VISIBLE

Set enable_reset flag.

Resets the interrupt unit.

Parameters

value – bool to set

void set_measure_counter (DelayValue value) SYMBOL_VISIBLE

Set measure_counter setting.

Starts counting when trigger is set and stops on a received interrupt message.

Parameters

valueDelayValue to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddressOnExtollNetwork, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollInterruptConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

LinkFlags m_child_nodes
DelayValue m_delay_count
bool m_enable
bool m_enable_measure
bool m_enable_reset
DelayValue m_measure_counter

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollInterruptConfig const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollInterruptControl : public haldls::vx::ContainerBase<ExtollInterruptControl>
#include <extoll.h>

Container for controlling an Extoll Barrier.

Public Types

typedef EncodableBase<ExtollInterruptControl, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollInterruptControl, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollInterruptControl, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollInterruptControl, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollInterruptControlOnExtollNetwork coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollInterruptControl () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::ExtollOnNwNode, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_interrupt () const SYMBOL_VISIBLE

Get interrupt flag.

Returns

bool

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_operation_trigger () const SYMBOL_VISIBLE

Get operation_trigger.

Returns

bool

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollInterruptControl const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollInterruptControl const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_interrupt (bool value) SYMBOL_VISIBLE

Set interrupt flag.

Parameters

value – bool to set

void set_operation_trigger (bool value) SYMBOL_VISIBLE

Set operation_trigger.

Parameters

value – bool to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddressOnExtollNetwork, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1
static SYMBOL_VISIBLE const ExtollInterruptControl reset
static SYMBOL_VISIBLE const ExtollInterruptControl trigger

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollInterruptControl &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_interrupt
bool m_operation_trigger

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollInterruptControl const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommBucketCounterReset : public haldls::vx::ContainerBase<ExtollSpikeCommBucketCounterReset>
#include <extoll.h>

Container for resetting the pkt-counter (NumPktsSent) via Extoll.

Public Types

typedef EncodableBase<ExtollSpikeCommBucketCounterReset, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommBucketCounterReset, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommBucketCounterReset, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommBucketCounterReset, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommBucketCounterResetOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommBucketCounterReset () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommBucketCounterReset const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommBucketCounterReset const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 0
static constexpr size_t write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommBucketCounterReset &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommBucketCounterReset const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommBucketDestinationConfig : public haldls::vx::ContainerBase<ExtollSpikeCommBucketDestinationConfig>
#include <extoll.h>

Container for configuring the individual buckets for routing via Extoll.

Public Types

typedef EncodableBase<ExtollSpikeCommBucketDestinationConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommBucketDestinationConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommBucketDestinationConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommBucketDestinationConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommBucketDestinationConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommBucketDestinationConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

DestinationDelay get_destination_delay () const SYMBOL_VISIBLE

Get destination delay.

Returns

DestinationDelay

DestinationNodeID get_destination_node_id () const SYMBOL_VISIBLE

Get destination node id.

Returns

DestinationNodeID

bool get_enable_multicast () const SYMBOL_VISIBLE

Get enable_multicast.

Returns

bool

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommBucketDestinationConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommBucketDestinationConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_destination_delay (DestinationDelay value) SYMBOL_VISIBLE

Set destination delay.

Parameters

valueDestinationDelay to set

void set_destination_node_id (DestinationNodeID value) SYMBOL_VISIBLE

Set destination node id.

Parameters

valueDestinationNodeID to set

void set_enable_multicast (bool value) SYMBOL_VISIBLE

Set enable_multicast.

Parameters

value – bool to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommBucketDestinationConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

DestinationDelay m_destination_delay
DestinationNodeID m_destination_node_id
bool m_enable_multicast

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommBucketDestinationConfig const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommBucketNumEvtsRcvd : public haldls::vx::ContainerBase<ExtollSpikeCommBucketNumEvtsRcvd>
#include <extoll.h>

Container for monitoring the individual buckets for routing via Extoll.

Public Types

typedef EncodableBase<ExtollSpikeCommBucketNumEvtsRcvd, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommBucketNumEvtsRcvd, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommBucketNumEvtsRcvd, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommBucketNumEvtsRcvd, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommBucketNumEvtsRcvdOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommBucketNumEvtsRcvd () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

EventCount get_event_count () const SYMBOL_VISIBLE

Get the packet count.

Returns

EventCount

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommBucketNumEvtsRcvd const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommBucketNumEvtsRcvd const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_event_count (EventCount value) SYMBOL_VISIBLE

Set the packet count.

Parameters

valueEventCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static constexpr size_t write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommBucketNumEvtsRcvd &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

EventCount m_event_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommBucketNumEvtsRcvd const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommBucketNumPktsSent : public haldls::vx::ContainerBase<ExtollSpikeCommBucketNumPktsSent>
#include <extoll.h>

Container for monitoring the individual buckets for routing via Extoll.

Public Types

typedef EncodableBase<ExtollSpikeCommBucketNumPktsSent, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommBucketNumPktsSent, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommBucketNumPktsSent, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommBucketNumPktsSent, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommBucketNumPktsSentOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommBucketNumPktsSent () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

PacketCount get_packet_count () const SYMBOL_VISIBLE

Get the packet count.

Returns

PacketCount

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommBucketNumPktsSent const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommBucketNumPktsSent const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_packet_count (PacketCount value) SYMBOL_VISIBLE

Set the packet count.

Parameters

valuePacketCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static constexpr size_t write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommBucketNumPktsSent &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

PacketCount m_packet_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommBucketNumPktsSent const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommBucketTriggerConfig : public haldls::vx::ContainerBase<ExtollSpikeCommBucketTriggerConfig>
#include <extoll.h>

Container for configuring the individual buckets for routing via Extoll.

Public Types

typedef EncodableBase<ExtollSpikeCommBucketTriggerConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommBucketTriggerConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommBucketTriggerConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommBucketTriggerConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommBucketTriggerConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommBucketTriggerConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

PacketTimeout get_packet_timeout () const SYMBOL_VISIBLE

Get packet timeout.

Returns

PacketTimeout

PulseTimeout get_pulse_timeout () const SYMBOL_VISIBLE

Get pulse timeout.

Returns

PulseTimeout

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommBucketTriggerConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommBucketTriggerConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_packet_timeout (PacketTimeout value) SYMBOL_VISIBLE

Set packet timeout.

Parameters

valuePacketTimeout to set

void set_pulse_timeout (PulseTimeout value) SYMBOL_VISIBLE

Set pulse timeout.

Parameters

valuePulseTimeout to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommBucketTriggerConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

PacketTimeout m_packet_timeout
PulseTimeout m_pulse_timeout

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommBucketTriggerConfig const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommDecoderCounterReset : public haldls::vx::ContainerBase<ExtollSpikeCommDecoderCounterReset>
#include <extoll.h>

Container for resetting the spike counters of the decoder (NumEventsReceived) via Extoll.

Public Types

typedef EncodableBase<ExtollSpikeCommDecoderCounterReset, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommDecoderCounterReset, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommDecoderCounterReset, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommDecoderCounterReset, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommDecoderCounterResetOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommDecoderCounterReset () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommDecoderCounterReset const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommDecoderCounterReset const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 0
static constexpr size_t write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommDecoderCounterReset &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommDecoderCounterReset const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommDecoderNumEventsReceived : public haldls::vx::ContainerBase<ExtollSpikeCommDecoderNumEventsReceived>
#include <extoll.h>

Container for getting the number of received spike-events in the rx-decoders.

Public Types

typedef EncodableBase<ExtollSpikeCommDecoderNumEventsReceived, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommDecoderNumEventsReceived, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommDecoderNumEventsReceived, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommDecoderNumEventsReceived, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommDecoderNumEventsReceivedOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommDecoderNumEventsReceived () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

EventCount get_event_count () const SYMBOL_VISIBLE

Get event count.

Returns

EventCount

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommDecoderNumEventsReceived const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommDecoderNumEventsReceived const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_event_count (EventCount value) SYMBOL_VISIBLE

Set event count.

Parameters

valueEventCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommDecoderNumEventsReceived &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

EventCount m_event_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommDecoderNumEventsReceived const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommRouterConfig : public haldls::vx::ContainerBase<ExtollSpikeCommRouterConfig>
#include <extoll.h>

Container for setting the router configuration state.

Public Types

typedef EncodableBase<ExtollSpikeCommRouterConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommRouterConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommRouterConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommRouterConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommRouterConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommRouterConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_drop_if_routing_disabled () const SYMBOL_VISIBLE

Get drop if routing disabled flag.

Returns

bool

bool get_enable_routing () const SYMBOL_VISIBLE

Get enable routing flag.

Returns

bool

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommRouterConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommRouterConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_drop_if_routing_disabled (bool value) SYMBOL_VISIBLE

Set drop if routing disabled flag.

Parameters

value – bool to set

void set_enable_routing (bool value) SYMBOL_VISIBLE

Set enable routing flag.

Parameters

value – bool to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommRouterConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable_drop_if_routing_disabled
bool m_enable_routing

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommRouterConfig const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommRouterCounterReset : public haldls::vx::ContainerBase<ExtollSpikeCommRouterCounterReset>
#include <extoll.h>

Container for resetting the event-counters (EventLossDisabled, EventLossMisconf, EventsRouted) via Extoll.

Public Types

typedef EncodableBase<ExtollSpikeCommRouterCounterReset, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommRouterCounterReset, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommRouterCounterReset, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommRouterCounterReset, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommRouterCounterResetOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommRouterCounterReset () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommRouterCounterReset const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommRouterCounterReset const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 0
static constexpr size_t write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommRouterCounterReset &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommRouterCounterReset const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommRouterEventLossDisabled : public haldls::vx::ContainerBase<ExtollSpikeCommRouterEventLossDisabled>
#include <extoll.h>

Container for getting the number of lost pulse-events due to disabled routing.

Public Types

typedef EncodableBase<ExtollSpikeCommRouterEventLossDisabled, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommRouterEventLossDisabled, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommRouterEventLossDisabled, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommRouterEventLossDisabled, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommRouterEventLossDisabledOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommRouterEventLossDisabled () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

LostEventCount get_lost_event_count () const SYMBOL_VISIBLE

Get lost event count.

Returns

LostEventCount

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommRouterEventLossDisabled const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommRouterEventLossDisabled const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_lost_event_count (LostEventCount value) SYMBOL_VISIBLE

Set lost event count.

Parameters

valueLostEventCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommRouterEventLossDisabled &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

LostEventCount m_lost_event_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommRouterEventLossDisabled const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommRouterEventLossMisconf : public haldls::vx::ContainerBase<ExtollSpikeCommRouterEventLossMisconf>
#include <extoll.h>

Container for getting the number of lost pulse-events due to invalid routing-table entries.

Public Types

typedef EncodableBase<ExtollSpikeCommRouterEventLossMisconf, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommRouterEventLossMisconf, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommRouterEventLossMisconf, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommRouterEventLossMisconf, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommRouterEventLossMisconfOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommRouterEventLossMisconf () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

LostEventCount get_lost_event_count () const SYMBOL_VISIBLE

Get lost event count.

Returns

LostEventCount

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommRouterEventLossMisconf const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommRouterEventLossMisconf const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_lost_event_count (LostEventCount value) SYMBOL_VISIBLE

Set lost event count.

Parameters

valueLostEventCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommRouterEventLossMisconf &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

LostEventCount m_lost_event_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommRouterEventLossMisconf const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommRouterEventsRouted : public haldls::vx::ContainerBase<ExtollSpikeCommRouterEventsRouted>
#include <extoll.h>

Container for getting the number of routed pulse-events.

Public Types

typedef EncodableBase<ExtollSpikeCommRouterEventsRouted, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommRouterEventsRouted, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommRouterEventsRouted, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommRouterEventsRouted, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommRouterEventsRoutedOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommRouterEventsRouted () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

EventCount get_event_count () const SYMBOL_VISIBLE

Get event count.

Returns

EventCount

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommRouterEventsRouted const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommRouterEventsRouted const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_event_count (EventCount value) SYMBOL_VISIBLE

Set event count.

Parameters

valueEventCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommRouterEventsRouted &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

EventCount m_event_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommRouterEventsRouted const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommRouterLookupConfig : public haldls::vx::ContainerBase<ExtollSpikeCommRouterLookupConfig>
#include <extoll.h>

Container for configuring the send lookup table for routing via Extoll.

Public Types

typedef EncodableBase<ExtollSpikeCommRouterLookupConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommRouterLookupConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommRouterLookupConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommRouterLookupConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommRouterLookupConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommRouterLookupConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

BucketID get_bucket_id () const SYMBOL_VISIBLE

Get bucket_id.

Returns

BucketID

DestinationEvent get_destination_event () const SYMBOL_VISIBLE

Get destination_event.

Returns

DestinationEvent

bool get_entry_valid () const SYMBOL_VISIBLE

Get entry_valid.

Returns

bool

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommRouterLookupConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommRouterLookupConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_bucket_id (BucketID value) SYMBOL_VISIBLE

Set bucket_id.

Parameters

valueBucketID to set

void set_destination_event (DestinationEvent value) SYMBOL_VISIBLE

Set destination_event.

Parameters

valueDestinationEvent to set

void set_entry_valid (bool value) SYMBOL_VISIBLE

Set entry_valid.

Parameters

value – bool to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommRouterLookupConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

BucketID m_bucket_id
DestinationEvent m_destination_event
bool m_entry_valid

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommRouterLookupConfig const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommTimestampDelayConfig : public haldls::vx::ContainerBase<ExtollSpikeCommTimestampDelayConfig>
#include <extoll.h>

Container for configuring the spike-delay module on the receiving side.

Public Types

typedef EncodableBase<ExtollSpikeCommTimestampDelayConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommTimestampDelayConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommTimestampDelayConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_forward_immediately () const SYMBOL_VISIBLE

Get forward immediately flag (forward events regardless of the timestamp).

Returns

bool

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

bool get_timestamp_to_systime () const SYMBOL_VISIBLE

Get timestamp-to-systime flag (dump the event’s timestamp to the current systime).

Returns

bool

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommTimestampDelayConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommTimestampDelayConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_forward_immediately (bool value) SYMBOL_VISIBLE

Set forward immediately flag (forward events regardless of the timestamp).

Parameters

value – bool to set

void set_timestamp_to_systime (bool value) SYMBOL_VISIBLE

Set timestamp-to-systime flag (dump the event’s timestamp to the current systime).

Parameters

value – bool to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommTimestampDelayConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_forward_immediately
bool m_timestamp_to_systime

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommTimestampDelayConfig const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommTimestampDelayCounterReset : public haldls::vx::ContainerBase<ExtollSpikeCommTimestampDelayCounterReset>
#include <extoll.h>

Container for resetting the event (loss) counters in the rx_delay_buffers (NumEventsReceived, EventLossFull, EventLossExpired) via Extoll.

Public Types

typedef EncodableBase<ExtollSpikeCommTimestampDelayCounterReset, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayCounterReset, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayCounterReset, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayCounterReset, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommTimestampDelayCounterResetOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommTimestampDelayCounterReset () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommTimestampDelayCounterReset const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommTimestampDelayCounterReset const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 0
static constexpr size_t write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommTimestampDelayCounterReset &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommTimestampDelayCounterReset const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommTimestampDelayEventLossExpired : public haldls::vx::ContainerBase<ExtollSpikeCommTimestampDelayEventLossExpired>
#include <extoll.h>

Container for getting the number of lost spike-events in the rx-decoders due to expired timestamp.

Public Types

typedef EncodableBase<ExtollSpikeCommTimestampDelayEventLossExpired, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayEventLossExpired, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayEventLossExpired, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayEventLossExpired, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommTimestampDelayEventLossExpiredOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommTimestampDelayEventLossExpired () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

EventCount get_event_count () const SYMBOL_VISIBLE

Get lost event count.

Returns

EventCount

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommTimestampDelayEventLossExpired const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommTimestampDelayEventLossExpired const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_event_count (EventCount value) SYMBOL_VISIBLE

Set lost event count.

Parameters

valueEventCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommTimestampDelayEventLossExpired &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

EventCount m_event_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommTimestampDelayEventLossExpired const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommTimestampDelayEventLossFull : public haldls::vx::ContainerBase<ExtollSpikeCommTimestampDelayEventLossFull>
#include <extoll.h>

Container for getting the number of lost spike-events in the rx-decoders due to full delay-buffer.

Public Types

typedef EncodableBase<ExtollSpikeCommTimestampDelayEventLossFull, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayEventLossFull, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayEventLossFull, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayEventLossFull, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommTimestampDelayEventLossFullOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommTimestampDelayEventLossFull () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

EventCount get_event_count () const SYMBOL_VISIBLE

Get lost event count.

Returns

EventCount

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommTimestampDelayEventLossFull const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommTimestampDelayEventLossFull const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_event_count (EventCount value) SYMBOL_VISIBLE

Set lost event count.

Parameters

valueEventCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommTimestampDelayEventLossFull &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

EventCount m_event_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommTimestampDelayEventLossFull const &config) SYMBOL_VISIBLE
class haldls::vx::ExtollSpikeCommTimestampDelayNumEventsReceived : public haldls::vx::ContainerBase<ExtollSpikeCommTimestampDelayNumEventsReceived>
#include <extoll.h>

Container for getting the number of received spike-events in the rx-decoders.

Public Types

typedef EncodableBase<ExtollSpikeCommTimestampDelayNumEventsReceived, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayNumEventsReceived, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayNumEventsReceived, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ExtollSpikeCommTimestampDelayNumEventsReceived, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ExtollSpikeCommTimestampDelayNumEventsReceivedOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ExtollSpikeCommTimestampDelayNumEventsReceived () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< typename fisch::vx::word_access_type::Extoll, read_config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< typename fisch::vx::word_access_type::Extoll, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

EventCount get_event_count () const SYMBOL_VISIBLE

Get event count.

Returns

EventCount

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ExtollSpikeCommTimestampDelayNumEventsReceived const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ExtollSpikeCommTimestampDelayNumEventsReceived const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_event_count (EventCount value) SYMBOL_VISIBLE

Set event count.

Parameters

valueEventCount to set

Public Static Functions

static std::array< halco::hicann_dls::vx::ExtollAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ExtollAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, ExtollSpikeCommTimestampDelayNumEventsReceived &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

EventCount m_event_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ExtollSpikeCommTimestampDelayNumEventsReceived const &config) SYMBOL_VISIBLE
struct haldls::vx::ADPLL::FilterShift : public halco::common::detail::RantWrapper<FilterShift, uint_fast16_t, 3, 0>
#include <pll.h>

Loop filter gain boost by 2^n during lock-in, leads to lock time reduction.

Public Functions

inline explicit constexpr FilterShift(uintmax_t const val = 3)
class haldls::vx::FPGADeviceDNA : public haldls::vx::ContainerBase<FPGADeviceDNA>
#include <fpga.h>

Container for reading out the unique identifier of the FPGA.

Public Types

typedef EncodableBase<FPGADeviceDNA, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<FPGADeviceDNA, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<FPGADeviceDNA, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<FPGADeviceDNA, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::FPGADeviceDNAOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

class haldls::vx::FPGASystimeSyncActiveState : public haldls::vx::ContainerBase<FPGASystimeSyncActiveState>
#include <fpga.h>

Container for reading out the last active-state of the systime-sync FSM.

Public Types

typedef EncodableBase<FPGASystimeSyncActiveState, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<FPGASystimeSyncActiveState, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<FPGASystimeSyncActiveState, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<FPGASystimeSyncActiveState, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::FPGASystimeSyncActiveStateOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  FPGASystimeSyncActiveState (bool active_state=false) SYMBOL_VISIBLE

Construct Systime-Sync try-count with active_state.

Parameters

active_state – bool to construct with

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_active_state () const SYMBOL_VISIBLE

Get active_state.

Returns

bool

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (FPGASystimeSyncActiveState const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (FPGASystimeSyncActiveState const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_active_state (bool active_state) SYMBOL_VISIBLE

Set active_state.

Parameters

active_state – bool to set

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, FPGASystimeSyncActiveState &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_active_state

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, FPGASystimeSyncActiveState const &config) SYMBOL_VISIBLE
class haldls::vx::FPGASystimeSyncLastAsicSystime : public haldls::vx::ContainerBase<FPGASystimeSyncLastAsicSystime>
#include <fpga.h>

Container for reading out the last systime received from the ASIC on the FPGA.

Public Types

typedef EncodableBase<FPGASystimeSyncLastAsicSystime, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<FPGASystimeSyncLastAsicSystime, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<FPGASystimeSyncLastAsicSystime, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<FPGASystimeSyncLastAsicSystime, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::FPGASystimeSyncLastAsicSystimeOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  FPGASystimeSyncLastAsicSystime (Systime value=Systime()) SYMBOL_VISIBLE

Construct Systime-Sync try-count with value.

Parameters

valueSystime to construct with

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Systime get_value () const SYMBOL_VISIBLE

Get value.

Returns

Systime

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (FPGASystimeSyncLastAsicSystime const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (FPGASystimeSyncLastAsicSystime const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Systime value) SYMBOL_VISIBLE

Set value.

Parameters

valueSystime to set

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 2
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, FPGASystimeSyncLastAsicSystime &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Systime m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, FPGASystimeSyncLastAsicSystime const &config) SYMBOL_VISIBLE
class haldls::vx::FPGASystimeSyncLastRTT : public haldls::vx::ContainerBase<FPGASystimeSyncLastRTT>
#include <fpga.h>

Container for reading out the last systime-sync RTT on the FPGA.

Public Types

typedef EncodableBase<FPGASystimeSyncLastRTT, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<FPGASystimeSyncLastRTT, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<FPGASystimeSyncLastRTT, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<FPGASystimeSyncLastRTT, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::FPGASystimeSyncLastRTTOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  FPGASystimeSyncLastRTT (Systime value=Systime()) SYMBOL_VISIBLE

Construct Systime-Sync try-count with value.

Parameters

valueSystime to construct with

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Systime get_value () const SYMBOL_VISIBLE

Get value.

Returns

Systime

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (FPGASystimeSyncLastRTT const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (FPGASystimeSyncLastRTT const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Systime value) SYMBOL_VISIBLE

Set value.

Parameters

valueSystime to set

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 2
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, FPGASystimeSyncLastRTT &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Systime m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, FPGASystimeSyncLastRTT const &config) SYMBOL_VISIBLE
class haldls::vx::FPGASystimeSyncNumRetries : public haldls::vx::ContainerBase<FPGASystimeSyncNumRetries>
#include <fpga.h>

Container for writing the number of retries for the systime-sync on the FPGA.

Public Types

typedef EncodableBase<FPGASystimeSyncNumRetries, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<FPGASystimeSyncNumRetries, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<FPGASystimeSyncNumRetries, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<FPGASystimeSyncNumRetries, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::FPGASystimeSyncNumRetriesOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  FPGASystimeSyncNumRetries (Value value=Value()) SYMBOL_VISIBLE

Construct Systime-Sync try-count with value.

Parameters

valueValue to construct with

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE

Get value.

Returns

Value

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (FPGASystimeSyncNumRetries const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (FPGASystimeSyncNumRetries const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value value) SYMBOL_VISIBLE

Set value.

Parameters

valueValue to set

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, FPGASystimeSyncNumRetries &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Value m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, FPGASystimeSyncNumRetries const &config) SYMBOL_VISIBLE
template<typename TL>
struct gen_is_read_and_writeable_lookup_table

Generate lookup table from backend to readable and writable property.

template<typename ...Ts>
struct haldls::vx::detail::gen_is_read_and_writeable_lookup_table<hate::type_list<Ts...>>
#include <is_read_and_writable.h>

Public Static Attributes

static constexpr std::array<bool, sizeof...(Ts)> value = {(fisch::vx::IsReadable<decltype(fisch::vx::container_cast(std::declval<Ts>()))>::value && fisch::vx::IsWritable<decltype(fisch::vx::container_cast(std::declval<Ts>()))>::value)...}
template<typename TL>
struct generate_lookup_table
template<typename ...Ts>
struct haldls::vx::detail::BackendContainerBase::generate_lookup_table<hate::type_list<Ts...>>
#include <traits.h>

Public Types

typedef std::array<Backend, sizeof...(Ts)> table_type

Public Static Functions

template<size_t I, size_t... Is>
static inline constexpr table_type gen(table_type table, std::index_sequence<I, Is...>)

Public Static Attributes

static constexpr auto backend_index_lookup_table = gen(table_type(), std::make_index_sequence<sizeof...(Ts)>())
struct haldls::vx::PADIEvent::HagenActivation : public halco::common::detail::RantWrapper<HagenActivation, uint_fast16_t, 31, 0>
#include <padi.h>

Activation payload in Hagen-mode.

The lower five bits of the six-bit EventAddress payload are used to modulate the pulselength.

Public Functions

inline explicit constexpr HagenActivation(uintmax_t const val = 0)
struct haldls::vx::PADIEvent::HagenAddress : public halco::common::detail::RantWrapper<HagenAddress, uint_fast16_t, 1, 0>
#include <padi.h>

Address in Hagen-mode.

The highest bit of the six-bit EventAddress payload is used as label.

Public Functions

inline explicit constexpr HagenAddress(uintmax_t const val = 0)
struct haldls::vx::SynapseDriverConfig::HagenDACOffset : public halco::common::detail::RantWrapper<HagenDACOffset, uint_fast8_t, 63, 0>
#include <synapse_driver.h>

Public Functions

inline explicit constexpr HagenDACOffset(uintmax_t const val = 0)
template<typename ContainerT, typename = void>
struct HasLocalData : public std::false_type
#include <has_local_data.h>
template<typename T, typename = void>
struct HasLocalData : public std::false_type
#include <traits.h>
template<typename ContainerT>
struct haldls::HasLocalData<ContainerT, typename boost::enable_if_has_type<typename ContainerT::has_local_data>::type>
#include <has_local_data.h>

Public Static Attributes

static constexpr bool value = ContainerT::has_local_data::value
template<typename T>
struct HasLocalData<T, typename boost::enable_if_has_type<typename T::has_local_data>::type> : public T::has_local_data
#include <traits.h>
template<typename T>
struct HasLocalData<T, typename boost::enable_if_has_type<typename T::is_leaf_node>::type> : public T::is_leaf_node
#include <traits.h>
class haldls::vx::HicannARQStatus : public haldls::vx::ContainerBase<HicannARQStatus>
#include <arq.h>

Public Types

typedef EncodableBase<HicannARQStatus, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<HicannARQStatus, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<HicannARQStatus, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<HicannARQStatus, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::HicannARQStatusOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

HicannARQStatus () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ReadCount get_read_count () const SYMBOL_VISIBLE
RxCount get_rx_count () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

TxCount get_tx_count () const SYMBOL_VISIBLE
virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

WriteCount get_write_count () const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (HicannARQStatus const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (HicannARQStatus const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_read_count (ReadCount value) SYMBOL_VISIBLE
void set_rx_count (RxCount value) SYMBOL_VISIBLE
void set_tx_count (TxCount value) SYMBOL_VISIBLE
void set_write_count (WriteCount value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 4
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, HicannARQStatus &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

ReadCount m_read_count
RxCount m_rx_count
TxCount m_tx_count
WriteCount m_write_count

Friends

friend std::ostream & operator<< (std::ostream &os, HicannARQStatus const &config) SYMBOL_VISIBLE
class haldls::vx::HighspeedLinkNotification
#include <event.h>

Highspeed-Link notification from chip.

Public Functions

HighspeedLinkNotification() = default

Default constructor.

HighspeedLinkNotification (fisch::vx::HighspeedLinkNotification const &data) SYMBOL_VISIBLE

Construct a HighspeedLinkNotification from the data representation.

Parameters

data – Data to use

bool get_check_error () const SYMBOL_VISIBLE

Get if check error occured.

Returns

Boolean value

bool get_crc_error () const SYMBOL_VISIBLE

Get if crc error occured.

Returns

Boolean value

bool get_crc_recover () const SYMBOL_VISIBLE

Get if crc is recovered.

Returns

Boolean value

bool get_decode_error () const SYMBOL_VISIBLE

Get if decode error occured.

Returns

Boolean value

FPGATime get_fpga_time () const SYMBOL_VISIBLE

Get FPGA time.

Returns

FPGATime value

bool get_link_up () const SYMBOL_VISIBLE

Get if link is up.

Returns

Boolean value

halco::hicann_dls::vx::PhyStatusOnFPGA get_phy () const SYMBOL_VISIBLE

Get sample value.

Returns

Value value

bool operator!= (HighspeedLinkNotification const &other) const SYMBOL_VISIBLE
bool operator== (HighspeedLinkNotification const &other) const SYMBOL_VISIBLE
void set_check_error (bool value) SYMBOL_VISIBLE

Set if check error occured.

Parameters

value – Boolean value to set

void set_crc_error (bool value) SYMBOL_VISIBLE

Set if crc error occured.

Parameters

value – Boolean value to set

void set_crc_recover (bool value) SYMBOL_VISIBLE

Set if crc is recovered.

Parameters

value – Boolean value to set

void set_decode_error (bool value) SYMBOL_VISIBLE

Set if decode error occured.

Parameters

value – Boolean value to set

void set_fpga_time (FPGATime value) SYMBOL_VISIBLE

Set FPGA time.

Parameters

value – FPGATime value to set

void set_link_up (bool value) SYMBOL_VISIBLE

Set if link is up.

Parameters

value – Boolean value to set

void set_phy (halco::hicann_dls::vx::PhyStatusOnFPGA value) SYMBOL_VISIBLE

Set sample value.

Parameters

value – Value sample value to set

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, HighspeedLinkNotification &value, std::uint32_t const version)

Private Members

bool m_check_error = {false}
bool m_crc_error = {false}
bool m_crc_recover = {false}
bool m_decode_error = {false}
FPGATime m_fpga_time = {}
halco::hicann_dls::vx::PhyStatusOnFPGA m_phy = {}

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, HighspeedLinkNotification const &sample) SYMBOL_VISIBLE
struct haldls::vx::ExtollBarrierConfig::HostCount : public halco::common::detail::RantWrapper<HostCount, uint8_t, 0xf, 0>
#include <extoll.h>

Delay Value for Delay and Measure-Counter.

Public Functions

inline explicit constexpr HostCount(uintmax_t const val = 0)
class haldls::vx::INA219Config : public haldls::vx::ContainerBase<INA219Config>
#include <i2c.h>

Public Types

enum ADCMode

ADC resolution and number of samples.

Values:

enumerator bits9
enumerator bits10
enumerator bits11
enumerator bits12
enumerator bits12_samples1
enumerator bits12_samples2
enumerator bits12_samples4
enumerator bits12_samples8
enumerator bits12_samples16
enumerator bits12_samples32
enumerator bits12_samples64
enumerator bits12_samples128
typedef EncodableBase<INA219Config, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<INA219Config, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<INA219Config, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<INA219Config, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::INA219ConfigOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

INA219Config () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::I2CINA219RwRegister, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::I2CINA219RwRegister, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

ADCMode get_bus_adc_mode () const SYMBOL_VISIBLE

Get bus ADC mode value.

Returns

Value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ADCMode get_shunt_adc_mode () const SYMBOL_VISIBLE

Get shunt ADC mode value.

Returns

Value

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (INA219Config const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (INA219Config const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_bus_adc_mode (ADCMode value) SYMBOL_VISIBLE

Set bus ADC mode value.

Parameters

value – Value

void set_shunt_adc_mode (ADCMode value) SYMBOL_VISIBLE

Set shunt ADC mode value.

Parameters

value – Value

Public Static Functions

static std::array< halco::hicann_dls::vx::I2CINA219RwRegisterOnBoard, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, INA219Config &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

ADCMode m_bus_adc_mode
ADCMode m_shunt_adc_mode

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, INA219Config const &config) SYMBOL_VISIBLE
class haldls::vx::INA219Status : public haldls::vx::ContainerBase<INA219Status>
#include <i2c.h>

Public Types

typedef EncodableBase<INA219Status, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<INA219Status, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<INA219Status, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<INA219Status, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::INA219StatusOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

INA219Status () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::I2CINA219RoRegister, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::I2CINA219RoRegister, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

BusVoltage get_bus_voltage () const SYMBOL_VISIBLE

Get bus voltage value.

Returns

Value

bool get_bus_voltage_overflow () const SYMBOL_VISIBLE

Get bus voltage overflow value.

Returns

Value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ShuntVoltage get_shunt_voltage () const SYMBOL_VISIBLE

Get shunt voltage value.

Returns

Value

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (INA219Status const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (INA219Status const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_bus_voltage (BusVoltage value) SYMBOL_VISIBLE

Set bus voltage value.

Parameters

value – Value

void set_bus_voltage_overflow (bool value) SYMBOL_VISIBLE

Set bus voltage overflow value.

Parameters

value – Value

void set_shunt_voltage (ShuntVoltage value) SYMBOL_VISIBLE

Set shunt voltage value.

Parameters

value – Value

UncalibratedPower toUncalibratedPower () const SYMBOL_VISIBLE

Convert bus and shunt voltage to uncalibrated power value.

The voltages are assumed to be correct, the shunt resistance defaults to the expected value of 0.027 Ohm.

Public Static Functions

static std::array< halco::hicann_dls::vx::I2CINA219RoRegisterOnBoard, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::I2CINA219RoRegisterOnBoard, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 2
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, INA219Status &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

BusVoltage m_bus_voltage
bool m_bus_voltage_overflow
ShuntVoltage m_shunt_voltage

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, INA219Status const &config) SYMBOL_VISIBLE
struct haldls::vx::PerfTestStatus::InOrder : public halco::common::detail::RantWrapper<InOrder, uint_fast32_t, 0xffffffff, 0>
#include <perftest.h>

Number of words received in order.

Public Functions

inline explicit constexpr InOrder(uintmax_t const val = 0)
struct haldls::vx::NeuronBackendConfig::InputClock : public halco::common::detail::RantWrapper<InputClock, uint_fast8_t, 1, 0>
#include <neuron.h>

There are two independent but equivalent clocks available.

Both clocks can be configured as desired for the use case. See e.g. RefractoryTime

Public Types

typedef halco::common::detail::RantWrapper<InputClock, uint_fast8_t, 1, 0> rant_t

Public Functions

inline explicit constexpr InputClock()
inline explicit constexpr InputClock(uintmax_t const val)
class haldls::vx::InstructionTimeoutConfig : public haldls::vx::ContainerBase<InstructionTimeoutConfig>
#include <fpga.h>

Container for the configuration of the playback instruction timeout duration.

Public Types

typedef EncodableBase<InstructionTimeoutConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<InstructionTimeoutConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<InstructionTimeoutConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<InstructionTimeoutConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::InstructionTimeoutConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node
typedef Timer::Value Value

Public Functions

explicit  InstructionTimeoutConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE

Get value.

Returns

Duration value

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (InstructionTimeoutConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (InstructionTimeoutConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value value) SYMBOL_VISIBLE

Set value.

Parameters

Duration – value

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, InstructionTimeoutConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Value m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, InstructionTimeoutConfig const &config) SYMBOL_VISIBLE
template<typename ContainerT, typename = void>
struct IsLeafNode : public std::false_type
#include <is_leaf_node.h>
template<typename ContainerT>
struct haldls::IsLeafNode<ContainerT, typename boost::enable_if_has_type<typename ContainerT::is_leaf_node>::type>
#include <is_leaf_node.h>

Public Static Attributes

static constexpr bool value = ContainerT::is_leaf_node::value
template<typename T, typename = void>
struct IsReadable : public std::false_type
#include <is_readable.h>
template<typename T>
struct IsReadable<T, std::enable_if_t<hate::is_in_type_list<T, NonLeafNodeReadableContainerList>::value>> : public std::true_type
#include <is_readable.h>
template<typename T>
struct IsReadable<T, typename boost::enable_if_has_type<decltype(T::config_size_in_words)>::type> : public std::true_type
#include <is_readable.h>
template<typename T>
struct haldls::vx::detail::IsReadable<T, typename boost::enable_if_has_type<decltype(T::read_config_size_in_words)>::type>
#include <is_readable.h>

Public Static Attributes

static constexpr bool value = T::read_config_size_in_words
template<typename T, typename = void>
struct IsWriteable : public std::false_type
#include <is_writeable.h>
template<typename T>
struct IsWriteable<T, std::enable_if_t<hate::is_in_type_list<T, NonLeafNodeWriteableContainerList>::value>> : public std::true_type
#include <is_writeable.h>
template<typename T>
struct IsWriteable<T, typename boost::enable_if_has_type<decltype(T::config_size_in_words)>::type> : public std::true_type
#include <is_writeable.h>
template<typename T>
struct haldls::vx::detail::IsWriteable<T, typename boost::enable_if_has_type<decltype(T::write_config_size_in_words)>::type>
#include <is_writeable.h>

Public Static Attributes

static constexpr bool value = T::write_config_size_in_words
template<typename T>
struct haldls::vx::detail::IsWriteReadable
#include <is_writereadable.h>

Public Static Attributes

static constexpr bool value = IsReadable<T>::value && IsWriteable<T>::value
class haldls::vx::JTAGClockScaler : public haldls::vx::ContainerBase<JTAGClockScaler>
#include <jtag.h>

Container writing JTAG clock-scaler value.

Public Types

typedef EncodableBase<JTAGClockScaler, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<JTAGClockScaler, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<JTAGClockScaler, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<JTAGClockScaler, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::JTAGClockScalerOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  JTAGClockScaler (Value value=Value()) SYMBOL_VISIBLE

Construct scaler with value.

Parameters

valueValue to construct scaler with

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::JTAGClockScaler, read_config_size_in_words > const &data) SYMBOL_VISIBLE

Decode read words into container config.

Parameters

data – Array of word values

virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::JTAGClockScaler, write_config_size_in_words > encode () const SYMBOL_VISIBLE

Get container config encoded in writable words.

Returns

Array of word values

virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (JTAGClockScaler const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (JTAGClockScaler const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set (Value value) SYMBOL_VISIBLE

Set clock-scaler value.

Parameters

value – Clock-scaler value to set

Public Static Functions

static std::array< halco::hicann_dls::vx::JTAGClockScalerOnDLS, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Get word addresses for encoding a read.

Returns

Array of addresses

static std::array< halco::hicann_dls::vx::JTAGClockScalerOnDLS, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Get word addresses for encoding a write.

Returns

Array of addresses

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0

Number of words for read access.

static size_t constexpr write_config_size_in_words = 1

Number of words for write access.

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, JTAGClockScaler &value, std::uint32_t const version)

Private Members

Value m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, JTAGClockScaler const &config) SYMBOL_VISIBLE
class haldls::vx::JTAGIdCode : public haldls::vx::ContainerBase<JTAGIdCode>
#include <jtag.h>

Container for reading the JTAG IDCODE.

Public Types

typedef EncodableBase<JTAGIdCode, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<JTAGIdCode, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<JTAGIdCode, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<JTAGIdCode, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::JTAGIdCodeOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

JTAGIdCode () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::JTAGIdCode, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::JTAGIdCode, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ManufacturerId get_manufacturer_id () const SYMBOL_VISIBLE

Get JEDEC Manufacturer ID code, Heidelberg University has ‘0x057’.

PartNumber get_part_number () const SYMBOL_VISIBLE

Get device identification number.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Version get_version () const SYMBOL_VISIBLE

Get hardware revision number, starting from 0.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (JTAGIdCode const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (JTAGIdCode const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_manufacturer_id (ManufacturerId value) SYMBOL_VISIBLE

Set JEDEC Manufacturer ID code, Heidelberg University has ‘0x057’.

void set_part_number (PartNumber value) SYMBOL_VISIBLE

Set device identification number.

void set_version (Version value) SYMBOL_VISIBLE

Set hardware revision number, starting from 0.

Public Static Functions

static std::array< halco::hicann_dls::vx::JTAGIdCodeOnDLS, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::JTAGIdCodeOnDLS, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, JTAGIdCode &value, std::uint32_t const version)

Private Members

ManufacturerId m_manufacturer_id
PartNumber m_part_number
Version m_version

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, JTAGIdCode const &config) SYMBOL_VISIBLE
struct haldls::vx::CapMemBlockConfig::LevelShifterBias : public halco::common::detail::RantWrapper<LevelShifterBias, uint_fast16_t, 15, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<LevelShifterBias, uint_fast16_t, 15, 0>::rant_t rant_t

Public Functions

inline explicit constexpr LevelShifterBias()
inline explicit constexpr LevelShifterBias(uintmax_t const val)
struct haldls::vx::ADPLL::LoopDivN : public halco::common::detail::RantWrapper<LoopDivN, uint_fast16_t, 31, 1>
#include <pll.h>

Divider to set the frequency of the DCO f_dco (Together with PreDivP0).

f_dco = P0 * N * f_ref.

Public Functions

inline explicit constexpr LoopDivN(uintmax_t const val = 10)
struct haldls::vx::ADPLL::LoopFilterInt : public halco::common::detail::RantWrapper<LoopFilterInt, uint_fast16_t, 31, 1>
#include <pll.h>

Integral part of the PID controller for the DCO.

Public Functions

inline explicit constexpr LoopFilterInt(uintmax_t const val = 2)
struct haldls::vx::ADPLL::LoopFilterProp : public halco::common::detail::RantWrapper<LoopFilterProp, uint_fast16_t, 31, 1>
#include <pll.h>

Proportional part of the PID controller for the DCO.

Public Functions

inline explicit constexpr LoopFilterProp(uintmax_t const val = 8)
haldls::vx::ExtollSpikeCommRouterEventLossDisabled::LostEventCount : public halco::common::detail:: RantWrapper< LostEventCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of lost pulse-events due to disabled routing.

Public Functions

inline explicit constexpr LostEventCount(uintmax_t const val = 0)
haldls::vx::ExtollSpikeCommRouterEventLossMisconf::LostEventCount : public halco::common::detail:: RantWrapper< LostEventCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of lost pulse-events due to invalid routing-table entries.

Public Functions

inline explicit constexpr LostEventCount(uintmax_t const val = 0)
struct haldls::vx::MADCConfig::MADCClockScaleValue : public halco::common::detail::RantWrapper<MADCClockScaleValue, uint_fast16_t, 4095, 0>
#include <madc.h>

Public Functions

inline explicit constexpr MADCClockScaleValue (uintmax_t const val=0) SYMBOL_VISIBLE
class haldls::vx::MADCConfig : public haldls::vx::ContainerBase<MADCConfig>
#include <madc.h>

Configuration container for MADC and related circuitry.

Public Types

typedef EncodableBase<MADCConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<MADCConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<MADCConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<MADCConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::MADCConfigOnDLS coordinate_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::HemisphereOnDLS> hemisphere_type
typedef halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection input_selection_type
typedef std::true_type is_leaf_node
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::SynapticInputOnNeuron> synapse_target_type

Public Functions

MADCConfig () SYMBOL_VISIBLE

Default constructor for the MADC config.

The default values are in a usable state, the MADC is connected to the SourceMultiplexerOnReadoutSourceSelection(0). Only the number of samples to record is required to be set.

double calculate_sample_rate (double const &madc_base_frequency) const SYMBOL_VISIBLE

Accessors for the sampling rate of the madc in Hz.

The calculation considers the following settings of the MADC state:

  • m_sample_duration_adjust

  • m_enable_madc_clock_scaling

  • m_madc_clock_scale_value

Parameters

madc_base_frequency – Base frequency of the madc, which can be obtained from the ADPLL settings and PLLClockOutputBlock.

Returns

Double describing the madc sample rate

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

input_selection_type get_active_mux_initially_selected_input () const SYMBOL_VISIBLE

Set the initially selected input of the active mux.

Caution: the property is called initially_selected_amp in RTL.

ActiveMuxInputSelectLength get_active_mux_input_select_length () const SYMBOL_VISIBLE

Set the number of samples the mux’s inputs are selected for in direct succession.

In the following example the MADC would record four samples on one input, before the mux switches to the other one: input 0: |||| |||| … input 1: |||| |||| …

Caution: the property is called amp_select_length in RTL.

CalibrationWaitValue get_calibration_wait_value () const SYMBOL_VISIBLE

Accessors for the built-in calibration’s timing of the MADC.

bool get_connect_pads_to_madc () const SYMBOL_VISIBLE
bool get_connect_preamp_to_madc () const SYMBOL_VISIBLE
bool get_connect_preamp_to_pads () const SYMBOL_VISIBLE
ConversionCyclesOffset get_conversion_cycles_offset () const SYMBOL_VISIBLE

Configuration for the conversion cycles offset.

This seems to be redundant to sample_duration_adjust. Both settings are summed up in hardware.

Caution: the meaning of this setting was reverse engineered due to a lack of documentation!

bool get_enable_active_mux_amplifiers () const SYMBOL_VISIBLE
bool get_enable_calibration () const SYMBOL_VISIBLE

Accessors for the built-in self-calibration.

bool get_enable_dummy_data () const SYMBOL_VISIBLE
bool get_enable_iconv_amplifier () const SYMBOL_VISIBLE

Accessors for the configuration of the current conversion circuit.

The first property enables the internal amplifier of the circuit. The other properties allow to connect either the direct neuron access or the synaptic debug lines.

bool get_enable_madc_clock_scaling () const SYMBOL_VISIBLE

Accessors for the clock scaling configuration.

The clock is derived from a PLL madc_clk output.

bool get_enable_sar_reset_on_fall () const SYMBOL_VISIBLE

Configuration of the MADC’s SAR reset timing.

SamplingWindowTiming get_iconv_sampling_window_end () const SYMBOL_VISIBLE
SamplingWindowTiming get_iconv_sampling_window_start () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

MADCClockScaleValue get_madc_clock_scale_value () const SYMBOL_VISIBLE
NumberOfSamples get_number_of_samples () const SYMBOL_VISIBLE

Accessors for the number of samples recorded by the MADC.

The MADC records a fixed number of samples as long as it is not configured to sample continuously (c.f. enable_sample_continously).

Caution: this property is called num_samples in the RTL description.

PowerupWaitValue get_powerup_wait_value () const SYMBOL_VISIBLE

Configuration of the powerup wait value.

This MADC remains in the wake up state for a number of MADC clock cycles determined by this property before transitioning to the READY state (via ENABLE).

PreampGainCapacitorSize get_preamp_gain_capacitor_size () const SYMBOL_VISIBLE

Accessors for the preamplifier’s gain selection capacitor.

SamplingWindowTiming get_preamp_sampling_window_end () const SYMBOL_VISIBLE
SamplingWindowTiming get_preamp_sampling_window_start () const SYMBOL_VISIBLE

Accessors for the timing of the sampling phase for both, the (voltage recording) preamp and the current conversion circuit.

The sampling window is determined by the timing of its rising and falling edge.

Caution: these properties are called phi_vga_toggle[0,1] and phi_2quadrant_toggle[0,1] for the preamp and current conversion, respectively.

SampleDurationAdjust get_sample_duration_adjust () const SYMBOL_VISIBLE

Accessors for the sample duration adjustment.

This seems to be redundant to conversion_cycles_offset. Both settings are summed up in hardware.

Caution: the property is called sample_adjust in RTL. Caution: the meaning of this setting was reverse engineered due to a lack of documentation!

bool get_sample_on_positive_edge () const SYMBOL_VISIBLE
SARResetLength get_sar_reset_length () const SYMBOL_VISIBLE
SARResetWait get_sar_reset_wait () const SYMBOL_VISIBLE
bool get_signal_selection_connect_active_mux () const SYMBOL_VISIBLE
bool get_signal_selection_connect_current_meter () const SYMBOL_VISIBLE

Accessors for the preamp mux located before the preamplifier.

This mux has four (pairs of) inputs: the active mux (for voltage measurements), the current conversion circuit, two debug lines (which might be applied to the chip’s pads), and the preamplifier. The first two serve as signal sources, the latter as a sink. The pads may serve as either. To connect two (or more) sources/sinks, the user must connect any of them.

Caution: the respective properties are called fmc_2_quadrant, fmc_act_mux, fmc_debug, and fmc_to_vga.

bool get_signal_selection_connect_debug () const SYMBOL_VISIBLE
bool get_signal_selection_connect_preamp () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (MADCConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (MADCConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) hemisphere_type const &get_connect_iconv_neuron() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) hemisphere_type const &get_enable_pseudo_differential_reference() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) synapse_target_type const &get_connect_iconv_synapse() const SYMBOL_VISIBLE
void set_active_mux_initially_selected_input (input_selection_type const &value) SYMBOL_VISIBLE
void set_active_mux_input_select_length (ActiveMuxInputSelectLength const &value) SYMBOL_VISIBLE
void set_calibration_wait_value (CalibrationWaitValue const &value) SYMBOL_VISIBLE
void set_connect_iconv_neuron (hemisphere_type const &value) SYMBOL_VISIBLE
void set_connect_iconv_synapse (synapse_target_type const &value) SYMBOL_VISIBLE
void set_connect_pads_to_madc (bool const value) SYMBOL_VISIBLE
void set_connect_preamp_to_madc (bool const value) SYMBOL_VISIBLE
void set_connect_preamp_to_pads (bool const value) SYMBOL_VISIBLE
void set_conversion_cycles_offset (ConversionCyclesOffset const &value) SYMBOL_VISIBLE
void set_enable_active_mux_amplifiers (bool const value) SYMBOL_VISIBLE
void set_enable_calibration (bool const value) SYMBOL_VISIBLE
void set_enable_dummy_data (bool const value) SYMBOL_VISIBLE
void set_enable_iconv_amplifier (bool const value) SYMBOL_VISIBLE
void set_enable_madc_clock_scaling (bool const value) SYMBOL_VISIBLE
void set_enable_pseudo_differential_reference (hemisphere_type const &value) SYMBOL_VISIBLE
void set_enable_sar_reset_on_fall (bool const value) SYMBOL_VISIBLE
void set_iconv_sampling_window_end (SamplingWindowTiming const &value) SYMBOL_VISIBLE
void set_iconv_sampling_window_start (SamplingWindowTiming const &value) SYMBOL_VISIBLE
void set_madc_clock_scale_value (MADCClockScaleValue const &value) SYMBOL_VISIBLE
void set_number_of_samples (NumberOfSamples const &value) SYMBOL_VISIBLE
void set_powerup_wait_value (PowerupWaitValue const &value) SYMBOL_VISIBLE
void set_preamp_gain_capacitor_size (PreampGainCapacitorSize const &value) SYMBOL_VISIBLE
void set_preamp_sampling_window_end (SamplingWindowTiming const &value) SYMBOL_VISIBLE
void set_preamp_sampling_window_start (SamplingWindowTiming const &value) SYMBOL_VISIBLE
void set_sample_duration_adjust (SampleDurationAdjust const &value) SYMBOL_VISIBLE
void set_sample_on_positive_edge (bool const value) SYMBOL_VISIBLE
void set_sar_reset_length (SARResetLength const &value) SYMBOL_VISIBLE
void set_sar_reset_wait (SARResetWait const &value) SYMBOL_VISIBLE
void set_signal_selection_connect_active_mux (bool const value) SYMBOL_VISIBLE
void set_signal_selection_connect_current_meter (bool const value) SYMBOL_VISIBLE
void set_signal_selection_connect_debug (bool const value) SYMBOL_VISIBLE
void set_signal_selection_connect_preamp (bool const value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &coord)

Public Static Attributes

static size_t constexpr config_size_in_words = 10

Private Functions

template<class Archive>
friend void serialize(Archive &ar, MADCConfig &value, std::uint32_t const)

Private Members

input_selection_type m_active_mux_initially_selected_input
ActiveMuxInputSelectLength m_active_mux_input_select_length
CalibrationWaitValue m_calibration_wait_value
hemisphere_type m_connect_iconv_neuron
synapse_target_type m_connect_iconv_synapse
bool m_connect_pads_to_madc
bool m_connect_preamp_to_madc
bool m_connect_preamp_to_pads
ConversionCyclesOffset m_conversion_cycles_offset
bool m_enable_active_mux_amplifiers
bool m_enable_calibration
bool m_enable_dummy_data
bool m_enable_iconv_amplifier
bool m_enable_madc_clock_scaling
hemisphere_type m_enable_pseudo_differential_reference
bool m_enable_sar_reset_on_fall
SamplingWindowTiming m_iconv_sampling_window_end
SamplingWindowTiming m_iconv_sampling_window_start
MADCClockScaleValue m_madc_clock_scale_value
NumberOfSamples m_number_of_samples
PowerupWaitValue m_powerup_wait_value
PreampGainCapacitorSize m_preamp_gain_capacitor_size
SamplingWindowTiming m_preamp_sampling_window_end
SamplingWindowTiming m_preamp_sampling_window_start
SampleDurationAdjust m_sample_duration_adjust
bool m_sample_on_positive_edge
SARResetLength m_sar_reset_length
SARResetWait m_sar_reset_wait
bool m_signal_selection_connect_active_mux
bool m_signal_selection_connect_current_meter
bool m_signal_selection_connect_debug
bool m_signal_selection_connect_preamp

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, MADCConfig const &config) SYMBOL_VISIBLE
class haldls::vx::MADCControl : public haldls::vx::ContainerBase<MADCControl>
#include <madc.h>

Container for MADC control state machine.

Flow chart of state machine: https://chat.bioai.eu/visions/pl/s4o4mq36xtyeigtzkw9kgfihcc FIXME: Add more explanatory description (issue #3471)

Public Types

typedef EncodableBase<MADCControl, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<MADCControl, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<MADCControl, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<MADCControl, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::MADCControlOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

MADCControl () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_continuous_sampling () const SYMBOL_VISIBLE

Let the MADC sample continuously.

bool get_enable_iconv_amplifier () const SYMBOL_VISIBLE

Enable switched capacitor amplifier for current measurements.

bool get_enable_power_down_after_sampling () const SYMBOL_VISIBLE

Let the MADC power down after it finished sampling.

bool get_enable_pre_amplifier () const SYMBOL_VISIBLE

Enable switched capacitor pre-amplifier for voltage measurements.

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_start_recording () const SYMBOL_VISIBLE

Start a recording.

bool get_stop_recording () const SYMBOL_VISIBLE

Stop a currently active recording.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

bool get_wake_up () const SYMBOL_VISIBLE

Wake up the MADC.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (MADCControl const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (MADCControl const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_continuous_sampling (bool const value) SYMBOL_VISIBLE
void set_enable_iconv_amplifier (bool const value) SYMBOL_VISIBLE
void set_enable_power_down_after_sampling (bool const value) SYMBOL_VISIBLE
void set_enable_pre_amplifier (bool const value) SYMBOL_VISIBLE
void set_start_recording (bool const value) SYMBOL_VISIBLE
void set_stop_recording (bool const value) SYMBOL_VISIBLE
void set_wake_up (bool const value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, MADCControl &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable_continuous_sampling
bool m_enable_iconv_amplifier
bool m_enable_power_down_after_sampling
bool m_enable_pre_amplifier
bool m_start_recording
bool m_stop_recording
bool m_wake_up

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, MADCControl const &event) SYMBOL_VISIBLE
class haldls::vx::MADCSampleFromChip
#include <event.h>

MADCSample from chip.

It is comprised of the sample value, FPGA and chip time annotation.

Public Types

typedef halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection Channel

Channel selected on the active multiplexer for which this sample was acquired.

Public Functions

MADCSampleFromChip() = default

Default constructor.

inline MADCSampleFromChip(fisch::vx::MADCSampleFromChip const &data)

Construct an MADC sample from the data representation.

Parameters

data – Data to use

inline MADCSampleFromChip(Value const &value, Channel const &channel, FPGATime const &fpga_time, ChipTime const &chip_time)

Construct MADC sample from chip via a value, FPGA and chip time information.

Parameters
  • value – sample value to use

  • channel – channel from which the value was sampled

  • fpga_time – FPGATime to use

  • chip_time – ChipTime to use

bool operator!= (MADCSampleFromChip const &other) const SYMBOL_VISIBLE
bool operator== (MADCSampleFromChip const &other) const SYMBOL_VISIBLE

Public Members

Channel channel

Channel from which this sample was obtained.

ChipTime chip_time

Chip time.

FPGATime fpga_time

FPGA time.

Value value

Sample value.

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, MADCSampleFromChip &value, std::uint32_t const version)

Friends

friend struct cereal::access
friend struct detail::MADCSampleFromChipChecker
friend std::ostream & operator<< (std::ostream &os, MADCSampleFromChip const &sample) SYMBOL_VISIBLE
struct MADCSampleFromChipChecker
#include <event.h>
struct haldls::vx::detail::PhyConfigBase::ManualDelay : public halco::common::detail::RantWrapper<ManualDelay, uint_fast32_t, 15, 0>
#include <phy.h>

Public Functions

inline explicit constexpr ManualDelay(uintmax_t const val = 0)
struct haldls::vx::JTAGIdCode::ManufacturerId : public halco::common::detail::RantWrapper<ManufacturerId, uint_fast16_t, 2047, 0>
#include <jtag.h>

JEDEC Manufacturer ID code, Heidelberg University has ‘0x057’.

Public Functions

inline explicit constexpr ManufacturerId(uintmax_t const val = 0)
struct haldls::vx::BackgroundSpikeSource::Mask : public halco::common::detail::RantWrapper<Mask, uint_fast16_t, hate::math::pow(2, 8) - 1, 0>
#include <background.h>

NeuronLabel bit randomization mask.

The lower eight bits of the set neuron label can be replaced by random values on every spike output. Enabled bits lead to replacement by random values.

Public Functions

inline explicit constexpr Mask(uintmax_t const val = 0)
struct haldls::vx::v3::NeuronConfig::MembraneCapacitorSize : public halco::common::detail::RantWrapper<MembraneCapacitorSize, uint_fast8_t, 63, 0>
#include <neuron.h>

Size of membrane capacitor.

Maximal size is ~2.3pF.

Public Functions

inline explicit constexpr MembraneCapacitorSize(uintmax_t const val = 0)
template<typename Coordinates>
struct haldls::vx::NeuronBackendConfig : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<NeuronBackendConfig<Coordinates>>
#include <neuron.h>

Read/write access to the NeuronBackend container.

All relevant settings of the NeuronBackend can be accessed and set via the NeuronBackendConfig. The choice of the parameters (e.g. RefractoryTime) depends on the use case of the user and the targeted biological model/experiment. Implementation examples are yet to be written and will then be found in the CI test environment.

Public Types

typedef halco::hicann_dls::vx::NeuronBackendAddressOut AddressOut
typedef EncodableBase<NeuronBackendConfig<Coordinates>, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<NeuronBackendConfig<Coordinates>, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<NeuronBackendConfig<Coordinates>, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<NeuronBackendConfig<Coordinates>, Container>::Coordinate Coordinate
typedef Coordinates::NeuronBackendConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

NeuronBackendConfig()
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

AddressOut get_address_out() const

Lower 8 bit of the output spike address.

The upper 5 bit are determined by the position of the neuron.

bool get_connect_fire_bottom() const

Connect fire signal to the opposite hemisphere.

bool get_connect_fire_from_right() const

Connect fire signal from the right adjacent neuron.

This setting is currently broken, cf. issue 3858.

bool get_connect_fire_to_right() const

Connect fire signal to the right adjacent neuron.

Implemented as a uni-directional driver, overwrites any state of the neuron to the right.

bool get_enable_adaptation_pulse() const

Enable output of a pulse to the adaptation circuitry, allowing for spike-triggered adaptation.

bool get_enable_bayesian_0() const

Switch between different logic operations in the bayesian extension.

There are four different operating modes, encoded by enable bits 0 and 1: en_0 en_1 mode 0 0 neuron_refrac (local refractory state only) 1 0 neuron_refrac AND neuron_fire_connect 0 1 NOT neuron_refrac XOR neuron_fire_connect 1 1 neuron_refrac MULLER C-ELEMENT neuron_fire_connect

bool get_enable_bayesian_1() const

Switch between different logic operations in the bayesian extension.

There are four different operating modes, encoded by enable bits 0 and 1: en_0 en_1 mode 0 0 neuron_refrac (local refractory state only) 1 0 neuron_refrac AND neuron_fire_connect 0 1 NOT neuron_refrac XOR neuron_fire_connect 1 1 neuron_refrac MULLER C-ELEMENT neuron_fire_connect

bool get_enable_bayesian_extension() const

Use the bayesian logic module for generating post pulses.

If disabled, the neuron_fire_connect signal is used to trigger post pulses.

bool get_enable_neuron_master() const

Write the local fire output to the common neuron_fire_connect line.

If the threshold comparator creates a fire signal, all connected neurons receive a fire input.

In order for the fire signal to trigger a post pulse for the synapses, either this setting can be used, or the bayesian extensions need to be enabled.

bool get_enable_neuron_slave() const

Receive fire signals from a connected master neuron via neuron_fire_connect, i.e.

receive refractory state from there.

bool get_enable_spike_out() const

Enable spike packet output.

Required e.g. for recurrent networks, but not required for the spike counter and post pulses.

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_post_overwrite() const

Use an external debug post pulse exclusively, disable the internal pulse generation.

RefractoryTime get_refractory_time() const

Refractory counter setting.

ResetHoldoff get_reset_holdoff() const

Bits 4, 3, 2, 1 (but not 0) of the refractory counter to release the reset at.

For a full explanation, refer to the ResetHoldoff type.

InputClock get_select_input_clock() const

Switch between the two refractory clocks provided by the common neuron backend.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!=(NeuronBackendConfig const &other) const
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator==(NeuronBackendConfig const &other) const
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_address_out(AddressOut addr)
void set_connect_fire_bottom(bool val)
void set_connect_fire_from_right(bool val)
void set_connect_fire_to_right(bool val)
void set_enable_adaptation_pulse(bool val)
void set_enable_bayesian_0(bool val)
void set_enable_bayesian_1(bool val)
void set_enable_bayesian_extension(bool val)
void set_enable_neuron_master(bool val)
void set_enable_neuron_slave(bool val)
void set_enable_spike_out(bool val)
void set_post_overwrite(bool val)
void set_refractory_time(RefractoryTime val)
void set_reset_holdoff(ResetHoldoff val)
void set_select_input_clock(InputClock src)

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &neuron)

Public Static Attributes

static size_t constexpr config_size_in_words = 4
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

template<class Archive, typename T>
friend void serialize(Archive &ar, NeuronBackendConfig<T> &value, std::uint32_t const version)

Private Members

AddressOut m_address_out
bool m_connect_fire_bottom
bool m_connect_fire_from_right
bool m_connect_fire_to_right
bool m_en_0_bayesian
bool m_en_1_bayesian
bool m_en_adapt_pulse
bool m_en_bayesian_extension
bool m_en_neuron_master
bool m_en_neuron_slave
bool m_en_spike_out
bool m_post_overwrite
RefractoryTime m_refractory_time
ResetHoldoff m_reset_holdoff
InputClock m_select_input_clock

Friends

friend struct cereal::access
inline friend std::ostream &operator<<(std::ostream &os, NeuronBackendConfig<Coordinates> const &config)
class haldls::vx::NeuronBackendSRAMTimingConfig : public haldls::vx::detail::SRAMTimingConfig, public haldls::vx::ContainerBase<NeuronBackendSRAMTimingConfig>
#include <neuron.h>

Public Types

typedef EncodableBase<NeuronBackendSRAMTimingConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<NeuronBackendSRAMTimingConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<NeuronBackendSRAMTimingConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<NeuronBackendSRAMTimingConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::NeuronBackendSRAMTimingConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

AddressSetupTime get_address_setup_time () const SYMBOL_VISIBLE
EnableWidth get_enable_width () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ReadDelay get_read_delay () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (NeuronBackendSRAMTimingConfig const &other) const SYMBOL_VISIBLE
bool operator!= (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (NeuronBackendSRAMTimingConfig const &other) const SYMBOL_VISIBLE
bool operator== (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_address_setup_time (AddressSetupTime value) SYMBOL_VISIBLE
void set_enable_width (EnableWidth value) SYMBOL_VISIBLE
void set_read_delay (ReadDelay value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 2
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation, hxcomm::vx::Target::hardware}

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, NeuronBackendSRAMTimingConfig &value, std::uint32_t)

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, NeuronBackendSRAMTimingConfig const &config) SYMBOL_VISIBLE
class haldls::vx::v3::NeuronConfig : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<NeuronConfig>
#include <neuron.h>

Public Types

typedef EncodableBase<NeuronConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<NeuronConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<NeuronConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<NeuronConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::v3::NeuronConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node
enum ReadoutSource

Source of readout output.

Values:

enumerator membrane
enumerator exc_synin
enumerator inh_synin
enumerator adaptation

Public Functions

NeuronConfig () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_connect_bottom () const SYMBOL_VISIBLE
bool get_connect_membrane_right () const SYMBOL_VISIBLE
bool get_connect_soma () const SYMBOL_VISIBLE
bool get_connect_soma_right () const SYMBOL_VISIBLE
bool get_enable_adaptation () const SYMBOL_VISIBLE
bool get_enable_bypass_excitatory () const SYMBOL_VISIBLE
bool get_enable_bypass_inhibitory () const SYMBOL_VISIBLE
bool get_enable_divide_multicomp_conductance_bias () const SYMBOL_VISIBLE
bool get_enable_exponential () const SYMBOL_VISIBLE
bool get_enable_fire () const SYMBOL_VISIBLE
bool get_enable_leak_degeneration () const SYMBOL_VISIBLE
bool get_enable_leak_division () const SYMBOL_VISIBLE
bool get_enable_leak_multiplication () const SYMBOL_VISIBLE
bool get_enable_membrane_offset () const SYMBOL_VISIBLE
bool get_enable_multicomp_conductance () const SYMBOL_VISIBLE
bool get_enable_multiply_multicomp_conductance_bias () const SYMBOL_VISIBLE
bool get_enable_pause () const SYMBOL_VISIBLE
bool get_enable_readout () const SYMBOL_VISIBLE
bool get_enable_readout_amplifier () const SYMBOL_VISIBLE
bool get_enable_reset_degeneration () const SYMBOL_VISIBLE
bool get_enable_reset_division () const SYMBOL_VISIBLE
bool get_enable_reset_multiplication () const SYMBOL_VISIBLE
bool get_enable_strong_fire () const SYMBOL_VISIBLE
bool get_enable_synaptic_input_excitatory () const SYMBOL_VISIBLE
bool get_enable_synaptic_input_excitatory_coba_mode () const SYMBOL_VISIBLE
bool get_enable_synaptic_input_excitatory_high_resistance () const SYMBOL_VISIBLE
bool get_enable_synaptic_input_excitatory_small_capacitance () const SYMBOL_VISIBLE
bool get_enable_synaptic_input_inhibitory () const SYMBOL_VISIBLE
bool get_enable_synaptic_input_inhibitory_coba_mode () const SYMBOL_VISIBLE
bool get_enable_synaptic_input_inhibitory_high_resistance () const SYMBOL_VISIBLE
bool get_enable_synaptic_input_inhibitory_small_capacitance () const SYMBOL_VISIBLE
bool get_enable_threshold_comparator () const SYMBOL_VISIBLE
bool get_enable_unbuffered_access () const SYMBOL_VISIBLE
bool get_invert_adaptation_a () const SYMBOL_VISIBLE
bool get_invert_adaptation_b () const SYMBOL_VISIBLE
bool get_invert_membrane_offset () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

MembraneCapacitorSize get_membrane_capacitor_size () const SYMBOL_VISIBLE
ReadoutSource get_readout_source () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (NeuronConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (NeuronConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_connect_bottom (bool value) SYMBOL_VISIBLE
void set_connect_membrane_right (bool value) SYMBOL_VISIBLE
void set_connect_soma (bool value) SYMBOL_VISIBLE
void set_connect_soma_right (bool value) SYMBOL_VISIBLE
void set_enable_adaptation (bool value) SYMBOL_VISIBLE
void set_enable_bypass_excitatory (bool value) SYMBOL_VISIBLE
void set_enable_bypass_inhibitory (bool value) SYMBOL_VISIBLE
void set_enable_divide_multicomp_conductance_bias (bool value) SYMBOL_VISIBLE
void set_enable_exponential (bool value) SYMBOL_VISIBLE
void set_enable_fire (bool value) SYMBOL_VISIBLE
void set_enable_leak_degeneration (bool value) SYMBOL_VISIBLE
void set_enable_leak_division (bool value) SYMBOL_VISIBLE
void set_enable_leak_multiplication (bool value) SYMBOL_VISIBLE
void set_enable_membrane_offset (bool value) SYMBOL_VISIBLE
void set_enable_multicomp_conductance (bool value) SYMBOL_VISIBLE
void set_enable_multiply_multicomp_conductance_bias (bool value) SYMBOL_VISIBLE
void set_enable_pause (bool value) SYMBOL_VISIBLE
void set_enable_readout (bool value) SYMBOL_VISIBLE
void set_enable_readout_amplifier (bool value) SYMBOL_VISIBLE
void set_enable_reset_degeneration (bool value) SYMBOL_VISIBLE
void set_enable_reset_division (bool value) SYMBOL_VISIBLE
void set_enable_reset_multiplication (bool value) SYMBOL_VISIBLE
void set_enable_strong_fire (bool value) SYMBOL_VISIBLE
void set_enable_synaptic_input_excitatory (bool value) SYMBOL_VISIBLE
void set_enable_synaptic_input_excitatory_coba_mode (bool value) SYMBOL_VISIBLE
void set_enable_synaptic_input_excitatory_high_resistance (bool value) SYMBOL_VISIBLE
void set_enable_synaptic_input_excitatory_small_capacitance (bool value) SYMBOL_VISIBLE
void set_enable_synaptic_input_inhibitory (bool value) SYMBOL_VISIBLE
void set_enable_synaptic_input_inhibitory_coba_mode (bool value) SYMBOL_VISIBLE
void set_enable_synaptic_input_inhibitory_high_resistance (bool value) SYMBOL_VISIBLE
void set_enable_synaptic_input_inhibitory_small_capacitance (bool value) SYMBOL_VISIBLE
void set_enable_threshold_comparator (bool value) SYMBOL_VISIBLE
void set_enable_unbuffered_access (bool value) SYMBOL_VISIBLE
void set_invert_adaptation_a (bool value) SYMBOL_VISIBLE
void set_invert_adaptation_b (bool value) SYMBOL_VISIBLE
void set_invert_membrane_offset (bool value) SYMBOL_VISIBLE
void set_membrane_capacitor_size (MembraneCapacitorSize value) SYMBOL_VISIBLE
void set_readout_source (ReadoutSource value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 6
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, NeuronConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_connect_bottom
bool m_connect_membrane_right
bool m_connect_soma
bool m_connect_somata
bool m_en_adapt
bool m_en_byp_exc
bool m_en_byp_inh
bool m_en_comp_cond
bool m_en_comp_cond_div
bool m_en_comp_cond_mul
bool m_en_exp
bool m_en_fire
bool m_en_leak_deg
bool m_en_leak_div
bool m_en_leak_mul
bool m_en_mem_off
bool m_en_pause
bool m_en_readout
bool m_en_readout_amp
bool m_en_reset_deg
bool m_en_reset_div
bool m_en_reset_mul
bool m_en_strong_fire
bool m_en_synin_exc
bool m_en_synin_exc_coba
bool m_en_synin_exc_high_res
bool m_en_synin_exc_small_cap
bool m_en_synin_inh
bool m_en_synin_inh_coba
bool m_en_synin_inh_high_res
bool m_en_synin_inh_small_cap
bool m_en_thresh_comp
bool m_en_unbuf_access
bool m_invert_adapt_a
bool m_invert_adapt_b
bool m_invert_current
MembraneCapacitorSize m_mem_cap_size
ReadoutSource m_readout_select

Friends

friend std::ostream & operator<< (std::ostream &os, NeuronConfig const &config) SYMBOL_VISIBLE
class haldls::vx::NeuronReset : public haldls::vx::ContainerBase<NeuronReset>
#include <neuron.h>

Container to trigger reset of a single neuron.

Public Types

typedef EncodableBase<NeuronReset, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<NeuronReset, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<NeuronReset, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<NeuronReset, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::NeuronResetOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

NeuronReset () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (NeuronReset const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (NeuronReset const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, NeuronReset &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, NeuronReset const &config) SYMBOL_VISIBLE
class haldls::vx::v3::NeuronResetQuad : public haldls::vx::ContainerBase<NeuronResetQuad>
#include <neuron.h>

Container to trigger reset of a quad of neurons at once.

Currently, also the correlation in the corresponding synapse quad in row zero is reset. This behaviour will be fixed for HX-v3 (issue 3346).

Public Types

typedef EncodableBase<NeuronResetQuad, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<NeuronResetQuad, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<NeuronResetQuad, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<NeuronResetQuad, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::v3::NeuronResetQuadOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

NeuronResetQuad () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (NeuronResetQuad const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (NeuronResetQuad const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, NeuronResetQuad &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend std::ostream & operator<< (std::ostream &os, NeuronResetQuad const &config) SYMBOL_VISIBLE
class haldls::vx::NeuronSRAMTimingConfig : public haldls::vx::detail::SRAMTimingConfig, public haldls::vx::ContainerBase<NeuronSRAMTimingConfig>
#include <neuron.h>

Public Types

typedef EncodableBase<NeuronSRAMTimingConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<NeuronSRAMTimingConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<NeuronSRAMTimingConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<NeuronSRAMTimingConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::NeuronSRAMTimingConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

AddressSetupTime get_address_setup_time () const SYMBOL_VISIBLE
EnableWidth get_enable_width () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ReadDelay get_read_delay () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (NeuronSRAMTimingConfig const &other) const SYMBOL_VISIBLE
bool operator!= (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (NeuronSRAMTimingConfig const &other) const SYMBOL_VISIBLE
bool operator== (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_address_setup_time (AddressSetupTime value) SYMBOL_VISIBLE
void set_enable_width (EnableWidth value) SYMBOL_VISIBLE
void set_read_delay (ReadDelay value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 2
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, NeuronSRAMTimingConfig &value, std::uint32_t)

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, NeuronSRAMTimingConfig const &config) SYMBOL_VISIBLE
class haldls::vx::NullPayloadReadable : public haldls::vx::ContainerBase<NullPayloadReadable>
#include <null_payload_readable.h>

Public Types

typedef EncodableBase<NullPayloadReadable, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<NullPayloadReadable, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<NullPayloadReadable, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<NullPayloadReadable, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::NullPayloadReadableOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

NullPayloadReadable() = default
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::NullPayloadReadable, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::NullPayloadReadable, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (NullPayloadReadable const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (NullPayloadReadable const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

static std::array< halco::hicann_dls::vx::NullPayloadReadableOnFPGA, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::NullPayloadReadableOnFPGA, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, NullPayloadReadable &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, NullPayloadReadable const &config) SYMBOL_VISIBLE
struct haldls::vx::MADCConfig::NumberOfSamples : public halco::common::detail::RantWrapper<NumberOfSamples, uint_fast16_t, 65535, 0>
#include <madc.h>

Public Functions

inline explicit constexpr NumberOfSamples (uintmax_t const val=0) SYMBOL_VISIBLE
struct haldls::vx::CADCChannelConfig::Offset : public halco::common::detail::RantWrapper<Offset, int_fast16_t, 127, -128>
#include <cadc.h>

Offset value to add to measurement.

Public Types

typedef halco::common::detail::RantWrapper<Offset, int_fast16_t, 127, -128> rant_t

Public Functions

inline explicit constexpr Offset(intmax_t const val = 0)
struct haldls::vx::SynapseDriverConfig::Offset : public halco::common::detail::RantWrapper<Offset, uint_fast8_t, 15, 0>
#include <synapse_driver.h>

Public Functions

inline explicit constexpr Offset(uintmax_t const val = 0)
struct haldls::vx::PhyStatus::OnlineTime : public halco::common::detail::BaseType<OnlineTime, uint32_t>
#include <phy.h>

Online time in cycles since last reset.

Public Functions

inline explicit constexpr OnlineTime(uintmax_t const val = 0)
struct haldls::vx::CapMemBlockConfig::OutAmpBias : public halco::common::detail::RantWrapper<OutAmpBias, uint_fast16_t, 15, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<OutAmpBias, uint_fast16_t, 15, 0>::rant_t rant_t

Public Functions

inline explicit constexpr OutAmpBias()
inline explicit constexpr OutAmpBias(uintmax_t const val)
haldls::vx::ExtollSpikeCommBucketNumPktsSent::PacketCount : public halco::common::detail::RantWrapper< PacketCount, uint64_t, 0xffff 'ffff 'ffffull, 0 >
#include <extoll.h>

Counts the number of packets sent to the network from this bucket.

Public Functions

inline explicit constexpr PacketCount(uintmax_t const val = 0)
struct haldls::vx::ExtollSpikeCommBucketTriggerConfig::PacketTimeout : public halco::common::detail::RantWrapper<PacketTimeout, uint16_t, 0xff, 0>
#include <extoll.h>

Number of total FPGA clock-cycles until the accumulated packet is flushed.

Public Functions

inline explicit constexpr PacketTimeout(uintmax_t const val = 0)
class haldls::vx::PADIEvent : public haldls::vx::ContainerBase<PADIEvent>
#include <padi.h>

A container for the PADI event trigger register.

There exists one trigger register per block of PADI buses. Events carry the actual event address, a row select address to determine the target synapse driver row, and a mask to specify the set of PADI buses to fire the event on.

Public Types

typedef EncodableBase<PADIEvent, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PADIEvent, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PADIEvent, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PADIEvent, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PADIEventOnDLS coordinate_type
using EventAddress = halco::hicann_dls::vx::SynapseLabel
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::PADIBusOnPADIBusBlock> fire_bus_type
typedef std::true_type is_leaf_node
using RowSelectAddress = halco::hicann_dls::vx::PADIRowSelectAddress

Public Functions

PADIEvent () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

EventAddress get_event_address () const SYMBOL_VISIBLE

Set event address, which is eventually forwarded to synapses.

HagenActivation get_hagen_activation () const SYMBOL_VISIBLE

Set Hagen-mode activation payload, which is eventually forwarded to synapses.

This setting accesses the lower five bits of the EventAddress.

HagenAddress get_hagen_address () const SYMBOL_VISIBLE

Set Hagen-mode address, which is eventually forwarded to synapses.

This setting accesses the highest bit of the EventAddress.

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

RowSelectAddress get_row_select_address () const SYMBOL_VISIBLE

Set row select address determining the synapse driver which is supposed to fire.

Note that each synapse driver can be configured to match only parts of the row select address.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PADIEvent const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PADIEvent const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) fire_bus_type const &get_fire_bus() const SYMBOL_VISIBLE
void set_event_address (EventAddress const value) SYMBOL_VISIBLE
void set_fire_bus (fire_bus_type const &value) SYMBOL_VISIBLE
void set_hagen_activation (HagenActivation const value) SYMBOL_VISIBLE
void set_hagen_address (HagenAddress const value) SYMBOL_VISIBLE
void set_row_select_address (RowSelectAddress const value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, PADIEvent &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

EventAddress m_event_address
fire_bus_type m_fire_bus
RowSelectAddress m_row_select_address

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PADIEvent const &event) SYMBOL_VISIBLE
class haldls::vx::PadMultiplexerConfig : public haldls::vx::ContainerBase<PadMultiplexerConfig>
#include <readout.h>

A configuration container for the top-level readout mux, selecting the connections between an analog readout pad and different components on the chip.

There are two equal instances of this mux on the chip, one for each of the two pads.

Public Types

typedef EncodableBase<PadMultiplexerConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PadMultiplexerConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PadMultiplexerConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection> buffer_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::CapMemBlockOnDLS> capmem_quadrant_type
typedef EncodableBase<PadMultiplexerConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PadMultiplexerConfigOnDLS coordinate_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::HemisphereOnDLS> hemisphere_type
typedef std::true_type is_leaf_node

Public Functions

PadMultiplexerConfig () SYMBOL_VISIBLE

Default constructor with all inputs disabled.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_cadc_debug_acausal_to_synapse_intermediate_mux () const SYMBOL_VISIBLE

Enable connection of acausal CADC debug line to intermediate mux.

To reach the pad, the connection between the synapse intermediate mux and the pad has to be enabled as well.

bool get_cadc_debug_causal_to_synapse_intermediate_mux () const SYMBOL_VISIBLE

Enable connection of causal CADC debug line to intermediate mux.

To reach the pad, the connection between the synapse intermediate mux and the pad has to be enabled as well.

bool get_cadc_v_ramp_mux_to_pad () const SYMBOL_VISIBLE

Enable connection of cadc_v_ramp_mux to pad.

bool get_capmem_i_out_mux_to_capmem_intermediate_mux () const SYMBOL_VISIBLE

Enable connection of capmem_i_out_mux to intermediate mux.

To reach the pad, the connection between the CapMem intermediate mux and the pad has to be enabled as well.

bool get_capmem_intermediate_mux_to_pad () const SYMBOL_VISIBLE

Enable connection of CapMem intermediate mux to pad.

The intermediate mux selects between different capmem-specific sources.

bool get_capmem_v_out_mux_to_capmem_intermediate_mux () const SYMBOL_VISIBLE

Enable connection of capmem_v_out_mux to intermediate mux.

To reach the pad, the connection between the CapMem intermediate mux and the pad has to be enabled as well.

bool get_capmem_v_ref_mux_to_capmem_intermediate_mux () const SYMBOL_VISIBLE

Enable connection of capmem_v_ref_mux to intermediate mux.

To reach the pad, the connection between the CapMem intermediate mux and the pad has to be enabled as well.

bool get_debug_to_pad () const SYMBOL_VISIBLE

Enable connection of debug lines to pad.

Enabling this connection on pad 0 connects the debug_plus line to that pad, enabling this connection on pad 1 connects the debug_minus line to that pad.

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_neuron_i_stim_mux_to_pad () const SYMBOL_VISIBLE

Enable connection of neuron unbuffered membrane access neuron_i_stim_mux to pad.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

bool get_synapse_intermediate_mux_to_pad () const SYMBOL_VISIBLE

Enable connection of synapse intermediate mux to pad.

The intermediate mux selects between different sources in the synapse array, namely the debug lines at the synaptic input and the correlation readout.

bool get_synin_debug_excitatory_to_synapse_intermediate_mux () const SYMBOL_VISIBLE

Enable connection of excitatory synaptic input debug line to intermediate mux.

To reach the pad, the connection between the synapse intermediate mux and the pad has to be enabled as well.

bool get_synin_debug_inhibitory_to_synapse_intermediate_mux () const SYMBOL_VISIBLE

Enable connection of inhibitory synaptic input debug line to intermediate mux.

To reach the pad, the connection between the synapse intermediate mux and the pad has to be enabled as well.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PadMultiplexerConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PadMultiplexerConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) buffer_type const &get_buffer_to_pad() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) capmem_quadrant_type const &get_cadc_v_ramp_mux() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) capmem_quadrant_type const &get_capmem_i_out_mux() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) capmem_quadrant_type const &get_capmem_v_out_mux() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) capmem_quadrant_type const &get_capmem_v_ref_mux() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) hemisphere_type const &get_neuron_i_stim_mux() const SYMBOL_VISIBLE
void set_buffer_to_pad (buffer_type const &value) SYMBOL_VISIBLE
void set_cadc_debug_acausal_to_synapse_intermediate_mux (bool value) SYMBOL_VISIBLE
void set_cadc_debug_causal_to_synapse_intermediate_mux (bool value) SYMBOL_VISIBLE
void set_cadc_v_ramp_mux (capmem_quadrant_type const &value) SYMBOL_VISIBLE
void set_cadc_v_ramp_mux_to_pad (bool value) SYMBOL_VISIBLE
void set_capmem_i_out_mux (capmem_quadrant_type const &value) SYMBOL_VISIBLE
void set_capmem_i_out_mux_to_capmem_intermediate_mux (bool value) SYMBOL_VISIBLE
void set_capmem_intermediate_mux_to_pad (bool value) SYMBOL_VISIBLE
void set_capmem_v_out_mux (capmem_quadrant_type const &value) SYMBOL_VISIBLE
void set_capmem_v_out_mux_to_capmem_intermediate_mux (bool value) SYMBOL_VISIBLE
void set_capmem_v_ref_mux (capmem_quadrant_type const &value) SYMBOL_VISIBLE
void set_capmem_v_ref_mux_to_capmem_intermediate_mux (bool value) SYMBOL_VISIBLE
void set_debug_to_pad (bool value) SYMBOL_VISIBLE
void set_neuron_i_stim_mux (hemisphere_type const &value) SYMBOL_VISIBLE
void set_neuron_i_stim_mux_to_pad (bool value) SYMBOL_VISIBLE
void set_synapse_intermediate_mux_to_pad (bool value) SYMBOL_VISIBLE
void set_synin_debug_excitatory_to_synapse_intermediate_mux (bool value) SYMBOL_VISIBLE
void set_synin_debug_inhibitory_to_synapse_intermediate_mux (bool value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, PadMultiplexerConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

buffer_type m_buffer_to_pad
bool m_cadc_debug_acausal_to_inter
bool m_cadc_debug_causal_to_inter
capmem_quadrant_type m_cadc_v_ramp_mux
bool m_cadc_v_ramp_mux_to_pad
capmem_quadrant_type m_capmem_i_out_mux
bool m_capmem_i_out_mux_to_inter
bool m_capmem_inter_mux_to_pad
capmem_quadrant_type m_capmem_v_out_mux
bool m_capmem_v_out_mux_to_inter
capmem_quadrant_type m_capmem_v_ref_mux
bool m_capmem_v_ref_mux_to_inter
bool m_debug_to_pad
hemisphere_type m_neuron_i_stim_mux
bool m_neuron_i_stim_mux_to_pad
bool m_synapse_inter_mux_to_pad
bool m_synin_debug_excitatory_to_inter
bool m_synin_debug_inhibitory_to_inter

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PadMultiplexerConfig const &config) SYMBOL_VISIBLE
struct haldls::vx::JTAGIdCode::PartNumber : public halco::common::detail::RantWrapper<PartNumber, uint_fast16_t, 65535, 0>
#include <jtag.h>

Device identification number.

Public Functions

inline explicit constexpr PartNumber(uintmax_t const val = 0)
struct haldls::vx::CapMemBlockConfig::PauseCounter : public halco::common::detail::RantWrapper<PauseCounter, uint_fast32_t, 4294967295, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<PauseCounter, uint_fast32_t, 4294967295, 0>::rant_t rant_t

Public Functions

inline explicit constexpr PauseCounter()
inline explicit constexpr PauseCounter(uintmax_t const val)
struct haldls::vx::CommonSynramConfig::PCConf : public halco::common::detail::RantWrapper<PCConf, uint_fast16_t, 15, 0>
#include <synapse.h>

Precharge configuration.

A higher value results in a shorter time. See: Hock, Matthias. (2014). Modern Semiconductor Technologies for Neuromorphic Hardware, p.26ff, p.156f, http://doi.org/10.11588/heidok.00017129.

Public Functions

inline explicit constexpr PCConf(uintmax_t const val = 8)
class haldls::vx::PerfTest : public haldls::vx::ContainerBase<PerfTest>
#include <perftest.h>

Container for enabling highspeed perf test.

Words transfering an increasing counter value are sent. The received word count is expected to be equal to the sent count and all received words are expected to be in order. The test execution does not block playback execution.

Public Types

typedef EncodableBase<PerfTest, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PerfTest, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PerfTest, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PerfTest, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PerfTestOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  PerfTest (bool value=false) SYMBOL_VISIBLE

Construct perf test with enable value.

Parameters

value – Enable value of test execution

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable () const SYMBOL_VISIBLE

Get enable value of test execution.

Returns

value Boolean value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PerfTest const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PerfTest const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable (bool value) SYMBOL_VISIBLE

Set enable value of test execution.

Parameters

value – Boolean value

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, PerfTest &value, std::uint32_t const version)

Private Members

bool m_enable

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PerfTest const &config) SYMBOL_VISIBLE
class haldls::vx::PerfTestStatus : public haldls::vx::ContainerBase<PerfTestStatus>
#include <perftest.h>

Container for perf test result readout.

Public Types

typedef EncodableBase<PerfTestStatus, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PerfTestStatus, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PerfTestStatus, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PerfTestStatus, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PerfTestStatusOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PerfTestStatus () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

ErrorWord get_error_word () const SYMBOL_VISIBLE

Get index of first non-consecutive word.

Returns

ErrorWord index value

InOrder get_in_order () const SYMBOL_VISIBLE

Get number of words received in order.

Returns

InOrder counter value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

Received get_received () const SYMBOL_VISIBLE

Get number of successfully received words.

Returns

Received counter value

Sent get_sent () const SYMBOL_VISIBLE

Get number of successfully sent words.

Returns

Sent counter value

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PerfTestStatus const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PerfTestStatus const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_error_word (ErrorWord value) SYMBOL_VISIBLE

Set index of first non-consecutive word.

Parameters

valueErrorWord index value

void set_in_order (InOrder value) SYMBOL_VISIBLE

Set number of words received in order.

Parameters

valueInOrder counter value

void set_received (Received value) SYMBOL_VISIBLE

Set number of successfully received words.

Parameters

valueReceived counter value

void set_sent (Sent value) SYMBOL_VISIBLE

Set number of successfully sent words.

Parameters

valueSent counter value

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 4
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, PerfTestStatus &value, std::uint32_t const version)

Private Members

ErrorWord m_error_word
InOrder m_in_order
Received m_received
Sent m_sent

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PerfTestStatus const &config) SYMBOL_VISIBLE
struct haldls::vx::BackgroundSpikeSource::Period : public halco::common::detail::RantWrapper<Period, uint_fast32_t, hate::math::pow(2, 16) - 1, 0>
#include <background.h>

Inter-spike interval for regular and inter-bin interval for Poisson spike generation.

The period is set in units of clock cycles.

Public Functions

inline explicit constexpr Period(uintmax_t const val = 0)
class haldls::vx::detail::PhyConfigBase
#include <phy.h>

Common base class for PhyConfig of the FPGA- and chip-side PHYs.

Subclassed by haldls::vx::PhyConfigChip, haldls::vx::PhyConfigFPGA

Public Types

typedef std::true_type is_leaf_node

Public Functions

DebugOutputs get_debug_outputs () const SYMBOL_VISIBLE
bool get_enable_auto_init () const SYMBOL_VISIBLE
bool get_enable_ber_loopback () const SYMBOL_VISIBLE
bool get_enable_bit_slip () const SYMBOL_VISIBLE
bool get_enable_clock_pre_alignment () const SYMBOL_VISIBLE
bool get_enable_delay_cell_measurement () const SYMBOL_VISIBLE
bool get_enable_des_recal () const SYMBOL_VISIBLE
bool get_enable_force_lvds_power_up () const SYMBOL_VISIBLE
bool get_enable_force_start () const SYMBOL_VISIBLE
bool get_enable_initialization_master_mode () const SYMBOL_VISIBLE
bool get_enable_loopback_en () const SYMBOL_VISIBLE
bool get_enable_manual_training_mode () const SYMBOL_VISIBLE
bool get_enable_manual_tx_data_valid_for_init () const SYMBOL_VISIBLE
bool get_enable_transmission_without_idle_pattern () const SYMBOL_VISIBLE
ManualDelay get_manual_delay () const SYMBOL_VISIBLE
VBias get_vbias () const SYMBOL_VISIBLE
bool operator!= (PhyConfigBase const &other) const SYMBOL_VISIBLE
bool operator== (PhyConfigBase const &other) const SYMBOL_VISIBLE
void set_debug_outputs (DebugOutputs value) SYMBOL_VISIBLE
void set_enable_auto_init (bool value) SYMBOL_VISIBLE
void set_enable_ber_loopback (bool value) SYMBOL_VISIBLE
void set_enable_bit_slip (bool value) SYMBOL_VISIBLE
void set_enable_clock_pre_alignment (bool value) SYMBOL_VISIBLE
void set_enable_delay_cell_measurement (bool value) SYMBOL_VISIBLE
void set_enable_des_recal (bool value) SYMBOL_VISIBLE
void set_enable_force_lvds_power_up (bool value) SYMBOL_VISIBLE
void set_enable_force_start (bool value) SYMBOL_VISIBLE
void set_enable_initialization_master_mode (bool value) SYMBOL_VISIBLE
void set_enable_loopback_en (bool value) SYMBOL_VISIBLE
void set_enable_manual_training_mode (bool value) SYMBOL_VISIBLE
void set_enable_manual_tx_data_valid_for_init (bool value) SYMBOL_VISIBLE
void set_enable_transmission_without_idle_pattern (bool value) SYMBOL_VISIBLE
void set_manual_delay (ManualDelay value) SYMBOL_VISIBLE
void set_vbias (VBias value) SYMBOL_VISIBLE

Protected Functions

PhyConfigBase () SYMBOL_VISIBLE
uint32_t pack () const SYMBOL_VISIBLE
void unpack (uint32_t value) SYMBOL_VISIBLE
template<typename Archive>
friend void serialize(Archive &ar, PhyConfigBase &value, std::uint32_t const version)

Protected Attributes

DebugOutputs m_debug_outputs
bool m_enable_auto_init
bool m_enable_ber_loopback
bool m_enable_bit_slip
bool m_enable_clock_pre_alignment
bool m_enable_delay_cell_measurement
bool m_enable_des_recal
bool m_enable_force_lvds_power_up
bool m_enable_force_start
bool m_enable_initialization_master_mode
bool m_enable_loopback_en
bool m_enable_manual_training_mode
bool m_enable_manual_tx_data_valid_for_init
bool m_enable_transmission_without_idle_pattern
ManualDelay m_manual_delay
VBias m_vbias

Friends

friend std::ostream & operator<< (std::ostream &os, PhyConfigBase const &config) SYMBOL_VISIBLE
class haldls::vx::PhyConfigChip : public haldls::vx::detail::PhyConfigBase, public haldls::vx::ContainerBase<PhyConfigChip>
#include <phy.h>

Container for individual configuration of chip-side PHYs.

Public Types

typedef EncodableBase<PhyConfigChip, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PhyConfigChip, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PhyConfigChip, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PhyConfigChip, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PhyConfigChipOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PhyConfigChip () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::JTAGPhyRegister, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::JTAGPhyRegister, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

DebugOutputs get_debug_outputs () const SYMBOL_VISIBLE
bool get_enable_auto_init () const SYMBOL_VISIBLE
bool get_enable_ber_loopback () const SYMBOL_VISIBLE
bool get_enable_bit_slip () const SYMBOL_VISIBLE
bool get_enable_clock_pre_alignment () const SYMBOL_VISIBLE
bool get_enable_delay_cell_measurement () const SYMBOL_VISIBLE
bool get_enable_des_recal () const SYMBOL_VISIBLE
bool get_enable_force_lvds_power_up () const SYMBOL_VISIBLE
bool get_enable_force_start () const SYMBOL_VISIBLE
bool get_enable_initialization_master_mode () const SYMBOL_VISIBLE
bool get_enable_loopback_en () const SYMBOL_VISIBLE
bool get_enable_manual_training_mode () const SYMBOL_VISIBLE
bool get_enable_manual_tx_data_valid_for_init () const SYMBOL_VISIBLE
bool get_enable_transmission_without_idle_pattern () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ManualDelay get_manual_delay () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

VBias get_vbias () const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PhyConfigBase const &other) const SYMBOL_VISIBLE
bool operator!= (PhyConfigChip const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PhyConfigBase const &other) const SYMBOL_VISIBLE
bool operator== (PhyConfigChip const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_debug_outputs (DebugOutputs value) SYMBOL_VISIBLE
void set_enable_auto_init (bool value) SYMBOL_VISIBLE
void set_enable_ber_loopback (bool value) SYMBOL_VISIBLE
void set_enable_bit_slip (bool value) SYMBOL_VISIBLE
void set_enable_clock_pre_alignment (bool value) SYMBOL_VISIBLE
void set_enable_delay_cell_measurement (bool value) SYMBOL_VISIBLE
void set_enable_des_recal (bool value) SYMBOL_VISIBLE
void set_enable_force_lvds_power_up (bool value) SYMBOL_VISIBLE
void set_enable_force_start (bool value) SYMBOL_VISIBLE
void set_enable_initialization_master_mode (bool value) SYMBOL_VISIBLE
void set_enable_loopback_en (bool value) SYMBOL_VISIBLE
void set_enable_manual_training_mode (bool value) SYMBOL_VISIBLE
void set_enable_manual_tx_data_valid_for_init (bool value) SYMBOL_VISIBLE
void set_enable_transmission_without_idle_pattern (bool value) SYMBOL_VISIBLE
void set_manual_delay (ManualDelay value) SYMBOL_VISIBLE
void set_vbias (VBias value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::JTAGPhyRegisterOnDLS, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::JTAGPhyRegisterOnDLS, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Protected Functions

uint32_t pack () const SYMBOL_VISIBLE
void unpack (uint32_t value) SYMBOL_VISIBLE
template<typename Archive>
friend void serialize(Archive &ar, PhyConfigBase &value, std::uint32_t const version)

Protected Attributes

DebugOutputs m_debug_outputs
bool m_enable_auto_init
bool m_enable_ber_loopback
bool m_enable_bit_slip
bool m_enable_clock_pre_alignment
bool m_enable_delay_cell_measurement
bool m_enable_des_recal
bool m_enable_force_lvds_power_up
bool m_enable_force_start
bool m_enable_initialization_master_mode
bool m_enable_loopback_en
bool m_enable_manual_training_mode
bool m_enable_manual_tx_data_valid_for_init
bool m_enable_transmission_without_idle_pattern
ManualDelay m_manual_delay
VBias m_vbias

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, PhyConfigChip &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PhyConfigChip const &config) SYMBOL_VISIBLE
class haldls::vx::PhyConfigFPGA : public haldls::vx::detail::PhyConfigBase, public haldls::vx::ContainerBase<PhyConfigFPGA>
#include <phy.h>

Container for individual configuration of FPGA-side PHYs.

Public Types

typedef EncodableBase<PhyConfigFPGA, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PhyConfigFPGA, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PhyConfigFPGA, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PhyConfigFPGA, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PhyConfigFPGAOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PhyConfigFPGA () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

DebugOutputs get_debug_outputs () const SYMBOL_VISIBLE
bool get_enable_auto_init () const SYMBOL_VISIBLE
bool get_enable_ber_loopback () const SYMBOL_VISIBLE
bool get_enable_bit_slip () const SYMBOL_VISIBLE
bool get_enable_clock_pre_alignment () const SYMBOL_VISIBLE
bool get_enable_delay_cell_measurement () const SYMBOL_VISIBLE
bool get_enable_des_recal () const SYMBOL_VISIBLE
bool get_enable_force_lvds_power_up () const SYMBOL_VISIBLE
bool get_enable_force_start () const SYMBOL_VISIBLE
bool get_enable_initialization_master_mode () const SYMBOL_VISIBLE
bool get_enable_loopback_en () const SYMBOL_VISIBLE
bool get_enable_manual_training_mode () const SYMBOL_VISIBLE
bool get_enable_manual_tx_data_valid_for_init () const SYMBOL_VISIBLE
bool get_enable_transmission_without_idle_pattern () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ManualDelay get_manual_delay () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

VBias get_vbias () const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PhyConfigBase const &other) const SYMBOL_VISIBLE
bool operator!= (PhyConfigFPGA const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PhyConfigBase const &other) const SYMBOL_VISIBLE
bool operator== (PhyConfigFPGA const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_debug_outputs (DebugOutputs value) SYMBOL_VISIBLE
void set_enable_auto_init (bool value) SYMBOL_VISIBLE
void set_enable_ber_loopback (bool value) SYMBOL_VISIBLE
void set_enable_bit_slip (bool value) SYMBOL_VISIBLE
void set_enable_clock_pre_alignment (bool value) SYMBOL_VISIBLE
void set_enable_delay_cell_measurement (bool value) SYMBOL_VISIBLE
void set_enable_des_recal (bool value) SYMBOL_VISIBLE
void set_enable_force_lvds_power_up (bool value) SYMBOL_VISIBLE
void set_enable_force_start (bool value) SYMBOL_VISIBLE
void set_enable_initialization_master_mode (bool value) SYMBOL_VISIBLE
void set_enable_loopback_en (bool value) SYMBOL_VISIBLE
void set_enable_manual_training_mode (bool value) SYMBOL_VISIBLE
void set_enable_manual_tx_data_valid_for_init (bool value) SYMBOL_VISIBLE
void set_enable_transmission_without_idle_pattern (bool value) SYMBOL_VISIBLE
void set_manual_delay (ManualDelay value) SYMBOL_VISIBLE
void set_vbias (VBias value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Protected Functions

uint32_t pack () const SYMBOL_VISIBLE
void unpack (uint32_t value) SYMBOL_VISIBLE
template<typename Archive>
friend void serialize(Archive &ar, PhyConfigBase &value, std::uint32_t const version)

Protected Attributes

DebugOutputs m_debug_outputs
bool m_enable_auto_init
bool m_enable_ber_loopback
bool m_enable_bit_slip
bool m_enable_clock_pre_alignment
bool m_enable_delay_cell_measurement
bool m_enable_des_recal
bool m_enable_force_lvds_power_up
bool m_enable_force_start
bool m_enable_initialization_master_mode
bool m_enable_loopback_en
bool m_enable_manual_training_mode
bool m_enable_manual_tx_data_valid_for_init
bool m_enable_transmission_without_idle_pattern
ManualDelay m_manual_delay
VBias m_vbias

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, PhyConfigFPGA &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PhyConfigFPGA const &config) SYMBOL_VISIBLE
class haldls::vx::PhyStatus : public haldls::vx::ContainerBase<PhyStatus>
#include <phy.h>

Public Types

typedef EncodableBase<PhyStatus, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PhyStatus, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PhyStatus, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PhyStatus, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PhyStatusOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PhyStatus () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

CRCErrorCount get_crc_error_count () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

OnlineTime get_online_time () const SYMBOL_VISIBLE
RxCount get_rx_count () const SYMBOL_VISIBLE
RxDroppedCount get_rx_dropped_count () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

TxCount get_tx_count () const SYMBOL_VISIBLE
virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PhyStatus const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PhyStatus const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_crc_error_count (CRCErrorCount value) SYMBOL_VISIBLE
void set_online_time (OnlineTime value) SYMBOL_VISIBLE
void set_rx_count (RxCount value) SYMBOL_VISIBLE
void set_rx_dropped_count (RxDroppedCount value) SYMBOL_VISIBLE
void set_tx_count (TxCount value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 5
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, PhyStatus &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

CRCErrorCount m_crc_error_count
OnlineTime m_online_time
RxCount m_rx_count
RxDroppedCount m_rx_dropped_count
TxCount m_tx_count

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PhyStatus const &config) SYMBOL_VISIBLE
class haldls::vx::v3::PLLClockOutputBlock : public haldls::vx::ContainerBase<PLLClockOutputBlock>
#include <pll.h>

Container for configuration of the clock outputs of the PLL.

Public Types

typedef EncodableBase<PLLClockOutputBlock, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PLLClockOutputBlock, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PLLClockOutputBlock, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PLLClockOutputBlock, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PLLClockOutputBlockOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PLLClockOutputBlock () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

ClockOutput const & get_clock_output (halco::hicann_dls::vx::PLLClockOutputOnDLS const &coord) const SYMBOL_VISIBLE

Get clock output configuration.

Parameters

coord – Coordinate of clock output to get

Returns

Configuration of clock output

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

halco::hicann_dls::vx::PLLClockOutputOnDLS const & get_spl1_source () const SYMBOL_VISIBLE

Get SPL1 / Omnibus clock source.

Returns

Clock source for SPL1 / Omnibus clock.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PLLClockOutputBlock const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PLLClockOutputBlock const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_clock_output (halco::hicann_dls::vx::PLLClockOutputOnDLS const &coord, ClockOutput const &config) SYMBOL_VISIBLE

Set clock output configuration.

Parameters
  • coord – Coordinate of clock output to set

  • config – Configuration of clock output to set

void set_spl1_source (halco::hicann_dls::vx::PLLClockOutputOnDLS const &coord) SYMBOL_VISIBLE

Set SPL1 / Omnibus clock source.

Parameters

coord – Coordinate of clock source for SPL1 / Omnibus.

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, PLLClockOutputBlock &value, std::uint32_t const version)

Private Members

halco::common::typed_array<ClockOutput, halco::hicann_dls::vx::PLLClockOutputOnDLS> m_output
bool m_switch_spl1_to_madc

Friends

friend std::ostream & operator<< (std::ostream &os, PLLClockOutputBlock const &config) SYMBOL_VISIBLE
class haldls::vx::PLLSelfTest : public haldls::vx::ContainerBase<PLLSelfTest>
#include <pll.h>

Container for configuration and triggering of the PLL internal self test.

Public Types

typedef EncodableBase<PLLSelfTest, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PLLSelfTest, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PLLSelfTest, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PLLSelfTest, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PLLSelfTestOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PLLSelfTest () SYMBOL_VISIBLE

Default construct PLL self test.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

CheckRange get_check_range () const SYMBOL_VISIBLE
CheckValue get_check_value () const SYMBOL_VISIBLE
bool get_clock_enable () const SYMBOL_VISIBLE

Get wheter the clock is enabled for the self-test.

Before executing a valid test, this has to be written to be false.

Returns

Boolean value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

PreScalerP get_pre_scaler_p () const SYMBOL_VISIBLE
halco::hicann_dls::vx::PLLClockOutputOnDLS get_select_source () const SYMBOL_VISIBLE

Get selected source output to test.

Returns

Selected PLLClockOutputOnDLS

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PLLSelfTest const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PLLSelfTest const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_check_range (CheckRange value) SYMBOL_VISIBLE
void set_check_value (CheckValue value) SYMBOL_VISIBLE
void set_clock_enable (bool value) SYMBOL_VISIBLE

Set to enable the clock for the self-test.

Before executing a valid test, this has to be written to be false.

Parameters

value – Boolean value to set

void set_pre_scaler_p (PreScalerP value) SYMBOL_VISIBLE
void set_select_source (halco::hicann_dls::vx::PLLClockOutputOnDLS value) SYMBOL_VISIBLE

Set selected source output to test.

Parameters

To – be selected PLLClockOutputOnDLS

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, PLLSelfTest &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

CheckRange m_check_range
CheckValue m_check_value
bool m_clock_enable
PreScalerP m_pre_scaler_p
halco::hicann_dls::vx::PLLClockOutputOnDLS m_select_source

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PLLSelfTest const &config) SYMBOL_VISIBLE
class haldls::vx::PLLSelfTestStatus : public haldls::vx::ContainerBase<PLLSelfTestStatus>
#include <pll.h>

Container of PLL self-test status data.

Public Types

typedef EncodableBase<PLLSelfTestStatus, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PLLSelfTestStatus, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PLLSelfTestStatus, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PLLSelfTestStatus, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PLLSelfTestStatusOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PLLSelfTestStatus () SYMBOL_VISIBLE

Default construct a PLL self-test status.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

CounterValue get_counter_value () const SYMBOL_VISIBLE

Get self-test clock period counter value.

Returns

Counter value

bool get_finished () const SYMBOL_VISIBLE

Get if self-test exectution finished before this containers’ read.

This flag only produces reliable information on the first validly finished self test after power cycle.

Returns

Boolean value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_success () const SYMBOL_VISIBLE

Get if self-test execution was successful.

Returns

Boolean value

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PLLSelfTestStatus const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PLLSelfTestStatus const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, PLLSelfTestStatus &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

CounterValue m_counter_value
bool m_finished
bool m_success

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PLLSelfTestStatus const &config) SYMBOL_VISIBLE
class haldls::vx::PollingOmnibusBlock : public haldls::vx::BlockUntilBase<PollingOmnibusBlock>
#include <block.h>

Container for polling block operation on a Omnibus address.

Compare given value from address in FPGA register file masked with expected target result.

Public Types

typedef Encodable::BackendCocoListVariant BackendCocoListVariant
typedef Encodable::BackendContainerListVariant BackendContainerListVariant
typedef Encodable::BackendCoordinateListVariant BackendCoordinateListVariant
typedef Encodable::Coordinate Coordinate
typedef halco::hicann_dls::vx::PollingOmnibusBlockOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PollingOmnibusBlock (bool enable_expects_equality=true) SYMBOL_VISIBLE

Resolve block if value is true (*address & mask == target) or if value is false (*address & mask != target).

virtual std::unique_ptr< BlockUntil > clone_block_until () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

std::array< fisch::vx::word_access_type::PollingOmnibusBlock, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_expects_equality () const SYMBOL_VISIBLE

Get enable expects equality value.

Resolve block if value is true (*address & mask == target) or if value is false (*address & mask != target).

Returns

Boolean value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (BlockUntil const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PollingOmnibusBlock const &other) const SYMBOL_VISIBLE
virtual bool operator== (BlockUntil const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PollingOmnibusBlock const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_expects_equality (bool value) SYMBOL_VISIBLE

Get enable expects equality value.

Resolve block if value is true (*address & mask == target) or if value is false (*address & mask != target).

Returns

Boolean value

Public Static Functions

static std::array< halco::hicann_dls::vx::PollingOmnibusBlockOnFPGA, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive>
friend void serialize(Archive &ar, PollingOmnibusBlock &value, std::uint32_t)

Private Members

bool m_enable_expects_equality

Friends

friend std::ostream & operator<< (std::ostream &os, PollingOmnibusBlock const &config) SYMBOL_VISIBLE
class haldls::vx::PollingOmnibusBlockConfig : public haldls::vx::ContainerBase<PollingOmnibusBlockConfig>
#include <block.h>

Public Types

typedef halco::hicann_dls::vx::OmnibusAddress Address
typedef EncodableBase<PollingOmnibusBlockConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PollingOmnibusBlockConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PollingOmnibusBlockConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PollingOmnibusBlockConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PollingOmnibusBlockConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node
typedef fisch::vx::word_access_type::Omnibus::Word Value

Public Functions

PollingOmnibusBlockConfig () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

Address get_address () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

Value get_mask () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

Value get_target () const SYMBOL_VISIBLE
virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PollingOmnibusBlockConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PollingOmnibusBlockConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_address (Address value) SYMBOL_VISIBLE
void set_mask (Value value) SYMBOL_VISIBLE
void set_target (Value value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 3
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::hardware, hxcomm::vx::Target::simulation}

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, PollingOmnibusBlockConfig &value, std::uint32_t)

Private Members

Address m_address
Value m_mask
Value m_target

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, PollingOmnibusBlockConfig const &config) SYMBOL_VISIBLE
struct haldls::vx::MADCConfig::PowerupWaitValue : public halco::common::detail::RantWrapper<PowerupWaitValue, uint_fast16_t, 1023, 0>
#include <madc.h>

Public Functions

inline explicit constexpr PowerupWaitValue (uintmax_t const val=96) SYMBOL_VISIBLE
class haldls::vx::PPUControlRegister : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<PPUControlRegister>
#include <ppu.h>

Public Types

typedef EncodableBase<PPUControlRegister, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PPUControlRegister, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PPUControlRegister, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PPUControlRegister, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PPUControlRegisterOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PPUControlRegister () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_cache_controller_enable () const SYMBOL_VISIBLE
bool get_force_clock_off () const SYMBOL_VISIBLE
bool get_force_clock_on () const SYMBOL_VISIBLE
bool get_inhibit_reset () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PPUControlRegister const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PPUControlRegister const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_cache_controller_enable (bool const value) SYMBOL_VISIBLE
void set_force_clock_off (bool const value) SYMBOL_VISIBLE
void set_force_clock_on (bool const value) SYMBOL_VISIBLE
void set_inhibit_reset (bool const value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, PPUControlRegister &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_cache_controller_enable
bool m_force_clock_off
bool m_force_clock_on
bool m_inhibit_reset

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &, PPUControlRegister const &) SYMBOL_VISIBLE
class haldls::vx::PPUMemory : public haldls::vx::ContainerBase<PPUMemory>
#include <ppu.h>

Public Types

typedef EncodableBase<PPUMemory, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PPUMemory, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PPUMemory, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PPUMemory, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PPUMemoryOnDLS coordinate_type
typedef std::false_type has_local_data
typedef halco::common::typed_heap_array<PPUMemoryWord, halco::hicann_dls::vx::PPUMemoryWordOnPPU> words_type

Public Functions

explicit  PPUMemory (words_type const &words=words_type()) SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

PPUMemoryBlock get_block (halco::hicann_dls::vx::PPUMemoryBlockOnPPU const &block_coord) const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

PPUMemoryWord::Value get_word (halco::hicann_dls::vx::PPUMemoryWordOnPPU const &pos) const SYMBOL_VISIBLE
words_type get_words () const SYMBOL_VISIBLE
void load_from_file (std::string const &filename) SYMBOL_VISIBLE

Load a (stripped) PPU program from a file.

The program is located at the beginning of the memory with words above the program’s size set to zero.

Parameters

filename – Name of file to load

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PPUMemory const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PPUMemory const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_block (halco::hicann_dls::vx::PPUMemoryBlockOnPPU const &block_coord, PPUMemoryBlock const &block) SYMBOL_VISIBLE
void set_word (halco::hicann_dls::vx::PPUMemoryWordOnPPU const &pos, PPUMemoryWord::Value const &word) SYMBOL_VISIBLE
void set_words (words_type const &words) SYMBOL_VISIBLE

Private Functions

template<class Archive>
friend void serialize(Archive &ar, PPUMemory &value, std::uint32_t const version)

Private Members

words_type m_words

Friends

friend std::ostream & operator<< (std::ostream &os, PPUMemory const &pm) SYMBOL_VISIBLE
class haldls::vx::PPUMemoryBlock : public haldls::vx::ContainerBase<PPUMemoryBlock>
#include <ppu.h>

Public Types

typedef EncodableBase<PPUMemoryBlock, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PPUMemoryBlock, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PPUMemoryBlock, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PPUMemoryBlock, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PPUMemoryBlockOnDLS coordinate_type
typedef std::false_type has_local_data
typedef halco::hicann_dls::vx::PPUMemoryBlockSize size_type
typedef std::vector<PPUMemoryWord> words_type

Public Functions

explicit  PPUMemoryBlock (size_type size=size_type(halco::hicann_dls::vx::PPUMemoryWordOnPPU::size)) SYMBOL_VISIBLE
PPUMemoryWord const & at (size_t index) const SYMBOL_VISIBLE
PPUMemoryWord & at (size_t index) SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

PPUMemoryBlock get_subblock (size_t begin, size_type length) const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

words_type const & get_words () const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PPUMemoryBlock const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PPUMemoryBlock const &other) const SYMBOL_VISIBLE
PPUMemoryWord const & operator[] (size_t index) const SYMBOL_VISIBLE
PPUMemoryWord & operator[] (size_t index) SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_subblock (size_t begin, PPUMemoryBlock const &subblock) SYMBOL_VISIBLE
void set_words (words_type const &words) SYMBOL_VISIBLE
size_type size () const SYMBOL_VISIBLE
std::string to_string () const SYMBOL_VISIBLE

Print words as string discarding non-printable characters.

Returns

Printable characters as string in order according to PPU endianess

Private Functions

template<class Archive>
friend void serialize(Archive &ar, PPUMemoryBlock &value, std::uint32_t const version)

Private Members

words_type m_words

Friends

friend std::ostream & operator<< (std::ostream &os, PPUMemoryBlock const &pmb) SYMBOL_VISIBLE
class haldls::vx::PPUMemoryWord : public haldls::vx::ContainerBase<PPUMemoryWord>
#include <ppu.h>

Public Types

typedef EncodableBase<PPUMemoryWord, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PPUMemoryWord, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PPUMemoryWord, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PPUMemoryWord, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PPUMemoryWordOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef uint32_t raw_type

Public Functions

explicit  PPUMemoryWord (Value value=Value()) SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PPUMemoryWord const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PPUMemoryWord const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<class Archive>
friend void serialize(Archive &ar, PPUMemoryWord &value, std::uint32_t const version)

Private Members

Value m_value

Friends

friend std::ostream & operator<< (std::ostream &os, PPUMemoryWord const &pmw) SYMBOL_VISIBLE
class haldls::vx::PPUStatusRegister : public haldls::vx::ContainerBase<PPUStatusRegister>
#include <ppu.h>

Public Types

typedef EncodableBase<PPUStatusRegister, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<PPUStatusRegister, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<PPUStatusRegister, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<PPUStatusRegister, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::PPUStatusRegisterOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

PPUStatusRegister () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_sleep () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (PPUStatusRegister const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (PPUStatusRegister const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, PPUStatusRegister &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_sleep

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &, PPUStatusRegister const &) SYMBOL_VISIBLE
struct haldls::vx::MADCConfig::PreampGainCapacitorSize : public halco::common::detail::RantWrapper<PreampGainCapacitorSize, uint_fast8_t, 31, 0>
#include <madc.h>

Public Functions

inline explicit constexpr PreampGainCapacitorSize (uintmax_t const val=31) SYMBOL_VISIBLE
struct haldls::vx::ADPLL::PreDivP0 : public halco::common::detail::RantWrapper<PreDivP0, uint_fast16_t, 4, 2>
#include <pll.h>

Divider to set the frequency of the DCO f_dco (Together with LoopDivN).

f_dco = P0 * N * f_ref.

Public Functions

inline explicit constexpr PreDivP0(uintmax_t const val = 2)
struct haldls::vx::ADPLL::PreDivP1 : public halco::common::detail::RantWrapper<PreDivP1, uint_fast16_t, 4, 2>
#include <pll.h>

Divider for f_clk_core0 and f_clk_core1.

For f_clk_core0: CoreDivM0 for f_clk_core0 = f_dco / (P1 * M0). For f_clk_core1: CoreDivM1 for f_clk_core1 = f_dco / (P1 * M1).

Public Functions

inline explicit constexpr PreDivP1(uintmax_t const val = 2)
struct haldls::vx::ADPLL::PreDivP2 : public halco::common::detail::RantWrapper<PreDivP2, uint_fast16_t, 4, 2>
#include <pll.h>

Divider to set the output frequency f_clk_dco.

f_clk_dco = f_dco / P2.

Public Functions

inline explicit constexpr PreDivP2(uintmax_t const val = 2)
struct haldls::vx::CapMemBlockConfig::PrescalePause : public halco::common::detail::RantWrapper<PrescalePause, uint_fast16_t, 6, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<PrescalePause, uint_fast16_t, 6, 0>::rant_t rant_t

Public Functions

inline explicit constexpr PrescalePause()
inline explicit constexpr PrescalePause(uintmax_t const val)
struct haldls::vx::CapMemBlockConfig::PrescaleRamp : public halco::common::detail::RantWrapper<PrescaleRamp, uint_fast16_t, 6, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<PrescaleRamp, uint_fast16_t, 6, 0>::rant_t rant_t

Public Functions

inline explicit constexpr PrescaleRamp()
inline explicit constexpr PrescaleRamp(uintmax_t const val)
struct haldls::vx::PLLSelfTest::PreScalerP : public halco::common::detail::RantWrapper<PreScalerP, uint_fast16_t, 15, 0>
#include <pll.h>

Selects counting window of the self test.

Counts within 2^(p + 2) reference cycles.

Public Functions

inline explicit constexpr PreScalerP(uintmax_t const val = 0)
struct haldls::vx::CapMemBlockConfig::PulseA : public halco::common::detail::RantWrapper<PulseA, uint_fast16_t, 65535, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<PulseA, uint_fast16_t, 65535, 0>::rant_t rant_t

Public Functions

inline explicit constexpr PulseA()
inline explicit constexpr PulseA(uintmax_t const val)
struct haldls::vx::CapMemBlockConfig::PulseB : public halco::common::detail::RantWrapper<PulseB, uint_fast16_t, 65535, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<PulseB, uint_fast16_t, 65535, 0>::rant_t rant_t

Public Functions

inline explicit constexpr PulseB()
inline explicit constexpr PulseB(uintmax_t const val)
struct haldls::vx::ExtollSpikeCommBucketTriggerConfig::PulseTimeout : public halco::common::detail::RantWrapper<PulseTimeout, uint16_t, 0xff, 0>
#include <extoll.h>

Number of FPGA clock-cycles without receiving an event until the accumulated packet is flushed.

Public Functions

inline explicit constexpr PulseTimeout(uintmax_t const val = 0)
struct haldls::vx::BackgroundSpikeSource::Rate : public halco::common::detail::RantWrapper<Rate, uint_fast16_t, hate::math::pow(2, 8) - 1, 0>
#include <background.h>

Rate of spike output in the Poisson spike generation mode, without effect in regular mode.

Every period, a random 8-bit number is compared to the rate value and a spike is generated if the random value is smaller-equal than the configured rate. This leads to a mean ISI of (period / (rate / 255)) and disabled spike output on rate = 0.

Public Functions

inline explicit constexpr Rate(uintmax_t const val = 0)
struct haldls::vx::HicannARQStatus::ReadCount : public halco::common::detail::BaseType<ReadCount, uint32_t>
#include <arq.h>

Number of words submitted to the ARQ from the Chip.

Public Functions

inline explicit constexpr ReadCount(uintmax_t const val = 0)
struct haldls::vx::detail::SRAMTimingConfig::ReadDelay : public halco::common::detail::RantWrapper<ReadDelay, uint_fast16_t, hate::math::pow(2, 8) - 1, 0>
#include <sram_controller.h>

Wait time after enable signal pull for cells to drive their value until read.

Public Functions

inline explicit constexpr ReadDelay(uintmax_t const val = 120)
class haldls::vx::ReadoutSourceSelection : public haldls::vx::ContainerBase<ReadoutSourceSelection>
#include <readout.h>

Configuration container for the two mux and buffer blocks for voltage readout.

Allows selection of various signal sources on chip and drives the signals. To reach the pads, the buffer_to_pad option in the PadMultiplexerConfig needs to be set.

Some of the selectable voltages in this container can also be selected in the PadMultiplexerConfig directly. Note that there the connection is direct, not buffered, while here the signal is amplified. Do not enable both connections, as there will be feedback otherwise!

Public Types

typedef EncodableBase<ReadoutSourceSelection, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ReadoutSourceSelection, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ReadoutSourceSelection, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ReadoutSourceSelection, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ReadoutSourceSelectionOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection> source_multiplexer_type

Public Functions

ReadoutSourceSelection () SYMBOL_VISIBLE

Default constructor with both buffers and muxes disabled.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

SourceMultiplexer get_buffer (halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection const &buffer) const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ReadoutSourceSelection const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ReadoutSourceSelection const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) source_multiplexer_type const &get_enable_buffer_to_pad() const SYMBOL_VISIBLE
void set_buffer (halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection const &buffer, SourceMultiplexer const &value) SYMBOL_VISIBLE
void set_enable_buffer_to_pad (source_multiplexer_type const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &block)

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<class Archive>
friend void serialize(Archive &ar, ReadoutSourceSelection &value, std::uint32_t const version)

Private Members

halco::common::typed_array<SourceMultiplexer, halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection> m_buffers
source_multiplexer_type m_enable_buffer_to_pad

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ReadoutSourceSelection const &config) SYMBOL_VISIBLE
struct haldls::vx::PerfTestStatus::Received : public halco::common::detail::RantWrapper<Received, uint_fast32_t, 0xffffffff, 0>
#include <perftest.h>

Number of words received.

Public Functions

inline explicit constexpr Received(uintmax_t const val = 0)
struct haldls::vx::SynapseDriverConfig::Recovery : public halco::common::detail::RantWrapper<Recovery, uint_fast8_t, 15, 0>
#include <synapse_driver.h>

Public Functions

inline explicit constexpr Recovery(uintmax_t const val = 0)
struct haldls::vx::CommonSTPConfig::RecoveryClockSpeed : public halco::common::detail::RantWrapper<RecoveryClockSpeed, uint_fast16_t, 15, 0>
#include <padi.h>

Public Functions

inline explicit constexpr RecoveryClockSpeed(uintmax_t const val = 0)
struct ReferenceGeneratorConfig::ReferenceControl : public halco::common::detail::RantWrapper<ReferenceControl, uint_fast8_t, 63, 0>
#include <capmem.h>

Public Functions

inline explicit constexpr ReferenceControl(uintmax_t const val = 10)
class ReferenceGeneratorConfig : public ContainerBase<ReferenceGeneratorConfig>
#include <capmem.h>

Public Types

typedef halco::common::typed_array<CapMemAmplifier, halco::hicann_dls::vx::CapMemBlockOnDLS> capmem_amplifier_type
typedef halco::common::typed_array<CapMemOffset, halco::hicann_dls::vx::CapMemBlockOnDLS> capmem_offset_type
typedef halco::common::typed_array<CapMemSlope, halco::hicann_dls::vx::CapMemBlockOnDLS> capmem_slope_type
typedef halco::hicann_dls::vx::ReferenceGeneratorConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  ReferenceGeneratorConfig () SYMBOL_VISIBLE

Default config of reference generator.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
bool const & get_enable_internal_reference () const SYMBOL_VISIBLE

Set enable for internal reference current generation.

bool const & get_enable_reference_input () const SYMBOL_VISIBLE

Set enable for input of reference current from pad.

bool const & get_enable_reference_output () const SYMBOL_VISIBLE

Set enable for output of reference current to pad.

bool const & get_enable_reset () const SYMBOL_VISIBLE

Set reset signal for resistor control of reference current generation.

The reset can be used after powerup to reach a working state.

ReferenceControl get_reference_control () const SYMBOL_VISIBLE

Set reference current generation DAC value.

ResistorControl get_resistor_control () const SYMBOL_VISIBLE

Set reference current generation resistor value.

bool operator!= (ReferenceGeneratorConfig const &other) const SYMBOL_VISIBLE
bool operator== (ReferenceGeneratorConfig const &other) const SYMBOL_VISIBLE
return_value_policy (reference_internal)) capmem_amplifier_type const &get_capmem_amplifier() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) capmem_offset_type const &get_capmem_offset() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) capmem_slope_type const &get_capmem_slope() const SYMBOL_VISIBLE
void set_capmem_amplifier (capmem_amplifier_type const &value) SYMBOL_VISIBLE
void set_capmem_offset (capmem_offset_type const &value) SYMBOL_VISIBLE
void set_capmem_slope (capmem_slope_type const &value) SYMBOL_VISIBLE
void set_enable_internal_reference (bool value) SYMBOL_VISIBLE
void set_enable_reference_input (bool value) SYMBOL_VISIBLE
void set_enable_reference_output (bool value) SYMBOL_VISIBLE
void set_enable_reset (bool value) SYMBOL_VISIBLE
void set_reference_control (ReferenceControl value) SYMBOL_VISIBLE
void set_resistor_control (ResistorControl value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 9

Private Functions

template<class Archive>
friend void serialize(Archive &ar, ReferenceGeneratorConfig &value, std::uint32_t const version)

Private Members

capmem_amplifier_type m_capmem_amplifier
capmem_offset_type m_capmem_offset
capmem_slope_type m_capmem_slope
bool m_enable_internal_reference
bool m_enable_reference_input
bool m_enable_reference_output
bool m_enable_reset
ReferenceControl m_reference_control
ResistorControl m_resistor_control

Friends

friend std::ostream & operator<< (std::ostream &os, ReferenceGeneratorConfig const &config) SYMBOL_VISIBLE
struct haldls::vx::NeuronBackendConfig::RefractoryTime : public halco::common::detail::RantWrapper<RefractoryTime, uint_fast16_t, 255, 0>
#include <neuron.h>

The refractory time can be configured to be used for different applications (short and long) Refactory Periods usually range from 0 to 5 ms.

Accounting for the speedup they correspond to 5 µs in hardware time. Some special applications like NMDA require significantly longer times.

tau_ref = RefractoryTime * 1/f_clock

Use case 1 (standard): tau_min = 0.1µs => f_clock = 10MHz tau_max = 12.7µs (12.7ms bio time) Use case 2 (NMDA): f_clock = 4kHz -> tau_max = 127ms (127s bio time) Use case 3 (short): f_clock = 250MHz -> tau_min = 4ns (4µs in bio time)

Note

The reset conductance is limited and thus will not pull down the membrane in 4 ns! The fastest analog “reset time constant” is approx. 0.5 μs.

Note

The reset is released at least one clock cycle before the end of the refractory period. To avoid unexpected behavior the refractory period may not be too small, compare ResetHoldoff.

Public Types

typedef halco::common::detail::RantWrapper<RefractoryTime, uint_fast16_t, 255, 0> rant_t

Public Functions

inline explicit constexpr RefractoryTime()
inline explicit constexpr RefractoryTime(uintmax_t const val)
struct haldls::vx::VectorGeneratorControl::ResendCount : public halco::common::detail::RantWrapper<ResendCount, uint_fast8_t, 15, 0>
#include <vector_generator.h>

Number of times to resend same input.

Public Functions

inline explicit constexpr ResendCount(uintmax_t const val = 0)
class haldls::vx::ResetChip : public haldls::vx::ContainerBase<ResetChip>
#include <reset.h>

Container for setting the reset pin of the chip.

Public Types

typedef EncodableBase<ResetChip, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ResetChip, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ResetChip, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ResetChip, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ResetChipOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  ResetChip (bool value=false) SYMBOL_VISIBLE

Construct chip reset with boolean value.

On true, the chip reset is enabled.

Parameters

value – Boolean value

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::ResetChip, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::ResetChip, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ResetChip const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ResetChip const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set (bool value) SYMBOL_VISIBLE

Set chip reset.

On true, the chip reset is enabled.

Parameters

value – Boolean value

Public Static Functions

static std::array< halco::hicann_dls::vx::ResetChipOnDLS, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ResetChipOnDLS, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, ResetChip &value, std::uint32_t const version)

Private Members

bool m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ResetChip const &config) SYMBOL_VISIBLE
struct haldls::vx::CommonCorrelationConfig::ResetDuration : public halco::common::detail::RantWrapper<ResetDuration, uint_fast16_t, hate::math::pow(2, 12) - 1, 0>
#include <correlation.h>

Duration of correlation reset for synapses (+3 ppu clock cycles).

Determines how long the measurement capacitor is connected to the reset voltage.

Public Functions

inline explicit constexpr ResetDuration(uintmax_t const val = 200)
struct haldls::vx::CommonCorrelationConfig::ResetFallTime : public halco::common::detail::RantWrapper<ResetFallTime, uint_fast16_t, hate::math::pow(2, 12) - 1, 0>
#include <correlation.h>

Wait time in PPU clock cycles after disabling the correlation column reset enable.

Public Functions

inline explicit constexpr ResetFallTime(uintmax_t const val = 5)
struct haldls::vx::NeuronBackendConfig::ResetHoldoff : public halco::common::detail::RantWrapper<ResetHoldoff, uint_fast8_t, 15, 0>
#include <neuron.h>

ResetHoldoff period: Adjusts the time delta between the reset and the refractory period.

The reset is released before the end of the refractory time.

The refractory-counter starts at a value of (0xFF - refractory_time) and is increased every clock cycle until its maximum value of 0xFF is reached; this time describes the refractory period. The reset is not active during the whole refractory period. The time in which the reset is not active is called ‘reset-holdoff time’ The time difference between reset and refractory period is configured by comparison of the five LSBs of the refractory counter to a mask: the reset stops as soon as the mask matches the LSB of the refractory counter and all MSB of the refractory counter are set. The mask is composed of a zero as LSB and the four bit reset-holdoff.

Due to the fact that the lowest bit is always set to zero, there is always a period in which the reset is not active during the refractory period. This period is minimal if the reset-holdoff is maximal. In general the reset period is (0x1F - reset_holdoff << 1) clock cycles shorter than the refractory period.

Example: The reset is turned off before the end of the refractory period. As the neuron is still refractory, no new spike is registered, although the fire signal is still high. Only after the end of the refractory period the circuits accepts new fire signals.

Note: Setting a small refractory counter value in combination with a reset holdoff will result in glitchy behaviour, as the counter value triggering the end of the reset will never be reached if refractory_counter < (0x1F - reset_holdoff << 1).

Public Types

typedef halco::common::detail::RantWrapper<ResetHoldoff, uint_fast8_t, 15, 0> rant_t

Public Functions

inline explicit constexpr ResetHoldoff()
inline explicit constexpr ResetHoldoff(uintmax_t const val)
class haldls::vx::ResetJTAGTap : public haldls::vx::ContainerBase<ResetJTAGTap>
#include <jtag.h>

Container for resetting JTAG state-machine.

Public Types

typedef EncodableBase<ResetJTAGTap, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ResetJTAGTap, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ResetJTAGTap, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ResetJTAGTap, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ResetJTAGTapOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ResetJTAGTap () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::ResetJTAGTap, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::ResetJTAGTap, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ResetJTAGTap const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ResetJTAGTap const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

static std::array< halco::hicann_dls::vx::ResetJTAGTapOnDLS, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::ResetJTAGTapOnDLS, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, ResetJTAGTap &value, std::uint32_t const version)

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ResetJTAGTap const &config) SYMBOL_VISIBLE
struct haldls::vx::CADCConfig::ResetWait : public halco::common::detail::RantWrapper<ResetWait, uint_fast16_t, 255, 0>
#include <cadc.h>

Wait time in cycles after ramp drop to compensate for analog low-pass filtering of ramp signal and preventing the drop of the last ramp to cause interference in the next linear ramp increase.

Public Functions

inline explicit constexpr ResetWait(uintmax_t const val = 100)
struct ReferenceGeneratorConfig::ResistorControl : public halco::common::detail::RantWrapper<ResistorControl, uint_fast8_t, 63, 0>
#include <capmem.h>

Public Functions

inline explicit constexpr ResistorControl(uintmax_t const val = 40)
struct haldls::vx::SynapseDriverConfig::RowAddressCompareMask : public halco::common::detail::RantWrapper<RowAddressCompareMask, uint_fast8_t, 31, 0>
#include <synapse_driver.h>

Public Functions

inline explicit constexpr RowAddressCompareMask(uintmax_t const val = 0b11111)
struct haldls::vx::HicannARQStatus::RxCount : public halco::common::detail::BaseType<RxCount, uint32_t>
#include <arq.h>

Number of words sent from the ARQ from the Chip to the FPGA.

Public Functions

inline explicit constexpr RxCount(uintmax_t const val = 0)
struct haldls::vx::PhyStatus::RxCount : public halco::common::detail::BaseType<RxCount, uint32_t>
#include <phy.h>

Number of rx words from Chip since last reset.

Public Functions

inline explicit constexpr RxCount(uintmax_t const val = 0)
struct haldls::vx::PhyStatus::RxDroppedCount : public halco::common::detail::BaseType<RxDroppedCount, uint32_t>
#include <phy.h>

Number of dropped rx words.

Public Functions

inline explicit constexpr RxDroppedCount(uintmax_t const val = 0)
struct haldls::vx::MADCConfig::SampleDurationAdjust : public halco::common::detail::RantWrapper<SampleDurationAdjust, uint_fast8_t, 7, 0>
#include <madc.h>

Public Functions

inline explicit constexpr SampleDurationAdjust (uintmax_t const val=5) SYMBOL_VISIBLE
struct haldls::vx::MADCConfig::SamplingWindowTiming : public halco::common::detail::RantWrapper<SamplingWindowTiming, uint_fast8_t, 31, 0>
#include <madc.h>

Public Functions

inline explicit constexpr SamplingWindowTiming (uintmax_t const val=0) SYMBOL_VISIBLE
struct haldls::vx::MADCConfig::SARResetLength : public halco::common::detail::RantWrapper<SARResetLength, uint_fast8_t, 3, 0>
#include <madc.h>

Public Functions

inline explicit constexpr SARResetLength (uintmax_t const val=0) SYMBOL_VISIBLE
struct haldls::vx::MADCConfig::SARResetWait : public halco::common::detail::RantWrapper<SARResetWait, uint_fast8_t, 3, 0>
#include <madc.h>

Public Functions

inline explicit constexpr SARResetWait (uintmax_t const val=3) SYMBOL_VISIBLE
struct haldls::vx::BackgroundSpikeSource::Seed : public halco::common::detail::RantWrapper<Seed, uint_fast64_t, hate::math::pow(2, 32) - 1, 0>
#include <background.h>

Random seed for random number generation.

Only the lower 16 bit of the generator are used on every draw.

Public Functions

inline explicit constexpr Seed(uintmax_t const val = 0)
struct haldls::vx::CommonCorrelationConfig::SenseDelay : public halco::common::detail::RantWrapper<SenseDelay, uint_fast16_t, hate::math::pow(2, 12) - 1, 0>
#include <correlation.h>

Wait time in PPU clock cycles between connecting the outputs of a synapse to the CADC inputs and starting the CADC read.

Public Functions

inline explicit constexpr SenseDelay(uintmax_t const val = 1)
struct haldls::vx::PerfTestStatus::Sent : public halco::common::detail::RantWrapper<Sent, uint_fast32_t, 0xffffffff, 0>
#include <perftest.h>

Number of words sent successfully.

Public Functions

inline explicit constexpr Sent(uintmax_t const val = 0)
class haldls::vx::ShiftRegister : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<ShiftRegister>
#include <spi.h>

Container for configuration of the 24-bit wide shift register controlling six VDD switches, the selection of the ADC source, ADC power down and reset pins, six LEDs, routing two DAC channels to a differential debug line and the CapMem reference current connection.

Information about the routing can be found in the xBoard wiki under https://brainscales-r.kip.uni-heidelberg.de/projects/symap2ic/wiki/xboard.

Public Types

enum AnalogReadoutMux1Input

Values:

enumerator off
enumerator readout_chain_0
enumerator readout_chain_1
enumerator mux_rfu_0
enum AnalogReadoutMux2Input

Values:

enumerator off
enumerator v_reset
enumerator vdd_res_meas
enumerator mux_dac_25
enum AnalogReadoutMux3Input

Values:

enumerator off
enumerator i_ref
enumerator mux_rfu_1
enumerator mux_rfu_2
typedef EncodableBase<ShiftRegister, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<ShiftRegister, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<ShiftRegister, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<ShiftRegister, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::ShiftRegisterOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

ShiftRegister () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::SPIShiftRegister, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::SPIShiftRegister, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_adc_power_down () const SYMBOL_VISIBLE

Get enable value of the ADC power-down pin.

The behavior can be controlled in the ADC container.

See

ADC

Returns

Boolean value

bool get_enable_adc_reset () const SYMBOL_VISIBLE

Get enable value of the ADC reset pin.

See

ADC

Returns

Boolean value

bool get_enable_dac_to_readout_0 () const SYMBOL_VISIBLE

Get enable value for the DAC-powered Readout0 debug line.

Returns

Boolean value

bool get_enable_dac_to_readout_1 () const SYMBOL_VISIBLE

Get enable value for the DAC-powered Readout1 debug line.

Returns

Boolean value

bool get_enable_i_ref_board () const SYMBOL_VISIBLE

Get enable value for connecting the DAC generating the CapMem reference current to the chip carrier board.

Returns

Boolean value

bool get_enable_led (halco::hicann_dls::vx::LEDOnBoard const &coord) const SYMBOL_VISIBLE

Get enable value for the specified LED.

Parameters

coord – Coordinate of LED to get enable value for

Returns

Boolean value

bool get_enable_measure_i_ref () const SYMBOL_VISIBLE

Get enable value for connecting the CapMem reference current to ground via a 2.2MOhm resistor for a current measurement with the ADC.

Returns

Boolean value

bool get_enable_vdd (halco::hicann_dls::vx::VDDOnBoard const &coord) const SYMBOL_VISIBLE

Get enable value for the specified VDD line.

Parameters

coord – Coordinate of VDD line to get enable value for

Returns

Boolean value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

AnalogReadoutMux1Input get_select_analog_readout_mux_1_input () const SYMBOL_VISIBLE

Get the source selection for the first analog readout MUX.

Returns

Selected input

AnalogReadoutMux2Input get_select_analog_readout_mux_2_input () const SYMBOL_VISIBLE

Get the source selection for the second analog readout MUX.

Returns

Selected input

AnalogReadoutMux3Input get_select_analog_readout_mux_3_input () const SYMBOL_VISIBLE

Get the source selection for the third analog readout MUX.

Returns

Selected input

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (ShiftRegister const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (ShiftRegister const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_adc_power_down (bool value) SYMBOL_VISIBLE

Get enable value of the ADC power-down pin.

The behavior can be controlled in the ADC container.

See

ADC

Parameters

value – Boolean value

void set_enable_adc_reset (bool value) SYMBOL_VISIBLE

Set enable value of the ADC reset pin.

See

ADC

Parameters

value – Boolean value

void set_enable_dac_to_readout_0 (bool value) SYMBOL_VISIBLE

Set enable value for the DAC-powered Readout0 debug line.

Parameters

value – Boolean value

void set_enable_dac_to_readout_1 (bool value) SYMBOL_VISIBLE

Set enable value for the DAC-powered Readout0 debug line.

Parameters

value – Boolean value

void set_enable_i_ref_board (bool value) SYMBOL_VISIBLE

Set enable value for connecting the DAC generating the CapMem reference current to the chip carrier board.

Parameters

value – Boolean value

void set_enable_led (halco::hicann_dls::vx::LEDOnBoard const &coord, bool value) SYMBOL_VISIBLE

Get enable value for the specified LED.

Parameters
  • coord – Coordinate of LED to set enable value for

  • value – Boolean value

void set_enable_measure_i_ref (bool value) SYMBOL_VISIBLE

Set enable value for connecting the CapMem reference current to ground via a 2.2MOhm resistor for a current measurement with the ADC.

Parameters

value – Boolean value

void set_enable_vdd (halco::hicann_dls::vx::VDDOnBoard const &coord, bool value) SYMBOL_VISIBLE

Set enable value for the specified VDD line.

Parameters
  • coord – Coordinate of VDD line to set enable value for

  • value – Boolean value

void set_select_analog_readout_mux_1_input (AnalogReadoutMux1Input value) SYMBOL_VISIBLE

Set the source selection for the first analog readout MUX.

Parameters

value – Input to be selected

void set_select_analog_readout_mux_2_input (AnalogReadoutMux2Input value) SYMBOL_VISIBLE

Set the source selection for the second analog readout MUX.

Parameters

value – Input to be selected

void set_select_analog_readout_mux_3_input (AnalogReadoutMux3Input value) SYMBOL_VISIBLE

Set the source selection for the third analog readout MUX.

Parameters

value – Input to be selected

Public Static Functions

static std::array< halco::hicann_dls::vx::SPIShiftRegisterOnBoard, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::SPIShiftRegisterOnBoard, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, ShiftRegister &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable_adc_power_down
bool m_enable_adc_reset
bool m_enable_dac_to_readout_0
bool m_enable_dac_to_readout_1
bool m_enable_i_ref_board
halco::common::typed_array<bool, halco::hicann_dls::vx::LEDOnBoard> m_enable_led
bool m_enable_measure_i_ref
halco::common::typed_array<bool, halco::hicann_dls::vx::VDDOnBoard> m_enable_vdd
AnalogReadoutMux1Input m_mux_1
AnalogReadoutMux2Input m_mux_2
AnalogReadoutMux3Input m_mux_3

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, ShiftRegister const &config) SYMBOL_VISIBLE
struct haldls::vx::INA219Status::ShuntVoltage : public halco::common::detail::RantWrapper<ShuntVoltage, int16_t, 4000, -4000>
#include <i2c.h>

Shunt voltage with linear conversion and LSB = 10uV.

Public Functions

inline explicit constexpr ShuntVoltage(intmax_t const val = 0)
float toUncalibratedVoltage () const SYMBOL_VISIBLE

Convert to uncalibrated voltage [V] (i.e.

ideal conversion).

struct haldls::vx::EventSwitchSource::Source : public halco::common::detail::RantWrapper<Source, uint8_t, 3, 0>
#include <extoll.h>

The Source for the Executor.

Public Functions

inline explicit constexpr Source(uintmax_t const val = 0)

Public Static Attributes

static const Source executor SYMBOL_VISIBLE
static const Source asic SYMBOL_VISIBLE
static const Source external SYMBOL_VISIBLE
static const Source off SYMBOL_VISIBLE
struct haldls::vx::VectorGeneratorControl::SourceCount : public halco::common::detail::RantWrapper<SourceCount, uint_fast8_t, 2, 1>
#include <vector_generator.h>

Number of sources to use.

Public Functions

inline explicit constexpr SourceCount(uintmax_t const val = 1)
struct haldls::vx::CapMemBlockConfig::SourceFollowerBias : public halco::common::detail::RantWrapper<SourceFollowerBias, uint_fast16_t, 15, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<SourceFollowerBias, uint_fast16_t, 15, 0>::rant_t rant_t

Public Functions

inline explicit constexpr SourceFollowerBias()
inline explicit constexpr SourceFollowerBias(uintmax_t const val)
struct haldls::vx::ReadoutSourceSelection::SourceMultiplexer
#include <readout.h>

Public Types

typedef halco::common::typed_array<bool, halco::hicann_dls::vx::HemisphereOnDLS> hemisphere_type

Public Functions

SourceMultiplexer () SYMBOL_VISIBLE

Default constructor with all inputs disabled.

bool get_cadc_debug_acausal () const SYMBOL_VISIBLE

Connect CADC acausal debug line to mux.

bool get_cadc_debug_causal () const SYMBOL_VISIBLE

Connect CADC causal debug line to mux.

bool get_current_dac () const SYMBOL_VISIBLE

Connect output line of idac_i_out to mux.

This current-dac in the readout section can also be connected to neuron membranes or the synaptic input, to mux.

bool get_debug_minus () const SYMBOL_VISIBLE

Connect debug_minus line to mux.

bool get_debug_plus () const SYMBOL_VISIBLE

Connect debug_plus line to mux.

bool get_synin_debug_excitatory () const SYMBOL_VISIBLE

Connect synaptic input excitatory debug line to mux.

bool get_synin_debug_inhibitory () const SYMBOL_VISIBLE

Connect synaptic input inhibitory debug line to mux.

bool operator!= (SourceMultiplexer const &other) const SYMBOL_VISIBLE
bool operator== (SourceMultiplexer const &other) const SYMBOL_VISIBLE
return_value_policy (reference_internal)) hemisphere_type const &get_neuron_even() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) hemisphere_type const &get_neuron_odd() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) hemisphere_type const &get_synapse_driver_debug() const SYMBOL_VISIBLE
void set_cadc_debug_acausal (bool value) SYMBOL_VISIBLE
void set_cadc_debug_causal (bool value) SYMBOL_VISIBLE
void set_current_dac (bool value) SYMBOL_VISIBLE
void set_debug_minus (bool value) SYMBOL_VISIBLE
void set_debug_plus (bool value) SYMBOL_VISIBLE
void set_neuron_even (hemisphere_type const &value) SYMBOL_VISIBLE
void set_neuron_odd (hemisphere_type const &value) SYMBOL_VISIBLE
void set_synapse_driver_debug (hemisphere_type const &value) SYMBOL_VISIBLE
void set_synin_debug_excitatory (bool value) SYMBOL_VISIBLE
void set_synin_debug_inhibitory (bool value) SYMBOL_VISIBLE

Private Functions

template<class Archive>
void serialize(Archive &ar, std::uint32_t const version)

Private Members

bool m_cadc_debug_acausal
bool m_cadc_debug_causal
bool m_current_dac
bool m_debug_minus
bool m_debug_plus
hemisphere_type m_neuron_even
hemisphere_type m_neuron_odd
hemisphere_type m_synapse_driver_debug
bool m_synin_debug_excitatory
bool m_synin_debug_inhibitory

Friends

friend class cereal::access
friend std::ostream & operator<< (std::ostream &os, SourceMultiplexer const &config) SYMBOL_VISIBLE
friend class ReadoutSourceSelection
class haldls::vx::SpikeCounterRead : public haldls::vx::ContainerBase<SpikeCounterRead>
#include <neuron.h>

Container to read the spike counter of a single neuron.

Public Types

typedef EncodableBase<SpikeCounterRead, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SpikeCounterRead, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SpikeCounterRead, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SpikeCounterRead, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SpikeCounterReadOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

SpikeCounterRead() = default

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

Count get_count () const SYMBOL_VISIBLE

Get count, i.e.

number of spikes since last reset.

Returns

Count

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

bool get_overflow () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SpikeCounterRead const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SpikeCounterRead const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_count (Count const cnt) SYMBOL_VISIBLE
void set_overflow (bool const ovrflw) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 0

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SpikeCounterRead &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Count m_count
bool m_overflow = {false}

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SpikeCounterRead const &config) SYMBOL_VISIBLE
class haldls::vx::SpikeCounterReset : public haldls::vx::ContainerBase<SpikeCounterReset>
#include <neuron.h>

Container to reset the spike counter of a single neuron.

Public Types

typedef EncodableBase<SpikeCounterReset, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SpikeCounterReset, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SpikeCounterReset, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SpikeCounterReset, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SpikeCounterResetOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

SpikeCounterReset () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SpikeCounterReset const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SpikeCounterReset const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

template<typename AddressT> static std::array< AddressT, read_config_size_in_words > read_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE
template<typename AddressT> static std::array< AddressT, write_config_size_in_words > write_addresses (coordinate_type const &neuron) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SpikeCounterReset &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SpikeCounterReset const &config) SYMBOL_VISIBLE
class haldls::vx::SpikeFromChip
#include <event.h>

Spike from chip.

It is comprised of its label, FPGA and chip time annotation.

Public Functions

SpikeFromChip() = default

Default constructor.

inline SpikeFromChip(fisch::vx::SpikeFromChip const &data)

Construct a spike from chip from the data respresentation.

Parameters

data – Data to use

inline SpikeFromChip(halco::hicann_dls::vx::SpikeLabel const &label, FPGATime const &fpga_time, ChipTime const &chip_time)

Construct spike from chip via a label, FPGA and chip time information.

Parameters
  • label – SpikeLabel to use

  • fpga_time – FPGATime to use

  • chip_time – ChipTime to use

bool operator!= (SpikeFromChip const &other) const SYMBOL_VISIBLE
bool operator== (SpikeFromChip const &other) const SYMBOL_VISIBLE

Public Members

ChipTime chip_time

Chip time.

FPGATime fpga_time

FPGA time.

halco::hicann_dls::vx::SpikeLabel label

Spike label.

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, SpikeFromChip &value, std::uint32_t const version)

Friends

friend struct cereal::access
friend struct detail::SpikeFromChipChecker
friend std::ostream & operator<< (std::ostream &os, SpikeFromChip const &spike) SYMBOL_VISIBLE
struct SpikeFromChipChecker
#include <event.h>
class haldls::vx::SpikeIOConfig : public haldls::vx::ContainerBase<SpikeIOConfig>
#include <fpga.h>

Configuration registers for on-FPGA SpikeIO.

Public Types

typedef EncodableBase<SpikeIOConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SpikeIOConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SpikeIOConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SpikeIOConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SpikeIOConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  SpikeIOConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

DataRateScaler const & get_data_rate_scaler () const SYMBOL_VISIBLE

Get data rate scaling value for serial output.

bool get_enable_internal_loopback () const SYMBOL_VISIBLE

Get enable of internal serial loopback.

bool get_enable_rx () const SYMBOL_VISIBLE

Get global enable of serial input.

bool get_enable_tx () const SYMBOL_VISIBLE

Get global enable of serial output.

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SpikeIOConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SpikeIOConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_data_rate_scaler (DataRateScaler value) SYMBOL_VISIBLE

Set data rate scaling value for serial output.

void set_enable_internal_loopback (bool value) SYMBOL_VISIBLE

Set enable of internal serial loopback.

void set_enable_rx (bool value) SYMBOL_VISIBLE

Set global enable of serial input.

void set_enable_tx (bool value) SYMBOL_VISIBLE

Set global enable of serial output.

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SpikeIOConfig &value, std::uint32_t version) SYMBOL_VISIBLE

Private Members

DataRateScaler m_data_rate_scaler
bool m_enable_internal_loopback
bool m_enable_rx
bool m_enable_tx

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SpikeIOConfig const &config) SYMBOL_VISIBLE
class haldls::vx::SpikeIOInputRoute : public haldls::vx::ContainerBase<SpikeIOInputRoute>
#include <fpga.h>

On-chip target spike address for events received via the on-fpga SpikeIO module.

Public Types

typedef EncodableBase<SpikeIOInputRoute, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SpikeIOInputRoute, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SpikeIOInputRoute, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SpikeIOInputRoute, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SpikeIOInputRouteOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  SpikeIOInputRoute () SYMBOL_VISIBLE
explicit  SpikeIOInputRoute (halco::hicann_dls::vx::SpikeLabel label) SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

halco::hicann_dls::vx::SpikeLabel const & get_target () const SYMBOL_VISIBLE

Get target spike label.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SpikeIOInputRoute const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SpikeIOInputRoute const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_target (halco::hicann_dls::vx::SpikeLabel value) SYMBOL_VISIBLE

Set target spike label.

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr halco::hicann_dls::vx::SpikeLabel SILENT{halco::hicann_dls::vx::SpikeLabel::max}

Discard events with this target.

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SpikeIOInputRoute &value, std::uint32_t version) SYMBOL_VISIBLE

Private Members

halco::hicann_dls::vx::SpikeLabel m_target

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SpikeIOInputRoute const &config) SYMBOL_VISIBLE
class haldls::vx::SpikeIOOutputRoute : public haldls::vx::ContainerBase<SpikeIOOutputRoute>
#include <fpga.h>

Serial address target for events sent via the on-fpga SpikeIO module.

Public Types

typedef EncodableBase<SpikeIOOutputRoute, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SpikeIOOutputRoute, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SpikeIOOutputRoute, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SpikeIOOutputRoute, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SpikeIOOutputRouteOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  SpikeIOOutputRoute () SYMBOL_VISIBLE
explicit  SpikeIOOutputRoute (halco::hicann_dls::vx::SpikeIOAddress serial_address) SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

halco::hicann_dls::vx::SpikeIOAddress const & get_target () const SYMBOL_VISIBLE

Get target spike label.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SpikeIOOutputRoute const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SpikeIOOutputRoute const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_target (halco::hicann_dls::vx::SpikeIOAddress value) SYMBOL_VISIBLE

Set target spike label.

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr halco::hicann_dls::vx::SpikeIOAddress SILENT{halco::hicann_dls::vx::SpikeIOAddress::max}

Discard events with this target.

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SpikeIOOutputRoute &value, std::uint32_t version) SYMBOL_VISIBLE

Private Members

halco::hicann_dls::vx::SpikeIOAddress m_target

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SpikeIOOutputRoute const &config) SYMBOL_VISIBLE
class haldls::vx::SpikePack1ToChip : public haldls::vx::ContainerBase<SpikePack1ToChip>
#include <event.h>

Public Types

typedef EncodableBase<SpikePack1ToChip, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SpikePack1ToChip, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SpikePack1ToChip, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SpikePack1ToChip, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SpikePack1ToChipOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef std::array<halco::hicann_dls::vx::SpikeLabel, 1> labels_type

Public Functions

SpikePack1ToChip () SYMBOL_VISIBLE

Default constructor.

explicit  SpikePack1ToChip (labels_type const &labels) SYMBOL_VISIBLE

  • Construct spike pack with labels. *

Parameters

labels – Array of SpikeLabel values to use

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::SpikePack1ToChip, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::SpikePack1ToChip, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

labels_type get_labels () const SYMBOL_VISIBLE

  • Get spike labels. *

Returns

Array of SpikeLabel

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SpikePack1ToChip const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SpikePack1ToChip const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_labels (labels_type const &value) SYMBOL_VISIBLE

  • Set spike labels. *

Parameters

value – Array of SpikeLabel to set

Public Static Functions

static std::array< halco::hicann_dls::vx::SpikePack1ToChipOnDLS, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::SpikePack1ToChipOnDLS, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 0
static constexpr size_t write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SpikePack1ToChip &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

labels_type m_impl

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SpikePack1ToChip const &config) SYMBOL_VISIBLE
class haldls::vx::SpikePack2ToChip : public haldls::vx::ContainerBase<SpikePack2ToChip>
#include <event.h>

Public Types

typedef EncodableBase<SpikePack2ToChip, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SpikePack2ToChip, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SpikePack2ToChip, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SpikePack2ToChip, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SpikePack2ToChipOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef std::array<halco::hicann_dls::vx::SpikeLabel, 2> labels_type

Public Functions

SpikePack2ToChip () SYMBOL_VISIBLE

Default constructor.

explicit  SpikePack2ToChip (labels_type const &labels) SYMBOL_VISIBLE

  • Construct spike pack with labels. *

Parameters

labels – Array of SpikeLabel values to use

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::SpikePack2ToChip, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::SpikePack2ToChip, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

labels_type get_labels () const SYMBOL_VISIBLE

  • Get spike labels. *

Returns

Array of SpikeLabel

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SpikePack2ToChip const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SpikePack2ToChip const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_labels (labels_type const &value) SYMBOL_VISIBLE

  • Set spike labels. *

Parameters

value – Array of SpikeLabel to set

Public Static Functions

static std::array< halco::hicann_dls::vx::SpikePack2ToChipOnDLS, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::SpikePack2ToChipOnDLS, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 0
static constexpr size_t write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SpikePack2ToChip &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

labels_type m_impl

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SpikePack2ToChip const &config) SYMBOL_VISIBLE
class haldls::vx::SpikePack3ToChip : public haldls::vx::ContainerBase<SpikePack3ToChip>
#include <event.h>

Public Types

typedef EncodableBase<SpikePack3ToChip, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SpikePack3ToChip, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SpikePack3ToChip, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SpikePack3ToChip, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SpikePack3ToChipOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef std::array<halco::hicann_dls::vx::SpikeLabel, 3> labels_type

Public Functions

SpikePack3ToChip () SYMBOL_VISIBLE

Default constructor.

explicit  SpikePack3ToChip (labels_type const &labels) SYMBOL_VISIBLE

  • Construct spike pack with labels. *

Parameters

labels – Array of SpikeLabel values to use

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::SpikePack3ToChip, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::SpikePack3ToChip, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

labels_type get_labels () const SYMBOL_VISIBLE

  • Get spike labels. *

Returns

Array of SpikeLabel

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SpikePack3ToChip const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SpikePack3ToChip const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_labels (labels_type const &value) SYMBOL_VISIBLE

  • Set spike labels. *

Parameters

value – Array of SpikeLabel to set

Public Static Functions

static std::array< halco::hicann_dls::vx::SpikePack3ToChipOnDLS, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::SpikePack3ToChipOnDLS, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static constexpr size_t read_config_size_in_words = 0
static constexpr size_t write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SpikePack3ToChip &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

labels_type m_impl

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SpikePack3ToChip const &config) SYMBOL_VISIBLE
class haldls::vx::detail::SRAMTimingConfig
#include <sram_controller.h>

Configuration of full-custom SRAM timing.

                    enable width
                    |---------------|
address _____/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯_________ enable ________________/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯_________ ^ |——-|———-| address read delay setup time

Subclassed by haldls::vx::CADCOffsetSRAMTimingConfig, haldls::vx::NeuronBackendSRAMTimingConfig, haldls::vx::NeuronSRAMTimingConfig, haldls::vx::SynapseDriverSRAMTimingConfig

Public Types

typedef std::true_type is_leaf_node

Public Functions

SRAMTimingConfig () SYMBOL_VISIBLE

Default constructor.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
AddressSetupTime get_address_setup_time () const SYMBOL_VISIBLE
EnableWidth get_enable_width () const SYMBOL_VISIBLE
ReadDelay get_read_delay () const SYMBOL_VISIBLE
bool operator!= (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
bool operator== (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
void set_address_setup_time (AddressSetupTime value) SYMBOL_VISIBLE
void set_enable_width (EnableWidth value) SYMBOL_VISIBLE
void set_read_delay (ReadDelay value) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, SRAMTimingConfig &value, std::uint32_t) SYMBOL_VISIBLE

Private Members

AddressSetupTime m_address_setup_time
EnableWidth m_enable_width
ReadDelay m_read_delay

Friends

friend struct cereal::access
struct haldls::vx::CapMemBlockConfig::SubCounter : public halco::common::detail::RantWrapper<SubCounter, uint_fast16_t, 65535, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<SubCounter, uint_fast16_t, 65535, 0>::rant_t rant_t

Public Functions

inline explicit constexpr SubCounter()
inline explicit constexpr SubCounter(uintmax_t const val)
class haldls::vx::SynapseBiasSelection : public haldls::vx::ContainerBase<SynapseBiasSelection>
#include <synapse.h>

Public Types

typedef EncodableBase<SynapseBiasSelection, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SynapseBiasSelection, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SynapseBiasSelection, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::CapMemBlockOnDLS> bias_selection_type
typedef EncodableBase<SynapseBiasSelection, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SynapseBiasSelectionOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  SynapseBiasSelection () SYMBOL_VISIBLE

Construct Synapse Bias Selection container with all internal biases enabled.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &words) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SynapseBiasSelection const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SynapseBiasSelection const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) bias_selection_type const &get_enable_internal_dac_bias() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) bias_selection_type const &get_enable_internal_output_bias() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) bias_selection_type const &get_enable_internal_ramp_bias() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) bias_selection_type const &get_enable_internal_store_bias() const SYMBOL_VISIBLE
void set_enable_internal_dac_bias (bias_selection_type const &value) SYMBOL_VISIBLE
void set_enable_internal_output_bias (bias_selection_type const &value) SYMBOL_VISIBLE
void set_enable_internal_ramp_bias (bias_selection_type const &value) SYMBOL_VISIBLE
void set_enable_internal_store_bias (bias_selection_type const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::hardware, hxcomm::vx::Target::simulation}

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SynapseBiasSelection &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bias_selection_type m_int_dac_bias
bias_selection_type m_int_output_bias
bias_selection_type m_int_ramp_bias
bias_selection_type m_int_store_bias

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SynapseBiasSelection const &config) SYMBOL_VISIBLE
class haldls::vx::SynapseCorrelationCalibQuad : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<SynapseCorrelationCalibQuad>
#include <synapse.h>

Public Types

typedef halco::common::typed_array<AmpCalib, halco::hicann_dls::vx::EntryOnQuad> amp_calibs_type
typedef EncodableBase<SynapseCorrelationCalibQuad, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SynapseCorrelationCalibQuad, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SynapseCorrelationCalibQuad, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SynapseCorrelationCalibQuad, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SynapseCorrelationCalibQuadOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef halco::common::typed_array<TimeCalib, halco::hicann_dls::vx::EntryOnQuad> time_calibs_type

Public Functions

SynapseCorrelationCalibQuad () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SynapseCorrelationCalibQuad const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SynapseCorrelationCalibQuad const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) amp_calibs_type const &get_amp_calibs() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) time_calibs_type const &get_time_calibs() const SYMBOL_VISIBLE
void set_amp_calibs (amp_calibs_type const &value) SYMBOL_VISIBLE
void set_time_calibs (time_calibs_type const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &block)

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<class Archive>
friend void serialize(Archive &ar, SynapseCorrelationCalibQuad &value, std::uint32_t version)

Private Members

amp_calibs_type m_amp_calibs
time_calibs_type m_time_calibs

Friends

friend struct cereal::access
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::SynapseCorrelationCalibMatrix >
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::SynapseCorrelationCalibRow >
friend std::ostream & operator<< (std::ostream &os, SynapseCorrelationCalibQuad const &config) SYMBOL_VISIBLE
class haldls::vx::SynapseDriverConfig : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<SynapseDriverConfig>
#include <synapse_driver.h>

Public Types

typedef EncodableBase<SynapseDriverConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SynapseDriverConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SynapseDriverConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SynapseDriverConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SynapseDriverOnDLS coordinate_type
typedef std::true_type is_leaf_node
enum RowMode

Values:

enumerator disabled
enumerator excitatory
enumerator inhibitory
enumerator excitatory_and_inhibitory

Public Functions

SynapseDriverConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_address_out () const SYMBOL_VISIBLE

This enables sending the five lower bits of an address to the synapses.

The MSB is always sent. This mode must be disabled for HAGEN operation.

bool get_enable_charge_sharing () const SYMBOL_VISIBLE

Enable charge sharing for larger STP utilization values (broken).

bool get_enable_hagen_dac () const SYMBOL_VISIBLE

Enable the DAC converting a hagen activation to an STP voltage.

bool get_enable_hagen_modulation () const SYMBOL_VISIBLE

Enable modulation of pulse width proportional to event address.

Note:

  • Hagen DAC must also be enabled through enable_hagen_dac

  • Address forwarding must be disabled through enable_address_out

  • STP circuit must be enabled through enable_stp

bool get_enable_readout () const SYMBOL_VISIBLE

Enable readout source follower and connect to readout line.

The readout is shared between all instances of a vertical half. Connecting multiple instances is non-destructive but will result in faulty readings. Also note that an additional buffer per half must be biased to drive the signals further down to the readout chain.

bool get_enable_receiver () const SYMBOL_VISIBLE

Enable padi bus receiver.

bool get_enable_recovery () const SYMBOL_VISIBLE

Enable STP recovery circuit.

bool get_enable_renewing () const SYMBOL_VISIBLE

Enable renewing synapses for LIF sampling (broken due to faulty circuit).

bool get_enable_stp () const SYMBOL_VISIBLE

Enable STP circuit.

HagenDACOffset get_hagen_dac_offset () const SYMBOL_VISIBLE

Output voltage offset for the hagen mode DAC.

While the STP offsets also affect hagen usage, this setting allows calibration of dacen pulse timings in hagen mode across a larger range.

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

Offset get_offset () const SYMBOL_VISIBLE

Calibration value for dacen pulse width.

Recovery get_recovery () const SYMBOL_VISIBLE

Set STP recovery time constant.

RowAddressCompareMask get_row_address_compare_mask () const SYMBOL_VISIBLE

Set row select address compare mask.

The incoming row select address allows to individually address a single synapse driver. For this purpose, the events row select address (5 bit) is compared to the synapse driver index (static). The padi bus receiver can be configured to ignore (parts of) the row select address by zeroing (parts of) the row_address_compare_mask.

RowMode get_row_mode_bottom () const SYMBOL_VISIBLE

Set bottom row mode.

RowMode get_row_mode_top () const SYMBOL_VISIBLE

Set top row mode.

TargetVoltages get_select_target_voltages () const SYMBOL_VISIBLE

Select a pair of STP target voltages (vrecover, vcharge).

Each synapse driver is provided with two sets of the STP target voltages, to allow for two different parameterizations within a single array. Note that although there are only two logical arrays of synapse drivers per chip, even and odd synapse drivers are fed with disjunct analog parameters provided by the east and west capmem instances, respectively.

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Utilization get_utilization () const SYMBOL_VISIBLE

Set strength of STP utilization.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SynapseDriverConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SynapseDriverConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_address_out (bool const value) SYMBOL_VISIBLE
void set_enable_charge_sharing (bool const value) SYMBOL_VISIBLE
void set_enable_hagen_dac (bool value) SYMBOL_VISIBLE
void set_enable_hagen_modulation (bool const value) SYMBOL_VISIBLE
void set_enable_readout (bool const value) SYMBOL_VISIBLE
void set_enable_receiver (bool const value) SYMBOL_VISIBLE
void set_enable_recovery (bool const value) SYMBOL_VISIBLE
void set_enable_renewing (bool const value) SYMBOL_VISIBLE
void set_enable_stp (bool const value) SYMBOL_VISIBLE
void set_hagen_dac_offset (HagenDACOffset value) SYMBOL_VISIBLE
void set_offset (Offset const value) SYMBOL_VISIBLE
void set_recovery (Recovery const value) SYMBOL_VISIBLE
void set_row_address_compare_mask (RowAddressCompareMask const value) SYMBOL_VISIBLE
void set_row_mode_bottom (RowMode value) SYMBOL_VISIBLE
void set_row_mode_top (RowMode value) SYMBOL_VISIBLE
void set_select_target_voltages (TargetVoltages const value) SYMBOL_VISIBLE
void set_utilization (Utilization const value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &synapse_driver) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 3
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

void from_bitfield(SynapseDriverConfigBitfield const &bitfield)
SynapseDriverConfigBitfield to_bitfield() const
template<class Archive> friend void::cereal::serialize (Archive &ar, SynapseDriverConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_en_address_out
bool m_en_charge_sharing
bool m_en_hagen_dac
bool m_en_hagen_modulation
bool m_en_readout
bool m_en_receiver
bool m_en_recovery
bool m_en_renewing
bool m_en_stp
HagenDACOffset m_hagen_dac_offset
Offset m_offset
Recovery m_recovery
RowAddressCompareMask m_row_address_compare_mask
RowMode m_row_mode_bottom
RowMode m_row_mode_top
TargetVoltages m_select_target_voltages
Utilization m_utilization

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SynapseDriverConfig const &config) SYMBOL_VISIBLE
class haldls::vx::SynapseDriverSRAMTimingConfig : public haldls::vx::detail::SRAMTimingConfig, public haldls::vx::ContainerBase<SynapseDriverSRAMTimingConfig>
#include <synapse_driver.h>

Public Types

typedef EncodableBase<SynapseDriverSRAMTimingConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SynapseDriverSRAMTimingConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SynapseDriverSRAMTimingConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SynapseDriverSRAMTimingConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SynapseDriverSRAMTimingConfigOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

AddressSetupTime get_address_setup_time () const SYMBOL_VISIBLE
EnableWidth get_enable_width () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

ReadDelay get_read_delay () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
bool operator!= (SynapseDriverSRAMTimingConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SRAMTimingConfig const &other) const SYMBOL_VISIBLE
bool operator== (SynapseDriverSRAMTimingConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_address_setup_time (AddressSetupTime value) SYMBOL_VISIBLE
void set_enable_width (EnableWidth value) SYMBOL_VISIBLE
void set_read_delay (ReadDelay value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 2
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation, hxcomm::vx::Target::hardware}

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, SynapseDriverSRAMTimingConfig &value, std::uint32_t)

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SynapseDriverSRAMTimingConfig const &config) SYMBOL_VISIBLE
class haldls::vx::SynapseLabelQuad : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<SynapseLabelQuad>
#include <synapse.h>

Public Types

typedef EncodableBase<SynapseLabelQuad, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SynapseLabelQuad, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SynapseLabelQuad, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SynapseLabelQuad, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SynapseLabelQuadOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef halco::hicann_dls::vx::SynapseLabel Value
typedef halco::common::typed_array<Value, halco::hicann_dls::vx::EntryOnQuad> values_type

Public Functions

SynapseLabelQuad () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SynapseLabelQuad const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SynapseLabelQuad const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) values_type const &get_values() const SYMBOL_VISIBLE
void set_values (values_type const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &block)

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<class Archive>
friend void serialize(Archive &ar, SynapseLabelQuad &value, std::uint32_t version)

Private Members

values_type m_values

Friends

friend struct cereal::access
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::SynapseLabelMatrix >
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::SynapseLabelRow >
friend std::ostream & operator<< (std::ostream &os, SynapseLabelQuad const &config) SYMBOL_VISIBLE
class haldls::vx::SynapseQuad : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<SynapseQuad>
#include <synapse.h>

Public Types

typedef SynapseCorrelationCalibQuad::amp_calibs_type amp_calibs_type
typedef SynapseCorrelationCalibQuad::AmpCalib AmpCalib
typedef EncodableBase<SynapseQuad, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SynapseQuad, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SynapseQuad, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SynapseQuad, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SynapseQuadOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef SynapseLabelQuad::Value Label
typedef SynapseLabelQuad::values_type labels_type
typedef SynapseCorrelationCalibQuad::time_calibs_type time_calibs_type
typedef SynapseCorrelationCalibQuad::TimeCalib TimeCalib
typedef SynapseWeightQuad::Value Weight
typedef SynapseWeightQuad::values_type weights_type

Public Functions

SynapseQuad () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SynapseQuad const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SynapseQuad const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) amp_calibs_type const &get_amp_calibs() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) labels_type const &get_labels() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) time_calibs_type const &get_time_calibs() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) weights_type const &get_weights() const SYMBOL_VISIBLE
void set_amp_calibs (amp_calibs_type const &value) SYMBOL_VISIBLE
void set_labels (labels_type const &value) SYMBOL_VISIBLE
void set_time_calibs (time_calibs_type const &value) SYMBOL_VISIBLE
void set_weights (weights_type const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &block)

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SynapseQuad &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

amp_calibs_type m_amp_calibs
labels_type m_labels
time_calibs_type m_time_calibs
weights_type m_weights

Friends

friend struct cereal::access
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::SynapseMatrix >
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::SynapseRow >
friend std::ostream & operator<< (std::ostream &os, SynapseQuad const &config) SYMBOL_VISIBLE
class haldls::vx::SynapseWeightQuad : public haldls::vx::DifferentialWriteTrait, public haldls::vx::ContainerBase<SynapseWeightQuad>
#include <synapse.h>

Public Types

typedef EncodableBase<SynapseWeightQuad, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SynapseWeightQuad, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SynapseWeightQuad, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SynapseWeightQuad, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SynapseWeightQuadOnDLS coordinate_type
typedef std::true_type is_leaf_node
typedef halco::common::typed_array<Value, halco::hicann_dls::vx::EntryOnQuad> values_type

Public Functions

SynapseWeightQuad () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT>
void decode(std::array<WordT, config_size_in_words> const &data)
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT>
std::array<WordT, config_size_in_words> encode() const
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SynapseWeightQuad const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SynapseWeightQuad const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) values_type const &get_values() const SYMBOL_VISIBLE
void set_values (values_type const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT>
static std::array<AddressT, config_size_in_words> addresses(coordinate_type const &block)

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<class Archive>
friend void serialize(Archive &ar, SynapseWeightQuad &value, std::uint32_t version)

Private Members

values_type m_values

Friends

friend struct cereal::access
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::SynapseWeightMatrix >
friend struct haldls::vx::detail::VisitPreorderImpl< lola::vx::SynapseWeightRow >
friend std::ostream & operator<< (std::ostream &os, SynapseWeightQuad const &config) SYMBOL_VISIBLE
haldls::vx::EventSwitchReadout::Systime : public halco::common::detail::RantWrapper< Systime, uint64_t, 0x07ff 'ffff 'ffffull, 0 >
#include <extoll.h>

Systime value type.

Public Functions

inline explicit constexpr Systime(uintmax_t const val = 0)
haldls::vx::FPGASystimeSyncLastAsicSystime::Systime : public halco::common::detail::RantWrapper< Systime, uint64_t, 0x07ff 'ffff 'ffff, 0 >
#include <fpga.h>

Systime value type.

Public Functions

inline explicit constexpr Systime(uintmax_t const val = 0)
haldls::vx::FPGASystimeSyncLastRTT::Systime : public halco::common::detail::RantWrapper< Systime, uint64_t, 0x07ff 'ffff 'ffffull, 0 >
#include <fpga.h>

Systime value type.

Public Functions

inline explicit constexpr Systime(uintmax_t const val = 0)
class haldls::vx::SystimeCorrectionBarrierConfig : public haldls::vx::ContainerBase<SystimeCorrectionBarrierConfig>
#include <fpga.h>

Container for arming the systime-correction barrier in playback executor.

This barrier, if armed, blocks the pb-executor until a global interrupt signal is received. If unarmed, the barrier returns immediately. With an Extoll-Bitfile, this waits for a global network-Interrupt. In any other case, it will just return immediately.

Public Types

typedef EncodableBase<SystimeCorrectionBarrierConfig, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SystimeCorrectionBarrierConfig, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SystimeCorrectionBarrierConfig, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SystimeCorrectionBarrierConfig, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SystimeCorrectionBarrierConfigOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  SystimeCorrectionBarrierConfig () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_interrupt () const SYMBOL_VISIBLE

Get enable_interrupt.

Returns

bool enable_interrupt

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SystimeCorrectionBarrierConfig const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SystimeCorrectionBarrierConfig const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_interrupt (bool enable_interrupt) SYMBOL_VISIBLE

Set enable_interrupt.

Parameters

bool – enable_interrupt

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 1
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, SystimeCorrectionBarrierConfig &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable_interrupt

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, SystimeCorrectionBarrierConfig const &config) SYMBOL_VISIBLE
class haldls::vx::SystimeSync : public haldls::vx::ContainerBase<SystimeSync>
#include <systime.h>

Container for syncronization of chip and FPGA systime.

After syncronization the FPGA will annotate responses with systime information by sending additional timing messages.

Public Types

typedef EncodableBase<SystimeSync, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SystimeSync, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SystimeSync, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SystimeSync, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SystimeSyncOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

SystimeSync (bool do_sync=true) SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::SystimeSync, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::SystimeSync, write_config_size_in_words > encode () const SYMBOL_VISIBLE SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_do_sync () const SYMBOL_VISIBLE

Get systime sync enable value.

On true, systime sync is triggered, on false only a systime update response is emitted.

Returns

Boolean value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SystimeSync const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SystimeSync const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_do_sync (bool value) SYMBOL_VISIBLE

Set systime sync enable value.

On true, systime sync is triggered, on false only a systime update response is emitted.

Parameters

value – Boolean value

Public Static Functions

static std::array< coordinate_type, read_config_size_in_words > read_addresses (coordinate_type const &word) SYMBOL_VISIBLE SYMBOL_VISIBLE
static std::array< coordinate_type, write_config_size_in_words > write_addresses (coordinate_type const &word) SYMBOL_VISIBLE SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, SystimeSync &value, std::uint32_t const version)

Private Members

bool m_do_sync

Friends

friend std::ostream & operator<< (std::ostream &os, SystimeSync const &systime_sync) SYMBOL_VISIBLE
class haldls::vx::SystimeSyncBase : public haldls::vx::ContainerBase<SystimeSyncBase>
#include <systime.h>

Container for configuring the initial counter value of the systime counter in the chip and in the FPGA after the next systime syncronization operation.

Public Types

typedef EncodableBase<SystimeSyncBase, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<SystimeSyncBase, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<SystimeSyncBase, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<SystimeSyncBase, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::SystimeSyncBaseOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

explicit  SystimeSyncBase (Value const value=Value()) SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

template<typename WordT> void decode (std::array< WordT, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

template<typename WordT> std::array< WordT, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE
virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (SystimeSyncBase const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (SystimeSyncBase const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value const &value) SYMBOL_VISIBLE

Public Static Functions

template<typename AddressT> static std::array< AddressT, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 2

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, SystimeSyncBase &value, std::uint32_t const version)

Private Members

Value m_value

Friends

friend std::ostream & operator<< (std::ostream &os, SystimeSyncBase const &config) SYMBOL_VISIBLE
struct haldls::vx::SynapseDriverConfig::TargetVoltages : public halco::common::detail::RantWrapper<TargetVoltages, uint_fast8_t, 1, 0>
#include <synapse_driver.h>

Public Functions

inline explicit constexpr TargetVoltages(uintmax_t const val = 0)
class haldls::vx::TCA9554Config : public haldls::vx::ContainerBase<TCA9554Config>
#include <i2c.h>

Public Types

typedef EncodableBase<TCA9554Config, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<TCA9554Config, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<TCA9554Config, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
enum ChannelMode

Values:

enumerator output
enumerator input
enum ChannelPolarity

Values:

enumerator normal
enumerator inverted
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::TCA9554ChannelOnBoard> ChannelsBooleanArray
typedef halco::common::typed_array<ChannelMode, halco::hicann_dls::vx::TCA9554ChannelOnBoard> ChannelsModeArray
typedef halco::common::typed_array<ChannelPolarity, halco::hicann_dls::vx::TCA9554ChannelOnBoard> ChannelsPolarityArray
typedef EncodableBase<TCA9554Config, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::TCA9554ConfigOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

TCA9554Config () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::I2CTCA9554RwRegister, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::I2CTCA9554RwRegister, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (TCA9554Config const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (TCA9554Config const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) ChannelsBooleanArray const &get_channel_output() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) ChannelsModeArray const &get_channel_mode() const SYMBOL_VISIBLE
return_value_policy (reference_internal)) ChannelsPolarityArray const &get_channel_polarity() const SYMBOL_VISIBLE
void set_channel_mode (ChannelsModeArray const &value) SYMBOL_VISIBLE

Set input/output mode for all channels.

Parameters

value – Array of channel input/output modes

void set_channel_output (ChannelsBooleanArray const &value) SYMBOL_VISIBLE

Set output value for all channels.

Parameters

value – Array of output values

void set_channel_polarity (ChannelsPolarityArray const &value) SYMBOL_VISIBLE

Set polarity inversion mode of all channels.

Parameters

value – Array of polarity inversion modes

Public Static Functions

static std::array< halco::hicann_dls::vx::I2CTCA9554RwRegisterOnBoard, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 3
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, TCA9554Config &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

ChannelsModeArray m_mode
ChannelsBooleanArray m_output
ChannelsPolarityArray m_polarity

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, TCA9554Config const &config) SYMBOL_VISIBLE
class haldls::vx::TCA9554Inputs : public haldls::vx::ContainerBase<TCA9554Inputs>
#include <i2c.h>

Public Types

typedef EncodableBase<TCA9554Inputs, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<TCA9554Inputs, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<TCA9554Inputs, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::TCA9554ChannelOnBoard> ChannelsBooleanArray
typedef EncodableBase<TCA9554Inputs, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::TCA9554InputsOnBoard coordinate_type
typedef std::true_type is_leaf_node

Public Functions

TCA9554Inputs () SYMBOL_VISIBLE
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::I2CTCA9554RoRegister, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::I2CTCA9554RoRegister, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (TCA9554Inputs const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (TCA9554Inputs const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference_internal)) ChannelsBooleanArray const &get_channel_input() const SYMBOL_VISIBLE
void set_channel_input (ChannelsBooleanArray const &value) SYMBOL_VISIBLE

Set input value for all channels.

Parameters

value – Array of channel input values

Public Static Functions

static std::array< halco::hicann_dls::vx::I2CTCA9554RoRegisterOnBoard, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1
static constexpr auto unsupported_read_targets = {hxcomm::vx::Target::simulation}

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, TCA9554Inputs &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

ChannelsBooleanArray m_input

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, TCA9554Inputs const &config) SYMBOL_VISIBLE
struct haldls::vx::SynapseCorrelationCalibQuad::TimeCalib : public halco::common::detail::RantWrapper<TimeCalib, uint8_t, 3, 0>
#include <synapse.h>

Public Functions

inline explicit constexpr TimeCalib(uintmax_t const val = 0)
class haldls::vx::Timer : public haldls::vx::ContainerBase<Timer>
#include <timer.h>

Container for resetting and reading the FPGA playback timer.

Public Types

typedef EncodableBase<Timer, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<Timer, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<Timer, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<Timer, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::TimerOnDLS coordinate_type
typedef std::true_type is_leaf_node

Public Functions

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Timer, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Timer, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

Value get () const SYMBOL_VISIBLE

Get timer value.

Returns

Value value

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (Timer const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (Timer const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set (Value value) SYMBOL_VISIBLE

Set timer value.

Parameters

value – Value to set

Public Members

struct inline_base("*BlockUntilBase*")) Valu Timer )(Value value=Value()) SYMBOL_VISIBLE

Construct on-FPGA-timer with value.

Parameters

value – Value to construct with

Public Static Functions

static std::array< halco::hicann_dls::vx::TimerOnDLS, config_size_in_words > addresses (coordinate_type const &word) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive>
friend void serialize(Archive &ar, Timer &value, std::uint32_t const version)

Private Members

Value m_value

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, Timer const &config) SYMBOL_VISIBLE
struct haldls::vx::ADPLL::Tune : public halco::common::detail::RantWrapper<Tune, uint_fast16_t, 4095, 0>
#include <pll.h>

Tune value of the DCO.

Public Functions

inline explicit constexpr Tune(uintmax_t const val = 512)
struct haldls::vx::HicannARQStatus::TxCount : public halco::common::detail::BaseType<TxCount, uint32_t>
#include <arq.h>

Number of words sent from the ARQ from the FPGA to the Chip.

Public Functions

inline explicit constexpr TxCount(uintmax_t const val = 0)
struct haldls::vx::PhyStatus::TxCount : public halco::common::detail::BaseType<TxCount, uint32_t>
#include <phy.h>

Number of tx words to Chip since last reset.

Public Functions

inline explicit constexpr TxCount(uintmax_t const val = 0)
struct haldls::vx::INA219Status::UncalibratedPower
#include <i2c.h>

Uncalibrated power [W].

Public Functions

float calculate () const SYMBOL_VISIBLE

Public Members

float shunt_resistance = 0.027
float uncalibrated_bus_voltage

Uncalibrated bus voltage [V].

float uncalibrated_shunt_voltage

Uncalibrated shunt voltage [V].

Friends

friend std::ostream & operator<< (std::ostream &os, UncalibratedPower const &data) SYMBOL_VISIBLE
struct haldls::vx::SynapseDriverConfig::Utilization : public halco::common::detail::RantWrapper<Utilization, uint_fast8_t, 15, 0>
#include <synapse_driver.h>

Public Functions

inline explicit constexpr Utilization(uintmax_t const val = 0)
struct haldls::vx::CADCSampleQuad::Value : public halco::common::detail::RantWrapper<Value, uint_fast16_t, 255, 0>
#include <cadc.h>

CADC measurement value (offset-corrected, see CADCChannelConfig).

Public Functions

inline explicit constexpr Value(intmax_t const val = 0)
struct haldls::vx::CapMemCell::Value : public halco::common::detail::RantWrapper<Value, uint_fast16_t, 1022, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<Value, uint_fast16_t, 1022, 0>::rant_t rant_t

Public Functions

inline explicit constexpr Value()
inline explicit constexpr Value(uintmax_t const val)
struct haldls::vx::CrossbarInputDropCounter::Value : public halco::common::detail::RantWrapper<Value, uint_fast32_t, hate::math::pow(2, 16) - 1, 0>
#include <routing_crossbar.h>

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::CrossbarOutputEventCounter::Value : public halco::common::detail::RantWrapper<Value, uint_fast32_t, hate::math::pow(2, 24) - 1, 0>
#include <routing_crossbar.h>

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::DAC6573ChannelConfig::Value : public halco::common::detail::RantWrapper<Value, uint_fast32_t, fisch::vx::dac6573_value_max, fisch::vx::dac_value_min>
#include <i2c.h>

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::DACChannel::Value : public halco::common::detail::RantWrapper<Value, uint_fast32_t, fisch::vx::dac_value_max, fisch::vx::dac_value_min>
#include <spi.h>

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::ExternalPPUMemoryByte::Value : public halco::common::detail::BaseType<Value, uint8_t>
#include <fpga.h>

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::FPGASystimeSyncNumRetries::Value : public halco::common::detail::RantWrapper<Value, uint8_t, 15, 0>
#include <fpga.h>

Try-count value type.

Public Functions

inline explicit constexpr Value(uintmax_t const val = 3)
struct haldls::vx::JTAGClockScaler::Value : public halco::common::detail::RantWrapper<Value, uint_fast16_t, fisch::vx::jtag_clock_scaler_max, fisch::vx::jtag_clock_scaler_min>
#include <jtag.h>

Clock-scaler value type.

The JTAG clock scales with 1 / (value + 2).

Public Functions

inline explicit constexpr Value(uintmax_t const value = 3)
struct haldls::vx::MADCSampleFromChip::Value : public halco::common::detail::RantWrapper<Value, uint16_t, 0x3ff, 0>
#include <event.h>

Sample value.

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::PPUMemoryWord::Value : public halco::common::detail::RantWrapper<Value, uint_fast32_t, 0xffffffff, 0>
#include <ppu.h>

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::SynapseWeightQuad::Value : public halco::common::detail::RantWrapper<Value, uint8_t, 63, 0>
#include <synapse.h>

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::SystimeSyncBase::Value : public halco::common::detail::RantWrapper<Value, uint64_t, 0x7ffffffffff, 0>
#include <systime.h>

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::VectorGeneratorLUTEntry::Value : public halco::common::detail::RantWrapper<Value, uint_fast16_t, 2047, 0>
#include <vector_generator.h>

Entry value describing the bits [5, 15] of the sent spike label.

Public Functions

inline explicit constexpr Value(uintmax_t const val = 0)
struct haldls::vx::detail::PhyConfigBase::VBias : public halco::common::detail::RantWrapper<VBias, uint_fast32_t, 7, 0>
#include <phy.h>

Public Functions

inline explicit constexpr VBias(uintmax_t const val = 0)
class haldls::vx::VectorGeneratorControl : public haldls::vx::ContainerBase<VectorGeneratorControl>
#include <vector_generator.h>

Public Types

typedef EncodableBase<VectorGeneratorControl, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<VectorGeneratorControl, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<VectorGeneratorControl, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<VectorGeneratorControl, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::VectorGeneratorControlOnFPGA coordinate_type
typedef std::true_type is_leaf_node
enum Notification

Type of notification to send once ready.

Values:

enumerator omnibus
enumerator gpio
enum Signal

Type(s) of signals to use.

Values:

enumerator disabled
enumerator notification
enumerator trigger_and_notification
enum Source

Source to use.

Values:

enumerator omnibus
enumerator external_0
enumerator external_1
enumerator external_2
typedef halco::common::typed_array<Source, halco::hicann_dls::vx::SourceOnVectorGenerator> Sources
typedef halco::common::typed_array<Wait, halco::hicann_dls::vx::SourceOnVectorGenerator> SourceWaits
enum Trigger

Type of trigger signal to listen to.

Values:

enumerator omnibus
enumerator gpio

Public Functions

VectorGeneratorControl() = default
virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

bool get_enable_ignore_zeros () const SYMBOL_VISIBLE

Get whether to ignore events with payload of zero.

Returns

Boolean value

EventPack get_event_pack () const SYMBOL_VISIBLE
virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

halco::hicann_dls::vx::VectorGeneratorLUTEntryOnVectorGeneratorLUT get_lookup_table_entry_start () const SYMBOL_VISIBLE

Get lookup table entry position to start from.

Returns

Entry position

Notification get_notification () const SYMBOL_VISIBLE
ResendCount get_resend_count () const SYMBOL_VISIBLE
Signal get_signal () const SYMBOL_VISIBLE
SourceCount get_source_count () const SYMBOL_VISIBLE
SourceWaits get_source_waits () const SYMBOL_VISIBLE
Sources get_sources () const SYMBOL_VISIBLE
virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

Trigger get_trigger () const SYMBOL_VISIBLE
virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (VectorGeneratorControl const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (VectorGeneratorControl const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_enable_ignore_zeros (bool value) SYMBOL_VISIBLE

Set whether to ignore events with payload of zero.

Parameters

value – Boolean value

void set_event_pack (EventPack value) SYMBOL_VISIBLE
void set_lookup_table_entry_start (halco::hicann_dls::vx::VectorGeneratorLUTEntryOnVectorGeneratorLUT value) SYMBOL_VISIBLE

Set lookup table entry position to start from.

Parameters

value – Entry position

void set_notification (Notification value) SYMBOL_VISIBLE
void set_resend_count (ResendCount value) SYMBOL_VISIBLE
void set_signal (Signal value) SYMBOL_VISIBLE
void set_source_count (SourceCount value) SYMBOL_VISIBLE
void set_source_waits (SourceWaits value) SYMBOL_VISIBLE
void set_sources (Sources value) SYMBOL_VISIBLE
void set_trigger (Trigger value) SYMBOL_VISIBLE

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<class Archive> friend void::cereal::serialize (Archive &ar, VectorGeneratorControl &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

bool m_enable_ignore_zeros = {false}
EventPack m_event_pack
halco::hicann_dls::vx::VectorGeneratorLUTEntryOnVectorGeneratorLUT m_lookup_table_entry_start = {}
Notification m_notification = {}
ResendCount m_resend_count = {}
Signal m_signal = {}
SourceCount m_source_count = {}
SourceWaits m_source_waits = {Wait(), Wait()}
Sources m_sources = {Source::omnibus, Source::omnibus}
Trigger m_trigger = {}

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, VectorGeneratorControl const &config) SYMBOL_VISIBLE
class haldls::vx::VectorGeneratorFIFOWord : public haldls::vx::ContainerBase<VectorGeneratorFIFOWord>
#include <vector_generator.h>

Container for writing a word of (maximally) four activation values into the FIFO in front of the vector generator.

Public Types

typedef EncodableBase<VectorGeneratorFIFOWord, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<VectorGeneratorFIFOWord, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<VectorGeneratorFIFOWord, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<VectorGeneratorFIFOWord, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::VectorGeneratorFIFOWordOnFPGA coordinate_type
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::EntryOnQuad> Enables
typedef std::true_type is_leaf_node
typedef PADIEvent::HagenActivation Value
typedef halco::common::typed_array<Value, halco::hicann_dls::vx::EntryOnQuad> Values

Public Functions

VectorGeneratorFIFOWord () SYMBOL_VISIBLE

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (VectorGeneratorFIFOWord const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (VectorGeneratorFIFOWord const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

return_value_policy (reference)) Enables const &get_enable() const SYMBOL_VISIBLE
return_value_policy (reference)) Enables const &get_last() const SYMBOL_VISIBLE
return_value_policy (reference)) Values const &get_values() const SYMBOL_VISIBLE
void set_enable (Enables value) SYMBOL_VISIBLE

Set enables for entries to write.

Parameters

value – Values

void set_last (Enables value) SYMBOL_VISIBLE

Set last enables.

Parameters

value – Values

void set_values (Values value) SYMBOL_VISIBLE

Set values.

Parameters

value – Values

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, VectorGeneratorFIFOWord &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Enables m_enable
Enables m_last
Values m_values

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, VectorGeneratorFIFOWord const &config) SYMBOL_VISIBLE
class haldls::vx::VectorGeneratorLUTEntry : public haldls::vx::ContainerBase<VectorGeneratorLUTEntry>
#include <vector_generator.h>

Container for an entry in the lookup-table for generation of spike events from activation values.

Public Types

typedef EncodableBase<VectorGeneratorLUTEntry, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<VectorGeneratorLUTEntry, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<VectorGeneratorLUTEntry, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<VectorGeneratorLUTEntry, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::VectorGeneratorLUTEntryOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

VectorGeneratorLUTEntry() = default

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE

Get value.

Returns

Value

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (VectorGeneratorLUTEntry const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (VectorGeneratorLUTEntry const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value value) SYMBOL_VISIBLE

Set value.

Parameters

valueValue

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, VectorGeneratorLUTEntry &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Value m_value = {}

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, VectorGeneratorLUTEntry const &config) SYMBOL_VISIBLE
class haldls::vx::VectorGeneratorNotificationAddress : public haldls::vx::ContainerBase<VectorGeneratorNotificationAddress>
#include <vector_generator.h>

Public Types

typedef EncodableBase<VectorGeneratorNotificationAddress, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<VectorGeneratorNotificationAddress, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<VectorGeneratorNotificationAddress, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<VectorGeneratorNotificationAddress, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::VectorGeneratorNotificationAddressOnFPGA coordinate_type
typedef std::true_type is_leaf_node
typedef halco::hicann_dls::vx::OmnibusAddress Value

Public Functions

VectorGeneratorNotificationAddress() = default

Default constructor.

VectorGeneratorNotificationAddress (halco::hicann_dls::vx::PPUMemoryWordOnDLS const &word) SYMBOL_VISIBLE

Construct notification address from word location on PPU memory.

Parameters

word – Word location

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

Value get_value () const SYMBOL_VISIBLE

Get value.

Returns

Value

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (VectorGeneratorNotificationAddress const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (VectorGeneratorNotificationAddress const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

void set_value (Value value) SYMBOL_VISIBLE

Set value.

Parameters

value – Value

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, config_size_in_words > addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr config_size_in_words = 1

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, VectorGeneratorNotificationAddress &value, std::uint32_t const version) SYMBOL_VISIBLE

Private Members

Value m_value = {}

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, VectorGeneratorNotificationAddress const &config) SYMBOL_VISIBLE
class haldls::vx::VectorGeneratorTrigger : public haldls::vx::ContainerBase<VectorGeneratorTrigger>
#include <vector_generator.h>

Public Types

typedef EncodableBase<VectorGeneratorTrigger, Container>::BackendCocoListVariant BackendCocoListVariant
typedef EncodableBase<VectorGeneratorTrigger, Container>::BackendContainerListVariant BackendContainerListVariant
typedef EncodableBase<VectorGeneratorTrigger, Container>::BackendCoordinateListVariant BackendCoordinateListVariant
typedef EncodableBase<VectorGeneratorTrigger, Container>::Coordinate Coordinate
typedef halco::hicann_dls::vx::VectorGeneratorTriggerOnFPGA coordinate_type
typedef std::true_type is_leaf_node

Public Functions

VectorGeneratorTrigger() = default

Default constructor.

virtual std::unique_ptr< Container > clone_container () const SYMBOL_VISIBLE

Clone container data.

virtual std::unique_ptr< Encodable > clone_encodable () const SYMBOL_VISIBLE

Clone data.

void decode (std::array< fisch::vx::word_access_type::Omnibus, read_config_size_in_words > const &data) SYMBOL_VISIBLE
virtual void decode_read (BackendContainerListVariant const &data, Coordinate const &coordinate) SYMBOL_VISIBLE

Decode read from backend container list variant.

Parameters
  • data – Backend data to decode from

  • coordinate – Coordinate to container to use

std::array< fisch::vx::word_access_type::Omnibus, write_config_size_in_words > encode () const SYMBOL_VISIBLE
virtual BackendCoordinateListVariant encode_read (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode read to backend coordinate list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate list variant

virtual BackendCocoListVariant encode_write (Coordinate const &coordinate, std::optional< Backend > const &backend) const SYMBOL_VISIBLE

Encode write to backend coordinate-container-pair list variant.

Parameters

coordinate – Coordinate to container to use

Returns

Backend coordinate-container-pair list variant

virtual bool get_is_valid_backend (Backend backend) const SYMBOL_VISIBLE

Get whether backend is valid.

Parameters

backend – Backend to check

virtual bool get_supports_differential_write () const SYMBOL_VISIBLE

Get whether encodable supports differential write operation.

Used when only an abstract reference is available, maps inheritance of DifferentialWriteTrait.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_read_targets () const SYMBOL_VISIBLE

Get unsupported read targets.

Used when only an abstract reference is available, maps RealContainer::unsupported_read_targets.

virtual std::initializer_list< hxcomm::vx::Target > get_unsupported_write_targets () const SYMBOL_VISIBLE

Get unsupported write targets.

Used when only an abstract reference is available, maps RealEncodable::unsupported_write_targets.

virtual bool operator!= (Container const &other) const SYMBOL_VISIBLE
virtual bool operator!= (Encodable const &other) const SYMBOL_VISIBLE
bool operator!= (VectorGeneratorTrigger const &other) const SYMBOL_VISIBLE
virtual bool operator== (Container const &other) const SYMBOL_VISIBLE
virtual bool operator== (Encodable const &other) const SYMBOL_VISIBLE
bool operator== (VectorGeneratorTrigger const &other) const SYMBOL_VISIBLE
virtual std::ostream & print (std::ostream &os) const SYMBOL_VISIBLE

Print to ostream.

Public Static Functions

static std::array< halco::hicann_dls::vx::OmnibusAddress, read_config_size_in_words > read_addresses (coordinate_type const &coord) SYMBOL_VISIBLE
static std::array< halco::hicann_dls::vx::OmnibusAddress, write_config_size_in_words > write_addresses (coordinate_type const &coord) SYMBOL_VISIBLE

Public Static Attributes

static size_t constexpr read_config_size_in_words = 0
static size_t constexpr write_config_size_in_words = 1

Private Functions

template<typename Archive> friend void::cereal::serialize (Archive &ar, VectorGeneratorTrigger &value, std::uint32_t const version) SYMBOL_VISIBLE

Friends

friend struct cereal::access
friend std::ostream & operator<< (std::ostream &os, VectorGeneratorTrigger const &config) SYMBOL_VISIBLE
struct haldls::vx::JTAGIdCode::Version : public halco::common::detail::RantWrapper<Version, uint_fast8_t, 15, 0>
#include <jtag.h>

Hardware revision number, starting from 0.

Public Functions

inline explicit constexpr Version(uintmax_t const val = 0)
struct haldls::vx::CapMemBlockConfig::VGlobalBias : public halco::common::detail::RantWrapper<VGlobalBias, uint_fast16_t, 15, 0>
#include <capmem.h>

Public Types

typedef halco::common::detail::RantWrapper<VGlobalBias, uint_fast16_t, 15, 0>::rant_t rant_t

Public Functions

inline explicit constexpr VGlobalBias()
inline explicit constexpr VGlobalBias(uintmax_t const val)
template<class ContainerT>
struct haldls::vx::detail::VisitPreorderImpl
#include <common.h>

Implementation detail of the visit_preorder() free function (q.v.).

Note

This class needs to be specialized for non-leaf-node containers, i.e. those that contain other containers.

tparam ContainerT

Non-const-specified type of the container.

Public Static Functions

template<typename ContainerU, typename CoordinateU, typename VisitorT>
static inline void call(ContainerU &config, CoordinateU const &coord, VisitorT &&visitor)
Template Parameters
  • ContainerU – Type of the container, should be equal to ContainerT up to a const-specifier or hate::Empty<ContainerT>.

  • CoordinateU – Type of the container, should be equal to ContainerT up to a const-specifier or hate::Empty<CoordinateT>.

template<typename Coordinates>
struct haldls::vx::detail::VisitPreorderImpl<CapMemBlock<Coordinates>>
#include <capmem.h>

Public Static Functions

template<typename ContainerT, typename VisitorT>
static inline void call(ContainerT &config, hate::Empty<typename ContainerT::coordinate_type> coord, VisitorT &&visitor)
template<typename ContainerT, typename VisitorT>
static inline void call(ContainerT &config, typename CapMemBlock<Coordinates>::coordinate_type const &coord, VisitorT &&visitor)
template<typename VisitorT>
static inline void call(hate::Empty<CapMemBlock<Coordinates>> config, typename CapMemBlock<Coordinates>::coordinate_type const &coord, VisitorT &&visitor)
template<>
struct haldls::vx::detail::VisitPreorderImpl<PPUMemory>
#include <ppu.h>

Public Static Functions

template<typename ContainerT, typename VisitorT>
static inline void call(ContainerT &config, hate::Empty<PPUMemory::coordinate_type> const &coord, VisitorT &&visitor)
template<typename ContainerT, typename VisitorT>
static inline std::enable_if_t<!hate::is_empty_v<ContainerT>> call(ContainerT &config, PPUMemory::coordinate_type const &coord, VisitorT &&visitor)
template<typename ContainerT, typename VisitorT>
static inline void call(hate::Empty<ContainerT> const &config, PPUMemory::coordinate_type const &coord, VisitorT &&visitor)
template<>
struct haldls::vx::detail::VisitPreorderImpl<PPUMemoryBlock>
#include <ppu.h>

Public Static Functions

template<typename ContainerT, typename VisitorT>
static inline void call(ContainerT &config, hate::Empty<PPUMemoryBlock::coordinate_type> const &coord, VisitorT &&visitor)
template<typename ContainerT, typename VisitorT>
static inline std::enable_if_t<!hate::is_empty_v<ContainerT>> call(ContainerT &config, PPUMemoryBlock::coordinate_type const &coord, VisitorT &&visitor)
template<typename VisitorT>
static inline void call(hate::Empty<PPUMemoryBlock> const &config, PPUMemoryBlock::coordinate_type const &coord, VisitorT &&visitor)
struct haldls::vx::VectorGeneratorControl::Wait : public halco::common::detail::RantWrapper<Wait, uint_fast8_t, 15, 0>
#include <vector_generator.h>

Wait value to use.

Public Functions

inline explicit constexpr Wait(uintmax_t const val = 0)
struct haldls::vx::CommonSynramConfig::WaitCtrClear : public halco::common::detail::RantWrapper<WaitCtrClear, uint_fast16_t, 7, 0>
#include <synapse.h>

Public Functions

inline explicit constexpr WaitCtrClear(uintmax_t const val = 4)
struct haldls::vx::CommonNeuronBackendConfig::WaitFireNeuron : public halco::common::detail::RantWrapper<WaitFireNeuron, uint_fast16_t, 255, 0>
#include <neuron.h>

Duration of pulse triggering the artificial neuron spikes.

Public Functions

inline explicit constexpr WaitFireNeuron(uintmax_t const val = 4)
struct haldls::vx::CommonNeuronBackendConfig::WaitGlobalPostPulse : public halco::common::detail::RantWrapper<WaitGlobalPostPulse, uint_fast16_t, 255, 0>
#include <neuron.h>

Duration of the pulse triggering global post pulses for all neurons connected to that backend block.

Public Functions

inline explicit constexpr WaitGlobalPostPulse(uintmax_t const val = 1)
struct haldls::vx::CommonNeuronBackendConfig::WaitSpikeCounterRead : public halco::common::detail::RantWrapper<WaitSpikeCounterRead, uint_fast16_t, 255, 0>
#include <neuron.h>

Wait time for letting the neuron backend circuits drive the counter content to the controller logic.

Public Functions

inline explicit constexpr WaitSpikeCounterRead(uintmax_t const val = 112)
struct haldls::vx::CommonNeuronBackendConfig::WaitSpikeCounterReset : public halco::common::detail::RantWrapper<WaitSpikeCounterReset, uint_fast16_t, 255, 0>
#include <neuron.h>

Duration of the pulse triggering spike counter resets.

Public Functions

inline explicit constexpr WaitSpikeCounterReset(uintmax_t const val = 4)
struct haldls::vx::CommonSynramConfig::WConf : public halco::common::detail::RantWrapper<WConf, uint_fast32_t, 255, 0>
#include <synapse.h>

Wordline activation delay.

A higher value results in a shorter delay. See: Hock, Matthias. (2014). Modern Semiconductor Technologies for Neuromorphic Hardware, p.26ff, p.156f, http://doi.org/10.11588/heidok.00017129.

Public Functions

inline explicit constexpr WConf(uintmax_t const val = 3)
struct haldls::vx::AD5252ChannelConfig::WiperSetting : public halco::common::detail::RantWrapper<WiperSetting, uint_fast16_t, std::numeric_limits<uint8_t>::max(), std::numeric_limits<uint8_t>::min()>
#include <i2c.h>

Public Functions

inline explicit constexpr WiperSetting(uintmax_t const val = 0x90)
struct haldls::vx::AD5252ChannelConfigPersistent::WiperSetting : public halco::common::detail::RantWrapper<WiperSetting, uint_fast16_t, std::numeric_limits<uint8_t>::max(), std::numeric_limits<uint8_t>::min()>
#include <i2c.h>

Public Functions

inline explicit constexpr WiperSetting(uintmax_t const val = 0x90)
struct haldls::vx::HicannARQStatus::WriteCount : public halco::common::detail::BaseType<WriteCount, uint32_t>
#include <arq.h>

Number of words submitted to the ARQ from the FPGA.

Public Functions

inline explicit constexpr WriteCount(uintmax_t const val = 0)
namespace cereal

Functions

template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::AD5252ChannelConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::AD5252ChannelConfigPersistent &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ADPLL &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::BackgroundSpikeSource &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::Barrier &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::BlockPostPulse &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CADCChannelConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CADCConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CADCOffsetSRAMTimingConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CADCSampleQuad &value, std::uint32_t const version)
template<typename Archive, typename Coordinates>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CapMemBlock<Coordinates> &value, std::uint32_t const version)
template<typename Archive, typename Coordinates>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CapMemBlockConfig<Coordinates> &value, std::uint32_t const version)
template<typename Archive, typename Coordinates>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CapMemCell<Coordinates> &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ColumnCorrelationQuad &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ColumnCurrentQuad &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CommonCorrelationConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CommonNeuronBackendConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CommonPADIBusConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CommonPhyConfigChip &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CommonPhyConfigFPGA &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CommonSTPConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CommonSynramConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CorrelationReset &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CrossbarInputDropCounter &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CrossbarNode &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CrossbarOutputConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CrossbarOutputEventCounter &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::CurrentDAC &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::DAC6573ChannelConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::DACChannel &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::DACControl &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::detail::PhyConfigBase &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::detail::SRAMTimingConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::EventRecordingConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::EventSwitchConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::EventSwitchReadout &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::EventSwitchSource &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExternalPPUMemoryByte &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExternalPPUMemoryQuad &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollBarrierConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollBarrierInterruptInportCounterReset &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollBarrierInterruptInportErrorCount &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollBarrierReleased &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollBarrierTriggerReached &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollInterruptConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollInterruptControl &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommBucketCounterReset &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommBucketDestinationConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommBucketNumEvtsRcvd &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommBucketNumPktsSent &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommBucketTriggerConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommDecoderCounterReset &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommDecoderNumEventsReceived &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommRouterConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommRouterCounterReset &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommRouterEventLossDisabled &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommRouterEventLossMisconf &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommRouterEventsRouted &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommRouterLookupConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommTimestampDelayConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommTimestampDelayCounterReset &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommTimestampDelayEventLossExpired &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommTimestampDelayEventLossFull &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ExtollSpikeCommTimestampDelayNumEventsReceived &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::FPGADeviceDNA &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::FPGASystimeSyncActiveState &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::FPGASystimeSyncLastAsicSystime &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::FPGASystimeSyncLastRTT &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::FPGASystimeSyncNumRetries &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::HicannARQStatus &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::HighspeedLinkNotification &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::INA219Config &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::INA219Status &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::InstructionTimeoutConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::JTAGClockScaler &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::JTAGIdCode &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::MADCConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::MADCControl &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::MADCSampleFromChip &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::NeuronBackendSRAMTimingConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::NeuronReset &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::NeuronSRAMTimingConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::NullPayloadReadable &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PADIEvent &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PadMultiplexerConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PerfTest &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PerfTestStatus &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PhyConfigChip &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PhyConfigFPGA &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PhyStatus &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PLLSelfTest &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PLLSelfTestStatus &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PollingOmnibusBlock &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PollingOmnibusBlockConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PPUControlRegister &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PPUMemory &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PPUMemoryBlock &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PPUMemoryWord &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::PPUStatusRegister &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ReadoutSourceSelection &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ResetChip &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ResetJTAGTap &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::ShiftRegister &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SpikeCounterRead &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SpikeCounterReset &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SpikeFromChip &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SpikeIOConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SpikeIOInputRoute &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SpikeIOOutputRoute &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SpikePack1ToChip &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SpikePack2ToChip &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SpikePack3ToChip &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SynapseBiasSelection &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SynapseCorrelationCalibQuad &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SynapseDriverConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SynapseDriverSRAMTimingConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SynapseLabelQuad &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SynapseQuad &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SynapseWeightQuad &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SystimeCorrectionBarrierConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SystimeSync &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::SystimeSyncBase &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::TCA9554Config &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::TCA9554Inputs &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::Timer &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::v3::NeuronConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::v3::NeuronResetQuad &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::v3::PLLClockOutputBlock &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::v3::ReferenceGeneratorConfig &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::VectorGeneratorControl &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::VectorGeneratorFIFOWord &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::VectorGeneratorLUTEntry &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::VectorGeneratorNotificationAddress &value, std::uint32_t const version)
template<typename Archive>
void CEREAL_SERIALIZE_FUNCTION_NAME(Archive &ar, haldls::vx::VectorGeneratorTrigger &value, std::uint32_t const version)
namespace fisch
namespace vx
namespace word_access_type
namespace halco
namespace common
namespace detail
namespace hicann_dls
namespace vx
namespace v3
namespace haldls
namespace haldls::vx

Typedefs

hate::type_list<#define PLAYBACK_CONTAINER(Name, Type) #define LAST_PLAYBACK_CONTAINER(Name, Type) > BackendContainerList
typedef fisch::vx::ChipTime ChipTime
typedef fisch::vx::FPGATime FPGATime

Enums

enum Backend

Possible backends to target with PlaybackProgramBuilder::read/write.

Values:

enumerator PLAYBACK_CONTAINER
enumerator LAST_PLAYBACK_CONTAINER
enum CapMemBlockConfigIOutSelect

Enum inside templated class not wrapped correctly by genpybind (Issue #3699).

Values:

enumerator disabled
enumerator i_out_mux
enumerator i_out_ramp
enum CapMemBlockConfigVRefSelect

Enum inside templated class not wrapped correctly by genpybind (Issue #3699).

Values:

enumerator disabled
enumerator v_ref_v
enumerator v_ref_i

Functions

std::unique_ptr< Container > construct_container (Container::Coordinate const &coordinate) SYMBOL_VISIBLE

Construct container from given coordinate using registry.

Parameters

coordinate – Coordinate to construct container for

Returns

Constructed container matching given coordinate

std::ostream & operator<< (std::ostream &, ADPLL::Output const &) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &, CurrentDAC::Sign const &) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, CapMemBlockConfigIOutSelect const &config) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, CapMemBlockConfigVRefSelect const &config) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, CommonCorrelationConfig::ResetMode const &config) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, INA219Config::ADCMode const &mode) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, ShiftRegister::AnalogReadoutMux1Input const &config) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, ShiftRegister::AnalogReadoutMux2Input const &config) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, ShiftRegister::AnalogReadoutMux3Input const &config) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, SynapseDriverConfig::RowMode const &mode) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, typename CapMemCell< halco::hicann_dls::vx::v3::Coordinates >::value_type const &value) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, VectorGeneratorControl::Notification const &config) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, VectorGeneratorControl::Signal const &config) SYMBOL_VISIBLE
std::ostream & operator<< (std::ostream &os, VectorGeneratorControl::Trigger const &config) SYMBOL_VISIBLE
hate::Nil register_container (std::type_index coordinate_type, std::unique_ptr< Container >(*construct_container)(Container::Coordinate const &coordinate)) SYMBOL_VISIBLE

Register container construction from coordinate function.

Parameters
  • coordinate_type – Used type_index of coordinate

  • construct_container – Function to construct container from coordinate

template<class ContainerT, class CoordinateT, class VisitorT>
void visit_preorder(ContainerT &config, CoordinateT const &coord, VisitorT &&visitor)

Apply the specified visitor to all containers in a hierarchy by doing a pre-order tree traversal.

Variables

static const Timer::Value chip_reset_high_duration = Timer::Value(10)
static const Timer::Value chip_reset_low_duration = Timer::Value(100)
static constexpr uint_fast8_t minimal_madc_clock_cycles_per_sample = 12
static const double nominal_pll_f_reference = 5e7
static const Timer::Value pll_and_omnibus_settling_duration = Timer::Value(Timer::Value::fpga_clock_cycles_per_us * 100)
static const Timer::Value reference_generator_reset_duration = Timer::Value(1000)
static const Timer::Value xboard_dac_settling_duration = Timer::Value(Timer::Value::fpga_clock_cycles_per_us * 1000)
namespace haldls::vx::detail

Functions

template<typename CoordinateT, typename ContainerT>
ContainerT coordinate_to_container(CoordinateT const&)

Construct a container instance from a given coordinate.

This function needs to be specialized for all containers, for which default construction does not suffice to match the given coordinate.

Template Parameters

CoordinateT – Coordinate type

Parameters

coord – Coordinate value

template<>
inline PPUMemoryBlock coordinate_to_container(PPUMemoryBlock::coordinate_type const &coord)
template<typename T, size_t N>
constexpr bool is_in_array(std::array<T, N> const &arr, T const &test)
constexpr bool is_read_and_writeable(Backend const b)

Get whether given backend container is readable and writable.

Parameters

b – Backend to check

Returns

Boolean value

namespace haldls::vx::v3

Typedefs

using AD5252ChannelConfig = haldls::vx::AD5252ChannelConfig
using AD5252ChannelConfigPersistent = haldls::vx::AD5252ChannelConfigPersistent
using ADPLL = haldls::vx::ADPLL
using Backend = haldls::vx::Backend
using BackendContainerList = haldls::vx::BackendContainerList
using BackgroundSpikeSource = haldls::vx::BackgroundSpikeSource
using Barrier = haldls::vx::Barrier
using BlockPostPulse = haldls::vx::BlockPostPulse
using CADCChannelConfig = haldls::vx::CADCChannelConfig
using CADCConfig = haldls::vx::CADCConfig
using CADCOffsetSRAMTimingConfig = haldls::vx::CADCOffsetSRAMTimingConfig
using CADCSampleQuad = haldls::vx::CADCSampleQuad
typedef haldls::vx::CapMemBlock<halco::hicann_dls::vx::v3::Coordinates> CapMemBlock
using CapMemCell = haldls::vx::CapMemCell<halco::hicann_dls::vx::v3::Coordinates>
using ChipTime = haldls::vx::ChipTime
using ColumnCorrelationQuad = haldls::vx::ColumnCorrelationQuad
using ColumnCurrentQuad = haldls::vx::ColumnCurrentQuad
using CommonCorrelationConfig = haldls::vx::CommonCorrelationConfig
using CommonNeuronBackendConfig = haldls::vx::CommonNeuronBackendConfig
using CommonPADIBusConfig = haldls::vx::CommonPADIBusConfig
using CommonPhyConfigChip = haldls::vx::CommonPhyConfigChip
using CommonPhyConfigFPGA = haldls::vx::CommonPhyConfigFPGA
using CommonSTPConfig = haldls::vx::CommonSTPConfig
using CommonSynramConfig = haldls::vx::CommonSynramConfig
using CorrelationReset = haldls::vx::CorrelationReset
using CrossbarInputDropCounter = haldls::vx::CrossbarInputDropCounter
using CrossbarNode = haldls::vx::CrossbarNode
using CrossbarOutputConfig = haldls::vx::CrossbarOutputConfig
using CrossbarOutputEventCounter = haldls::vx::CrossbarOutputEventCounter
using CurrentDAC = haldls::vx::CurrentDAC
using DAC6573ChannelConfig = haldls::vx::DAC6573ChannelConfig
using DACChannel = haldls::vx::DACChannel
using DACControl = haldls::vx::DACControl
using DifferentialWriteTrait = haldls::vx::DifferentialWriteTrait
using EventRecordingConfig = haldls::vx::EventRecordingConfig
using EventSwitchConfig = haldls::vx::EventSwitchConfig
using EventSwitchReadout = haldls::vx::EventSwitchReadout
using EventSwitchSource = haldls::vx::EventSwitchSource
using ExternalPPUMemoryByte = haldls::vx::ExternalPPUMemoryByte
using ExternalPPUMemoryQuad = haldls::vx::ExternalPPUMemoryQuad
using ExtollBarrierConfig = haldls::vx::ExtollBarrierConfig
using ExtollBarrierInterruptInportCounterReset = haldls::vx::ExtollBarrierInterruptInportCounterReset
using ExtollBarrierInterruptInportErrorCount = haldls::vx::ExtollBarrierInterruptInportErrorCount
using ExtollBarrierReleased = haldls::vx::ExtollBarrierReleased
using ExtollBarrierTriggerReached = haldls::vx::ExtollBarrierTriggerReached
using ExtollInterruptConfig = haldls::vx::ExtollInterruptConfig
using ExtollInterruptControl = haldls::vx::ExtollInterruptControl
using ExtollSpikeCommBucketCounterReset = haldls::vx::ExtollSpikeCommBucketCounterReset
using ExtollSpikeCommBucketDestinationConfig = haldls::vx::ExtollSpikeCommBucketDestinationConfig
using ExtollSpikeCommBucketNumEvtsRcvd = haldls::vx::ExtollSpikeCommBucketNumEvtsRcvd
using ExtollSpikeCommBucketNumPktsSent = haldls::vx::ExtollSpikeCommBucketNumPktsSent
using ExtollSpikeCommBucketTriggerConfig = haldls::vx::ExtollSpikeCommBucketTriggerConfig
using ExtollSpikeCommDecoderCounterReset = haldls::vx::ExtollSpikeCommDecoderCounterReset
using ExtollSpikeCommDecoderNumEventsReceived = haldls::vx::ExtollSpikeCommDecoderNumEventsReceived
using ExtollSpikeCommRouterConfig = haldls::vx::ExtollSpikeCommRouterConfig
using ExtollSpikeCommRouterCounterReset = haldls::vx::ExtollSpikeCommRouterCounterReset
using ExtollSpikeCommRouterEventLossDisabled = haldls::vx::ExtollSpikeCommRouterEventLossDisabled
using ExtollSpikeCommRouterEventLossMisconf = haldls::vx::ExtollSpikeCommRouterEventLossMisconf
using ExtollSpikeCommRouterEventsRouted = haldls::vx::ExtollSpikeCommRouterEventsRouted
using ExtollSpikeCommRouterLookupConfig = haldls::vx::ExtollSpikeCommRouterLookupConfig
using ExtollSpikeCommTimestampDelayConfig = haldls::vx::ExtollSpikeCommTimestampDelayConfig
using ExtollSpikeCommTimestampDelayCounterReset = haldls::vx::ExtollSpikeCommTimestampDelayCounterReset
using ExtollSpikeCommTimestampDelayEventLossExpired = haldls::vx::ExtollSpikeCommTimestampDelayEventLossExpired
using ExtollSpikeCommTimestampDelayEventLossFull = haldls::vx::ExtollSpikeCommTimestampDelayEventLossFull
using ExtollSpikeCommTimestampDelayNumEventsReceived = haldls::vx::ExtollSpikeCommTimestampDelayNumEventsReceived
using FPGADeviceDNA = haldls::vx::FPGADeviceDNA
using FPGASystimeSyncActiveState = haldls::vx::FPGASystimeSyncActiveState
using FPGASystimeSyncLastAsicSystime = haldls::vx::FPGASystimeSyncLastAsicSystime
using FPGASystimeSyncLastRTT = haldls::vx::FPGASystimeSyncLastRTT
using FPGASystimeSyncNumRetries = haldls::vx::FPGASystimeSyncNumRetries
using FPGATime = haldls::vx::FPGATime
using HicannARQStatus = haldls::vx::HicannARQStatus
using HighspeedLinkNotification = haldls::vx::HighspeedLinkNotification
using INA219Config = haldls::vx::INA219Config
using INA219Status = haldls::vx::INA219Status
using InstructionTimeoutConfig = haldls::vx::InstructionTimeoutConfig
using JTAGClockScaler = haldls::vx::JTAGClockScaler
using JTAGIdCode = haldls::vx::JTAGIdCode
using MADCConfig = haldls::vx::MADCConfig
using MADCControl = haldls::vx::MADCControl
using MADCSampleFromChip = haldls::vx::MADCSampleFromChip
typedef haldls::vx::NeuronBackendConfig<halco::hicann_dls::vx::v3::Coordinates> NeuronBackendConfig
using NeuronBackendSRAMTimingConfig = haldls::vx::NeuronBackendSRAMTimingConfig
using NeuronReset = haldls::vx::NeuronReset
using NeuronSRAMTimingConfig = haldls::vx::NeuronSRAMTimingConfig
using NullPayloadReadable = haldls::vx::NullPayloadReadable
using PADIEvent = haldls::vx::PADIEvent
using PadMultiplexerConfig = haldls::vx::PadMultiplexerConfig
using PerfTest = haldls::vx::PerfTest
using PerfTestStatus = haldls::vx::PerfTestStatus
using PhyConfigChip = haldls::vx::PhyConfigChip
using PhyConfigFPGA = haldls::vx::PhyConfigFPGA
using PhyStatus = haldls::vx::PhyStatus
using PLLSelfTest = haldls::vx::PLLSelfTest
using PLLSelfTestStatus = haldls::vx::PLLSelfTestStatus
using PollingOmnibusBlock = haldls::vx::PollingOmnibusBlock
using PollingOmnibusBlockConfig = haldls::vx::PollingOmnibusBlockConfig
using PPUControlRegister = haldls::vx::PPUControlRegister
typedef haldls::vx::PPUMemory PPUMemory
typedef haldls::vx::PPUMemoryBlock PPUMemoryBlock
using PPUMemoryWord = haldls::vx::PPUMemoryWord
using PPUStatusRegister = haldls::vx::PPUStatusRegister
using ReadoutSourceSelection = haldls::vx::ReadoutSourceSelection
using ResetChip = haldls::vx::ResetChip
using ResetJTAGTap = haldls::vx::ResetJTAGTap
using ShiftRegister = haldls::vx::ShiftRegister
using SpikeCounterRead = haldls::vx::SpikeCounterRead
using SpikeCounterReset = haldls::vx::SpikeCounterReset
using SpikeFromChip = haldls::vx::SpikeFromChip
using SpikeIOConfig = haldls::vx::SpikeIOConfig
using SpikeIOInputRoute = haldls::vx::SpikeIOInputRoute
using SpikeIOOutputRoute = haldls::vx::SpikeIOOutputRoute
using SpikePack1ToChip = haldls::vx::SpikePack1ToChip
using SpikePack2ToChip = haldls::vx::SpikePack2ToChip
using SpikePack3ToChip = haldls::vx::SpikePack3ToChip
using SynapseBiasSelection = haldls::vx::SynapseBiasSelection
using SynapseCorrelationCalibQuad = haldls::vx::SynapseCorrelationCalibQuad
using SynapseDriverConfig = haldls::vx::SynapseDriverConfig
using SynapseDriverSRAMTimingConfig = haldls::vx::SynapseDriverSRAMTimingConfig
using SynapseLabelQuad = haldls::vx::SynapseLabelQuad
using SynapseQuad = haldls::vx::SynapseQuad
using SynapseWeightQuad = haldls::vx::SynapseWeightQuad
using SystimeCorrectionBarrierConfig = haldls::vx::SystimeCorrectionBarrierConfig
using SystimeSync = haldls::vx::SystimeSync
using SystimeSyncBase = haldls::vx::SystimeSyncBase
using TCA9554Config = haldls::vx::TCA9554Config
using TCA9554Inputs = haldls::vx::TCA9554Inputs
using Timer = haldls::vx::Timer
using VectorGeneratorControl = haldls::vx::VectorGeneratorControl
using VectorGeneratorFIFOWord = haldls::vx::VectorGeneratorFIFOWord
using VectorGeneratorLUTEntry = haldls::vx::VectorGeneratorLUTEntry
using VectorGeneratorNotificationAddress = haldls::vx::VectorGeneratorNotificationAddress
using VectorGeneratorTrigger = haldls::vx::VectorGeneratorTrigger

Functions

cls def(pybind11::init<::haldls::vx::v3::CapMemCell::Value >(), pybind11::arg("value")=::haldls::vx::v3::CapMemCell::Value(0)) .def(pybind11 parent attr ("CapMemCell").attr("value_type")
std::ostream & operator<< (std::ostream &, NeuronConfig::ReadoutSource const &) SYMBOL_VISIBLE
template<typename ...Ts>
auto visit_preorder(Ts&&... args) -> decltype(haldls::vx::visit_preorder(std::forward<Ts>(args)...))

Variables

static const Timer::Value chip_reset_high_duration = haldls::vx::chip_reset_high_duration
static const Timer::Value chip_reset_low_duration = haldls::vx::chip_reset_low_duration
static const Timer::Value pll_and_omnibus_settling_duration = haldls::vx::pll_and_omnibus_settling_duration
static const Timer::Value reference_generator_reset_duration = haldls::vx::reference_generator_reset_duration
static const Timer::Value xboard_dac_settling_duration = haldls::vx::xboard_dac_settling_duration
namespace haldls::vx::v3::detail

Typedefs

hate::type_list<# 34 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzODM.x/haldls/include/haldls/vx/v3/pyhaldls.h" 2 haldls::vx::Barrier > pickle_types

Functions

py::list get_containers_list(py::module &m)

Variables

static std::vector<std::string> const pickle_type_names = {"Barrier"}
namespace lola
namespace vx
namespace lola::vx::v3

Typedefs

using DACChannelBlock = lola::vx::DACChannelBlock
using DACControlBlock = lola::vx::DACControlBlock
typedef lola::vx::ExternalPPUMemoryBlock ExternalPPUMemoryBlock
namespace std

STL namespace.

namespace T
file expand_word.h
#include <boost/preprocessor/seq/for_each.hpp>#include <boost/preprocessor/seq/reverse.hpp>

Defines

EXPAND_WORD(x)
WORD_ORDER_IDENTITY(r, data, elem)
file has_local_data.h
#include <type_traits>#include <boost/utility/enable_if.hpp>
file is_leaf_node.h
#include <type_traits>#include <boost/utility/enable_if.hpp>
file background.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/background.h”#include “halco/hicann-dls/vx/event.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/math.h”#include “hate/visibility.h”#include <cereal/macros.hpp>#include “hxcomm/vx/target.h”
file background.h
#include “haldls/vx/background.h”#include “haldls/vx/genpybind.h”
file barrier.h
#include <iosfwd>#include “halco/hicann-dls/vx/barrier.h”#include “haldls/vx/block_until.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file barrier.h
#include “haldls/vx/barrier.h”#include “haldls/vx/genpybind.h”
file block_until.h
#include “haldls/vx/encodable.h”#include “haldls/vx/genpybind.h”#include “hate/visibility.h”#include <memory>
file capmem.h
#include <array>#include <cstdint>#include <ostream>#include <sstream>#include <variant>#include “halco/common/geometry.h”#include “halco/common/iter_all.h”#include “halco/common/typed_heap_array.h”#include “halco/hicann-dls/vx/capmem.h”#include “haldls/vx/common.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/empty.h”#include “hate/join.h”#include “hate/visibility.h”#include <cereal/macros.hpp>#include “hxcomm/vx/target.h”

Defines

CAPMEM_EXTERN_TEMPLATE(Coordinates)
CAPMEM_HALCO_GEOMETRY_HASH(Coordinates)
file capmem.h
#include “halco/hicann-dls/vx/v3/capmem.h”#include “halco/hicann-dls/vx/v3/coordinates.h”#include “haldls/vx/capmem.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include <cereal/macros.hpp>

Typedefs

using CapMemBlock = haldls::vx::CapMemBlock<halco::hicann_dls::vx::v3::Coordinates>
using CapMemBlockConfig = haldls::vx::CapMemBlockConfig<halco::hicann_dls::vx::v3::Coordinates>
file common.h
#include “hate/empty.h”#include <type_traits>#include <utility>
file common.h
#include “haldls/vx/common.h”#include “haldls/vx/genpybind.h”
file constants.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/timer.h”
file constants.h
#include “haldls/vx/constants.h”#include “haldls/vx/genpybind.h”
file container.h
#include “halco/common/coordinate.h”#include “haldls/vx/encodable.h”#include “haldls/vx/genpybind.h”#include “hate/visibility.h”#include “fisch/vx/container.h”#include “fisch/vx/coordinates.h”#include “fisch/vx/word_access_type.h”#include “haldls/vx/traits.h”#include “hate/nil.h”#include “hxcomm/vx/target.h”#include <iosfwd>#include <memory>#include <optional>#include <tuple>#include <variant>#include <vector>
file container.h
#include “haldls/vx/v3/arq.h”#include “haldls/vx/v3/background.h”#include “haldls/vx/v3/block.h”#include “haldls/vx/v3/cadc.h”#include “haldls/vx/v3/capmem.h”#include “haldls/vx/v3/correlation.h”#include “haldls/vx/v3/current_dac.h”#include “haldls/vx/v3/event.h”#include “haldls/vx/v3/extoll.h”#include “haldls/vx/v3/fpga.h”#include “haldls/vx/v3/i2c.h”#include “haldls/vx/v3/jtag.h”#include “haldls/vx/v3/madc.h”#include “haldls/vx/v3/neuron.h”#include “haldls/vx/v3/null_payload_readable.h”#include “haldls/vx/v3/padi.h”#include “haldls/vx/v3/perftest.h”#include “haldls/vx/v3/phy.h”#include “haldls/vx/v3/pll.h”#include “haldls/vx/v3/ppu.h”#include “haldls/vx/v3/readout.h”#include “haldls/vx/v3/reset.h”#include “haldls/vx/v3/routing_crossbar.h”#include “haldls/vx/v3/spi.h”#include “haldls/vx/v3/sram_controller.h”#include “haldls/vx/v3/synapse.h”#include “haldls/vx/v3/synapse_driver.h”#include “haldls/vx/v3/systime.h”#include “haldls/vx/v3/timer.h”#include “haldls/vx/v3/vector_generator.h”#include “haldls/vx/genpybind.h”#include “hate/visibility.h”
file coordinate_to_container.h
#include <type_traits>
file current_dac.h
#include <array>#include <iosfwd>#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/chip.h”#include “halco/hicann-dls/vx/current_dac.h”#include “halco/hicann-dls/vx/synapse.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file current_dac.h
#include “haldls/vx/current_dac.h”#include “haldls/vx/genpybind.h”
file encodable.h
#include “halco/common/coordinate.h”#include “haldls/vx/genpybind.h”#include “hate/visibility.h”#include “fisch/vx/container.h”#include “fisch/vx/coordinates.h”#include “fisch/vx/word_access_type.h”#include “haldls/vx/traits.h”#include “hate/nil.h”#include “hxcomm/vx/target.h”#include <iosfwd>#include <memory>#include <optional>#include <tuple>#include <variant>#include <vector>#include “fisch/vx/container.def”

Defines

LAST_PLAYBACK_CONTAINER(Name, Type)
LAST_PLAYBACK_CONTAINER(Name, Type)
LAST_PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
file extoll_constants.h
#include <array>#include <stdint.h>#include “haldls/vx/extoll_constants.tcc”
file genpybind.h
#include <genpybind.h>

Defines

GENPYBIND_MODULE
GENPYBIND_TAG_HALDLS_VX
GENPYBIND_TAG_HALDLS_VX_V3
file is_read_and_writable.h
#include “fisch/vx/container_cast.h”#include “fisch/vx/traits.h”#include “haldls/vx/traits.h”#include “hate/type_list.h”#include <array>#include <type_traits>
file is_readable.h
#include “fisch/vx/traits.h”#include “hate/type_list.h”
file is_writeable.h
#include <type_traits>#include <boost/utility/enable_if.hpp>#include “hate/type_list.h”
file is_writereadable.h
#include “haldls/vx/is_readable.h”#include “haldls/vx/is_writeable.h”
file madc.h
#include <array>#include <iosfwd>#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/chip.h”#include “halco/hicann-dls/vx/madc.h”#include “halco/hicann-dls/vx/readout.h”#include “halco/hicann-dls/vx/synapse.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/pll.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file madc.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/madc.h”
file padi.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/padi.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/synapse.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>#include “hxcomm/vx/target.h”
file padi.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/padi.h”
file perftest.h
#include <array>#include <iosfwd>#include “fisch/vx/word_access/type/reset.h”#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/highspeed_link.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file perftest.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/perftest.h”
file pickle.h
#include “cereal/types/haldls/cereal.h”#include “hate/type_list.h”#include <iosfwd>#include <vector>#include <pybind11/pybind11.h>
file pll.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/pll.h”#include “haldls/vx/constants.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file pll.h
#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/pll.h”
file arq.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/highspeed_link.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file arq.h
#include “haldls/vx/arq.h”#include “haldls/vx/genpybind.h”
file block.h
#include <array>#include <ostream>#include “fisch/vx/word_access/type/omnibus.h”#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/omnibus.h”#include “haldls/vx/block_until.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include “hxcomm/vx/target.h”#include <cereal/macros.hpp>
file block.h
#include “haldls/vx/block.h”#include “haldls/vx/genpybind.h”
file cadc.h
#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/cadc.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/sram_controller.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>#include “hxcomm/vx/target.h”
file cadc.h
#include “halco/common/typed_array.h”#include “haldls/vx/cadc.h”#include “haldls/vx/genpybind.h”
file correlation.h
#include “halco/common/geometry.h”#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/capmem.h”#include “halco/hicann-dls/vx/correlation.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/math.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file correlation.h
#include “haldls/vx/correlation.h”#include “haldls/vx/genpybind.h”
file event.h
#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/event.h”#include “fisch/vx/event.h”#include “halco/hicann-dls/vx/highspeed_link.h”#include “halco/hicann-dls/vx/readout.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/neuron.h”#include “haldls/vx/padi.h”#include “haldls/vx/synapse.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>

Defines

SpikePackToChip(Num)
file event.h
#include “haldls/vx/event.h”#include “haldls/vx/genpybind.h”
file extoll.h
#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/extoll.h”#include “halco/hicann-dls/vx/omnibus.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <array>#include <iosfwd>#include <cereal/macros.hpp>
file extoll.h
#include “haldls/vx/extoll.h”#include “haldls/vx/genpybind.h”
file fpga.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/event.h”#include “halco/hicann-dls/vx/fpga.h”#include “halco/hicann-dls/vx/quad.h”#include “haldls/vx/common.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/timer.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file fpga.h
#include “haldls/vx/fpga.h”#include “haldls/vx/genpybind.h”
file haldls.h
#include “haldls/vx/v3/barrier.h”#include “haldls/vx/v3/constants.h”#include “haldls/vx/v3/container.h”
file i2c.h
#include <array>#include <iosfwd>#include <limits>#include “fisch/vx/constants.h”#include “fisch/vx/word_access/type/i2c.h”#include “halco/common/geometry.h”#include “halco/common/iter_all.h”#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/i2c.h”#include “halco/hicann-dls/vx/ultra96.h”#include “halco/hicann-dls/vx/xboard.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/math.h”#include “hate/visibility.h”#include “hxcomm/vx/target.h”#include <cereal/macros.hpp>
file i2c.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/i2c.h”
file jtag.h
#include <array>#include <iosfwd>#include “fisch/vx/constants.h”#include “fisch/vx/word_access/type/jtag.h”#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/jtag.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file jtag.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/jtag.h”
file neuron.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/neuron.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/sram_controller.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include “hxcomm/vx/target.h”#include <cereal/macros.hpp>

Defines

NEURON_EXTERN_TEMPLATE(Coordinates)
file neuron.h
#include “halco/hicann-dls/vx/v3/coordinates.h”#include “halco/hicann-dls/vx/v3/neuron.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/neuron.h”#include <cereal/macros.hpp>
file null_payload_readable.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/fpga.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file null_payload_readable.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/null_payload_readable.h”
file omnibus_constants.h
#include <array>#include “haldls/vx/omnibus_constants.tcc”
file omnibus_constants.h
#include <array>#include “haldls/vx/omnibus_constants.tcc”
file phy.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/highspeed_link.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file phy.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/phy.h”
file ppu.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/common/iter_all.h”#include “halco/common/typed_heap_array.h”#include “halco/hicann-dls/vx/ppu.h”#include “haldls/vx/common.h”#include “haldls/vx/container.h”#include “haldls/vx/coordinate_to_container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/empty.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file ppu.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/ppu.h”
file pyhaldls.h
#include <vector>#include <pybind11/pybind11.h>#include “cereal/types/haldls/cereal.tcc”#include “cereal/types/haldls/vx/v3/haldls.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/pickle.h”#include “haldls/vx/v3/barrier.h”#include “haldls/vx/v3/haldls.h”#include “hate/type_list.h”#include <cereal/macros.hpp>#include “haldls/vx/v3/container.def”

Defines

PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)

Functions

parent attr ("containers")
file readout.h
#include <iosfwd>#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/capmem.h”#include “halco/hicann-dls/vx/chip.h”#include “halco/hicann-dls/vx/readout.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file readout.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/readout.h”
file reset.h
#include <array>#include <iosfwd>#include “halco/hicann-dls/vx/reset.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file reset.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/reset.h”
file routing_crossbar.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/event.h”#include “halco/hicann-dls/vx/routing_crossbar.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/math.h”#include “hate/visibility.h”#include <cereal/macros.hpp>#include “hxcomm/vx/target.h”
file routing_crossbar.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/routing_crossbar.h”
file spi.h
#include <array>#include <iosfwd>#include “fisch/vx/constants.h”#include “halco/common/geometry.h”#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/dac.h”#include “halco/hicann-dls/vx/xboard.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file spi.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/spi.h”
file sram_controller.h
#include “haldls/vx/common.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/math.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file sram_controller.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/sram_controller.h”
file synapse.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/capmem.h”#include “halco/hicann-dls/vx/switch_rows.h”#include “halco/hicann-dls/vx/synapse.h”#include “haldls/vx/common.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>#include “hxcomm/vx/target.h”
file synapse.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/synapse.h”
file synapse_driver.h
#include <array>#include <iosfwd>#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/synapse_driver.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/sram_controller.h”#include “haldls/vx/synapse_driver.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include “hxcomm/vx/target.h”#include <cereal/macros.hpp>
file synapse_driver.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/synapse_driver.h”
file systime.h
#include <array>#include <iosfwd>#include “halco/hicann-dls/vx/timing.h”#include “haldls/vx/common.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file systime.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/systime.h”
file timer.h
#include <array>#include <iosfwd>#include “fisch/vx/word_access/type/timer.h”#include “halco/common/geometry.h”#include “halco/hicann-dls/vx/timing.h”#include “haldls/vx/block_until.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
file timer.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/timer.h”
file traits.h
#include “fisch/vx/traits.h”#include “fisch/vx/word_access_type.h”#include “haldls/vx/genpybind.h”#include “hate/type_list.h”#include “hate/visibility.h”#include <type_traits>#include <boost/utility/enable_if.hpp>#include <boost/variant.hpp>#include “fisch/vx/container.def”

Defines

LAST_PLAYBACK_CONTAINER(Name, Type)
LAST_PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
file traits.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/traits.h”
file vector_generator.h
#include “haldls/vx/genpybind.h”#include “haldls/vx/vector_generator.h”
file vector_generator.h
#include <array>#include <ostream>#include “halco/common/typed_array.h”#include “halco/hicann-dls/vx/omnibus.h”#include “halco/hicann-dls/vx/quad.h”#include “halco/hicann-dls/vx/vector_generator.h”#include “haldls/vx/container.h”#include “haldls/vx/genpybind.h”#include “haldls/vx/padi.h”#include “haldls/vx/traits.h”#include “hate/visibility.h”#include <cereal/macros.hpp>
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzODM.x/haldls
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzODM.x/haldls/include/haldls
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzODM.x/haldls/include
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzODM.x/haldls/include/haldls/vx/v3
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzODM.x/haldls/include/haldls/vx