HALDLS
|
A configuration container for the top-level readout mux, selecting the connections between an analog readout pad and different components on the chip. More...
#include <readout.h>
Public Types | |
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 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 Member Functions | |
PadMultiplexerConfig () SYMBOL_VISIBLE | |
Default constructor with all inputs disabled. More... | |
template<typename WordT > | |
void | decode (std::array< WordT, config_size_in_words > const &words) SYMBOL_VISIBLE |
template<typename WordT > | |
std::array< WordT, config_size_in_words > | encode () const SYMBOL_VISIBLE |
bool | get_cadc_debug_acausal_to_synapse_intermediate_mux () const SYMBOL_VISIBLE |
Enable connection of acausal CADC debug line to intermediate mux. More... | |
bool | get_cadc_debug_causal_to_synapse_intermediate_mux () const SYMBOL_VISIBLE |
Enable connection of causal CADC debug line to intermediate mux. More... | |
bool | get_cadc_v_ramp_mux_to_pad () const SYMBOL_VISIBLE |
Enable connection of cadc_v_ramp_mux to pad. More... | |
bool | get_capmem_i_out_mux_to_capmem_intermediate_mux () const SYMBOL_VISIBLE |
Enable connection of capmem_i_out_mux to intermediate mux. More... | |
bool | get_capmem_intermediate_mux_to_pad () const SYMBOL_VISIBLE |
Enable connection of CapMem intermediate mux to pad. More... | |
bool | get_capmem_v_out_mux_to_capmem_intermediate_mux () const SYMBOL_VISIBLE |
Enable connection of capmem_v_out_mux to intermediate mux. More... | |
bool | get_capmem_v_ref_mux_to_capmem_intermediate_mux () const SYMBOL_VISIBLE |
Enable connection of capmem_v_ref_mux to intermediate mux. More... | |
bool | get_debug_to_pad () const SYMBOL_VISIBLE |
Enable connection of debug lines to pad. More... | |
bool | get_neuron_i_stim_mux_to_pad () const SYMBOL_VISIBLE |
Enable connection of neuron unbuffered membrane access neuron_i_stim_mux to pad. More... | |
bool | get_synapse_intermediate_mux_to_pad () const SYMBOL_VISIBLE |
Enable connection of synapse intermediate mux to pad. More... | |
bool | get_synin_debug_excitatory_to_synapse_intermediate_mux () const SYMBOL_VISIBLE |
Enable connection of excitatory synaptic input debug line to intermediate mux. More... | |
bool | get_synin_debug_inhibitory_to_synapse_intermediate_mux () const SYMBOL_VISIBLE |
Enable connection of inhibitory synaptic input debug line to intermediate mux. More... | |
bool | operator!= (PadMultiplexerConfig const &other) const SYMBOL_VISIBLE |
bool | operator== (PadMultiplexerConfig const &other) const SYMBOL_VISIBLE |
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 |
Static Public Member Functions | |
template<typename AddressT > | |
static std::array< AddressT, config_size_in_words > | addresses (coordinate_type const &coord) SYMBOL_VISIBLE |
Static Public Attributes | |
static constexpr size_t | config_size_in_words = 2 |
Friends | |
class | cereal::access |
std::ostream & | operator<< (std::ostream &os, PadMultiplexerConfig const &config) SYMBOL_VISIBLE |
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.
typedef halco::common:: typed_array<bool, halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection> haldls::vx::PadMultiplexerConfig::buffer_type |
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::CapMemBlockOnDLS> haldls::vx::PadMultiplexerConfig::capmem_quadrant_type |
typedef halco::hicann_dls::vx::PadMultiplexerConfigOnDLS haldls::vx::PadMultiplexerConfig::coordinate_type |
typedef halco::common::typed_array<bool, halco::hicann_dls::vx::HemisphereOnDLS> haldls::vx::PadMultiplexerConfig::hemisphere_type |
typedef std::true_type haldls::vx::PadMultiplexerConfig::is_leaf_node |
haldls::vx::PadMultiplexerConfig::PadMultiplexerConfig | ( | ) |
Default constructor with all inputs disabled.
|
static |
void haldls::vx::PadMultiplexerConfig::decode | ( | std::array< WordT, config_size_in_words > const & | words | ) |
std::array<WordT, config_size_in_words> haldls::vx::PadMultiplexerConfig::encode | ( | ) | const |
bool haldls::vx::PadMultiplexerConfig::get_cadc_debug_acausal_to_synapse_intermediate_mux | ( | ) | const |
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 haldls::vx::PadMultiplexerConfig::get_cadc_debug_causal_to_synapse_intermediate_mux | ( | ) | const |
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 haldls::vx::PadMultiplexerConfig::get_cadc_v_ramp_mux_to_pad | ( | ) | const |
Enable connection of cadc_v_ramp_mux to pad.
bool haldls::vx::PadMultiplexerConfig::get_capmem_i_out_mux_to_capmem_intermediate_mux | ( | ) | const |
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 haldls::vx::PadMultiplexerConfig::get_capmem_intermediate_mux_to_pad | ( | ) | const |
Enable connection of CapMem intermediate mux to pad.
The intermediate mux selects between different capmem-specific sources.
bool haldls::vx::PadMultiplexerConfig::get_capmem_v_out_mux_to_capmem_intermediate_mux | ( | ) | const |
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 haldls::vx::PadMultiplexerConfig::get_capmem_v_ref_mux_to_capmem_intermediate_mux | ( | ) | const |
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 haldls::vx::PadMultiplexerConfig::get_debug_to_pad | ( | ) | const |
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.
bool haldls::vx::PadMultiplexerConfig::get_neuron_i_stim_mux_to_pad | ( | ) | const |
Enable connection of neuron unbuffered membrane access neuron_i_stim_mux to pad.
bool haldls::vx::PadMultiplexerConfig::get_synapse_intermediate_mux_to_pad | ( | ) | const |
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 haldls::vx::PadMultiplexerConfig::get_synin_debug_excitatory_to_synapse_intermediate_mux | ( | ) | const |
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 haldls::vx::PadMultiplexerConfig::get_synin_debug_inhibitory_to_synapse_intermediate_mux | ( | ) | const |
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.
bool haldls::vx::PadMultiplexerConfig::operator!= | ( | PadMultiplexerConfig const & | other | ) | const |
bool haldls::vx::PadMultiplexerConfig::operator== | ( | PadMultiplexerConfig const & | other | ) | const |
haldls::vx::PadMultiplexerConfig::return_value_policy | ( | reference_internal | ) | const & |
haldls::vx::PadMultiplexerConfig::return_value_policy | ( | reference_internal | ) | const & |
haldls::vx::PadMultiplexerConfig::return_value_policy | ( | reference_internal | ) | const & |
haldls::vx::PadMultiplexerConfig::return_value_policy | ( | reference_internal | ) | const & |
haldls::vx::PadMultiplexerConfig::return_value_policy | ( | reference_internal | ) | const & |
haldls::vx::PadMultiplexerConfig::return_value_policy | ( | reference_internal | ) | const & |
void haldls::vx::PadMultiplexerConfig::set_buffer_to_pad | ( | buffer_type const & | value | ) |
void haldls::vx::PadMultiplexerConfig::set_cadc_debug_acausal_to_synapse_intermediate_mux | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_cadc_debug_causal_to_synapse_intermediate_mux | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_cadc_v_ramp_mux | ( | capmem_quadrant_type const & | value | ) |
void haldls::vx::PadMultiplexerConfig::set_cadc_v_ramp_mux_to_pad | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_capmem_i_out_mux | ( | capmem_quadrant_type const & | value | ) |
void haldls::vx::PadMultiplexerConfig::set_capmem_i_out_mux_to_capmem_intermediate_mux | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_capmem_intermediate_mux_to_pad | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_capmem_v_out_mux | ( | capmem_quadrant_type const & | value | ) |
void haldls::vx::PadMultiplexerConfig::set_capmem_v_out_mux_to_capmem_intermediate_mux | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_capmem_v_ref_mux | ( | capmem_quadrant_type const & | value | ) |
void haldls::vx::PadMultiplexerConfig::set_capmem_v_ref_mux_to_capmem_intermediate_mux | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_debug_to_pad | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_neuron_i_stim_mux | ( | hemisphere_type const & | value | ) |
void haldls::vx::PadMultiplexerConfig::set_neuron_i_stim_mux_to_pad | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_synapse_intermediate_mux_to_pad | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_synin_debug_excitatory_to_synapse_intermediate_mux | ( | bool | value | ) |
void haldls::vx::PadMultiplexerConfig::set_synin_debug_inhibitory_to_synapse_intermediate_mux | ( | bool | value | ) |
|
friend |
|
staticconstexpr |