HALDLS
|
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_words > | encode () 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_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 |
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 |
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.
typedef halco::hicann_dls::vx::PADIEventOnDLS haldls::vx::PADIEvent::coordinate_type |
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::PADIBusOnPADIBusBlock> haldls::vx::PADIEvent::fire_bus_type |
typedef std::true_type haldls::vx::PADIEvent::is_leaf_node |
haldls::vx::PADIEvent::PADIEvent | ( | ) |
void haldls::vx::PADIEvent::decode | ( | std::array< WordT, read_config_size_in_words > const & | data | ) |
std::array<WordT, write_config_size_in_words> haldls::vx::PADIEvent::encode | ( | ) | const |
EventAddress haldls::vx::PADIEvent::get_event_address | ( | ) | const |
Set event address, which is eventually forwarded to synapses.
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.
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.
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.
bool haldls::vx::PADIEvent::operator!= | ( | PADIEvent const & | other | ) | const |
bool haldls::vx::PADIEvent::operator== | ( | PADIEvent const & | other | ) | const |
|
static |
haldls::vx::PADIEvent::return_value_policy | ( | reference_internal | ) | const & |
void haldls::vx::PADIEvent::set_event_address | ( | EventAddress const | value | ) |
void haldls::vx::PADIEvent::set_fire_bus | ( | fire_bus_type const & | value | ) |
void haldls::vx::PADIEvent::set_hagen_activation | ( | HagenActivation const | value | ) |
void haldls::vx::PADIEvent::set_hagen_address | ( | HagenAddress const | value | ) |
void haldls::vx::PADIEvent::set_row_select_address | ( | RowSelectAddress const | value | ) |
|
static |
|
friend |
|
staticconstexpr |
|
staticconstexpr |