HALDLS
haldls::vx::PADIEvent Class Reference

A container for the PADI event trigger register. More...

#include <padi.h>

Classes

struct  HagenActivation
 Activation payload in Hagen-mode. More...
 
struct  HagenAddress
 Address in Hagen-mode. More...
 
struct  RowSelectAddress
 

Public Types

typedef halco::hicann_dls::vx::PADIEventOnDLS coordinate_type
 
using EventAddress = haldls::vx::SynapseLabelValue
 
typedef halco::common::typed_array< bool, halco::hicann_dls::vx::PADIBusOnPADIBusBlock > fire_bus_type
 
typedef std::true_type is_leaf_node
 

Public Member Functions

 PADIEvent () SYMBOL_VISIBLE
 
template<typename WordT >
void decode (std::array< WordT, read_config_size_in_words > const &data) SYMBOL_VISIBLE
 
template<typename WordT >
std::array< WordT, write_config_size_in_wordsencode () const SYMBOL_VISIBLE
 
EventAddress get_event_address () const SYMBOL_VISIBLE
 Set event address, which is eventually forwarded to synapses. More...
 
HagenActivation get_hagen_activation () const SYMBOL_VISIBLE
 Set Hagen-mode activation payload, which is eventually forwarded to synapses. More...
 
HagenAddress get_hagen_address () const SYMBOL_VISIBLE
 Set Hagen-mode address, which is eventually forwarded to synapses. More...
 
RowSelectAddress get_row_select_address () const SYMBOL_VISIBLE
 Set row select address determining the synapse driver which is supposed to fire. More...
 
bool operator!= (PADIEvent const &other) const SYMBOL_VISIBLE
 
bool operator== (PADIEvent const &other) const SYMBOL_VISIBLE
 
 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
 

Static Public Member Functions

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

Static Public Attributes

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

Friends

class cereal::access
 
std::ostream & operator<< (std::ostream &os, PADIEvent const &event) SYMBOL_VISIBLE
 

Detailed Description

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.

Definition at line 32 of file padi.h.

Member Typedef Documentation

◆ coordinate_type

typedef halco::hicann_dls::vx::PADIEventOnDLS haldls::vx::PADIEvent::coordinate_type

Definition at line 35 of file padi.h.

◆ EventAddress

◆ fire_bus_type

typedef halco::common::typed_array<bool, halco::hicann_dls::vx::PADIBusOnPADIBusBlock> haldls::vx::PADIEvent::fire_bus_type

Definition at line 74 of file padi.h.

◆ is_leaf_node

typedef std::true_type haldls::vx::PADIEvent::is_leaf_node

Definition at line 36 of file padi.h.

Constructor & Destructor Documentation

◆ PADIEvent()

haldls::vx::PADIEvent::PADIEvent ( )

Member Function Documentation

◆ decode()

template<typename WordT >
void haldls::vx::PADIEvent::decode ( std::array< WordT, read_config_size_in_words > const &  data)

◆ encode()

template<typename WordT >
std::array<WordT, write_config_size_in_words> haldls::vx::PADIEvent::encode ( ) const

◆ get_event_address()

EventAddress haldls::vx::PADIEvent::get_event_address ( ) const

Set event address, which is eventually forwarded to synapses.

◆ get_hagen_activation()

HagenActivation haldls::vx::PADIEvent::get_hagen_activation ( ) const

Set Hagen-mode activation payload, which is eventually forwarded to synapses.

This setting accesses the lower five bits of the EventAddress.

◆ get_hagen_address()

HagenAddress haldls::vx::PADIEvent::get_hagen_address ( ) const

Set Hagen-mode address, which is eventually forwarded to synapses.

This setting accesses the highest bit of the EventAddress.

◆ get_row_select_address()

RowSelectAddress haldls::vx::PADIEvent::get_row_select_address ( ) const

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.

◆ operator!=()

bool haldls::vx::PADIEvent::operator!= ( PADIEvent const &  other) const

◆ operator==()

bool haldls::vx::PADIEvent::operator== ( PADIEvent const &  other) const

◆ read_addresses()

template<typename AddressT >
static std::array<AddressT, read_config_size_in_words> haldls::vx::PADIEvent::read_addresses ( coordinate_type const &  coord)
static

◆ return_value_policy()

haldls::vx::PADIEvent::return_value_policy ( reference_internal  ) const &

◆ set_event_address()

void haldls::vx::PADIEvent::set_event_address ( EventAddress const  value)

◆ set_fire_bus()

void haldls::vx::PADIEvent::set_fire_bus ( fire_bus_type const &  value)

◆ set_hagen_activation()

void haldls::vx::PADIEvent::set_hagen_activation ( HagenActivation const  value)

◆ set_hagen_address()

void haldls::vx::PADIEvent::set_hagen_address ( HagenAddress const  value)

◆ set_row_select_address()

void haldls::vx::PADIEvent::set_row_select_address ( RowSelectAddress const  value)

◆ write_addresses()

template<typename AddressT >
static std::array<AddressT, write_config_size_in_words> haldls::vx::PADIEvent::write_addresses ( coordinate_type const &  coord)
static

Friends And Related Function Documentation

◆ cereal::access

friend class cereal::access
friend

Definition at line 142 of file padi.h.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
PADIEvent const &  event 
)
friend

Member Data Documentation

◆ read_config_size_in_words

constexpr size_t haldls::vx::PADIEvent::read_config_size_in_words = 0
staticconstexpr

Definition at line 125 of file padi.h.

◆ write_config_size_in_words

constexpr size_t haldls::vx::PADIEvent::write_config_size_in_words = 1
staticconstexpr

Definition at line 124 of file padi.h.


The documentation for this class was generated from the following file: