HALDLS
haldls::vx::CrossbarNode Class Reference

Node of the crossbar routing events from a CrossbarInputOnDLS to a CrossbarOutputOnDLS. More...

#include <routing_crossbar.h>

+ Collaboration diagram for haldls::vx::CrossbarNode:

Public Types

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 Member Functions

 CrossbarNode () SYMBOL_VISIBLE
 Default constructor. More...
 
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_wordsencode () const SYMBOL_VISIBLE
 
bool get_enable_drop_counter () const SYMBOL_VISIBLE
 
neuron_label_type get_mask () const SYMBOL_VISIBLE
 Get mask to apply with a logical bit-wise AND operation onto incoming event labels. More...
 
neuron_label_type get_target () const SYMBOL_VISIBLE
 Get target to compare masked incoming event labels to with a bit-wise equality operation. More...
 
bool operator!= (CrossbarNode const &other) const SYMBOL_VISIBLE
 
bool operator== (CrossbarNode const &other) const SYMBOL_VISIBLE
 
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. More...
 
void set_target (neuron_label_type value) SYMBOL_VISIBLE
 Set target to compare masked incoming event labels to with a bit-wise equality operation. More...
 

Static Public Member Functions

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

Static Public Attributes

static constexpr size_t config_size_in_words = 1
 
static const SYMBOL_VISIBLE CrossbarNode drop_all
 
constexpr static auto unsupported_read_targets
 

Friends

class cereal::access
 
std::ostream & operator<< (std::ostream &os, CrossbarNode const &config) SYMBOL_VISIBLE
 

Detailed Description

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

Definition at line 282 of file routing_crossbar.h.

Member Typedef Documentation

◆ coordinate_type

typedef halco::hicann_dls::vx::CrossbarNodeOnDLS haldls::vx::CrossbarNode::coordinate_type

Definition at line 285 of file routing_crossbar.h.

◆ is_leaf_node

Definition at line 286 of file routing_crossbar.h.

◆ neuron_label_type

typedef halco::hicann_dls::vx::NeuronLabel haldls::vx::CrossbarNode::neuron_label_type

Definition at line 292 of file routing_crossbar.h.

Constructor & Destructor Documentation

◆ CrossbarNode()

haldls::vx::CrossbarNode::CrossbarNode ( )

Default constructor.

Member Function Documentation

◆ addresses()

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

◆ decode()

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

◆ encode()

template<typename WordT >
std::array<WordT, config_size_in_words> haldls::vx::CrossbarNode::encode ( ) const

◆ get_enable_drop_counter()

bool haldls::vx::CrossbarNode::get_enable_drop_counter ( ) const

◆ get_mask()

neuron_label_type haldls::vx::CrossbarNode::get_mask ( ) const

Get mask to apply with a logical bit-wise AND operation onto incoming event labels.

Returns
NeuronLabel

◆ get_target()

neuron_label_type haldls::vx::CrossbarNode::get_target ( ) const

Get target to compare masked incoming event labels to with a bit-wise equality operation.

Returns
NeuronLabel

◆ operator!=()

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

◆ operator==()

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

◆ set_enable_drop_counter()

void haldls::vx::CrossbarNode::set_enable_drop_counter ( bool  value)

◆ set_mask()

void haldls::vx::CrossbarNode::set_mask ( neuron_label_type  value)

Set mask to apply with a bit-wise AND operation onto incoming event labels.

Parameters
valueNeuronLabel

◆ set_target()

void haldls::vx::CrossbarNode::set_target ( neuron_label_type  value)

Set target to compare masked incoming event labels to with a bit-wise equality operation.

Parameters
valueNeuronLabel

Friends And Related Function Documentation

◆ cereal::access

friend class cereal::access
friend

Definition at line 350 of file routing_crossbar.h.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
CrossbarNode const &  config 
)
friend

Member Data Documentation

◆ config_size_in_words

constexpr size_t haldls::vx::CrossbarNode::config_size_in_words = 1
staticconstexpr

Definition at line 336 of file routing_crossbar.h.

◆ drop_all

const SYMBOL_VISIBLE CrossbarNode haldls::vx::CrossbarNode::drop_all
static

Definition at line 334 of file routing_crossbar.h.

◆ unsupported_read_targets

constexpr static auto haldls::vx::CrossbarNode::unsupported_read_targets
staticconstexpr
Initial value:
= {
hxcomm::vx::Target::hardware}

Definition at line 288 of file routing_crossbar.h.


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