HALDLS
haldls::vx::NeuronBackendConfig< Coordinates > Class Template Reference

Read/write access to the NeuronBackend container. More...

#include <neuron.h>

+ Inheritance diagram for haldls::vx::NeuronBackendConfig< Coordinates >:
+ Collaboration diagram for haldls::vx::NeuronBackendConfig< Coordinates >:

Classes

struct  InputClock
 There are two independent but equivalent clocks available. More...
 
struct  RefractoryTime
 The refractory time can be configured to be used for different applications (short and long) Refactory Periods usually range from 0 to 5 ms. More...
 
struct  ResetHoldoff
 ResetHoldoff period: Adjusts the time delta between the reset and the refractory period. More...
 

Public Types

typedef NeuronBackendAddressOut AddressOut
 
typedef Coordinates::NeuronBackendConfigOnDLS coordinate_type
 
typedef std::true_type is_leaf_node
 

Public Member Functions

 NeuronBackendConfig ()
 
template<typename WordT >
void decode (std::array< WordT, config_size_in_words > const &data)
 
template<typename WordT >
std::array< WordT, config_size_in_wordsencode () const
 
AddressOut get_address_out () const
 
bool get_connect_fire_bottom () const
 
bool get_connect_fire_from_right () const
 
bool get_connect_fire_to_right () const
 
bool get_enable_adaptation_pulse () const
 
bool get_enable_bayesian_0 () const
 
bool get_enable_bayesian_1 () const
 
bool get_enable_bayesian_extension () const
 
bool get_enable_neuron_master () const
 Enable the fire output of a neuron. More...
 
bool get_enable_neuron_slave () const
 
bool get_enable_spike_out () const
 
bool get_post_overwrite () const
 
RefractoryTime get_refractory_time () const
 
ResetHoldoff get_reset_holdoff () const
 
InputClock get_select_input_clock () const
 
bool operator!= (NeuronBackendConfig const &other) const
 
bool operator== (NeuronBackendConfig const &other) const
 
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)
 

Static Public Member Functions

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

Static Public Attributes

static constexpr size_t config_size_in_words = 4
 
constexpr static auto unsupported_read_targets
 

Friends

class cereal::access
 
std::ostream & operator<< (std::ostream &os, NeuronBackendConfig< Coordinates > const &config)
 

Detailed Description

template<typename Coordinates>
class haldls::vx::NeuronBackendConfig< Coordinates >

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.

Definition at line 230 of file neuron.h.

Member Typedef Documentation

◆ AddressOut

template<typename Coordinates >
typedef NeuronBackendAddressOut haldls::vx::NeuronBackendConfig< Coordinates >::AddressOut

Definition at line 240 of file neuron.h.

◆ coordinate_type

template<typename Coordinates >
typedef Coordinates::NeuronBackendConfigOnDLS haldls::vx::NeuronBackendConfig< Coordinates >::coordinate_type

Definition at line 233 of file neuron.h.

◆ is_leaf_node

template<typename Coordinates >
typedef std::true_type haldls::vx::NeuronBackendConfig< Coordinates >::is_leaf_node

Definition at line 234 of file neuron.h.

Constructor & Destructor Documentation

◆ NeuronBackendConfig()

template<typename Coordinates >
haldls::vx::NeuronBackendConfig< Coordinates >::NeuronBackendConfig ( )

Member Function Documentation

◆ addresses()

template<typename Coordinates >
template<typename AddressT >
template SYMBOL_VISIBLE std::array< halco::hicann_dls::vx::OmnibusAddress, NeuronBackendConfig< halco::hicann_dls::vx::v3::Coordinates >::config_size_in_words > haldls::vx::NeuronBackendConfig< Coordinates >::addresses ( coordinate_type const &  neuron)
static

◆ decode()

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

◆ encode()

template<typename Coordinates >
template<typename WordT >
template SYMBOL_VISIBLE std::array< fisch::vx::word_access_type::Omnibus, NeuronBackendConfig< halco::hicann_dls::vx::v3::Coordinates >::config_size_in_words > haldls::vx::NeuronBackendConfig< Coordinates >::encode ( ) const

◆ get_address_out()

template<typename Coordinates >
AddressOut haldls::vx::NeuronBackendConfig< Coordinates >::get_address_out ( ) const

◆ get_connect_fire_bottom()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_connect_fire_bottom ( ) const

◆ get_connect_fire_from_right()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_connect_fire_from_right ( ) const

◆ get_connect_fire_to_right()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_connect_fire_to_right ( ) const

◆ get_enable_adaptation_pulse()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_enable_adaptation_pulse ( ) const

◆ get_enable_bayesian_0()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_enable_bayesian_0 ( ) const

◆ get_enable_bayesian_1()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_enable_bayesian_1 ( ) const

◆ get_enable_bayesian_extension()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_enable_bayesian_extension ( ) const

◆ get_enable_neuron_master()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_enable_neuron_master ( ) const

Enable the fire output of a neuron.

If the threshold comparator creates a fire signal, all connected neurons receive a fire input. Even if no neurons are connected, this setting needs to be switched on in order to process the fire signal. If this setting is disabled, spikes will not trigger post pulses in the synapses.

◆ get_enable_neuron_slave()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_enable_neuron_slave ( ) const

◆ get_enable_spike_out()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_enable_spike_out ( ) const

◆ get_post_overwrite()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::get_post_overwrite ( ) const

◆ get_refractory_time()

template<typename Coordinates >
RefractoryTime haldls::vx::NeuronBackendConfig< Coordinates >::get_refractory_time ( ) const

◆ get_reset_holdoff()

template<typename Coordinates >
ResetHoldoff haldls::vx::NeuronBackendConfig< Coordinates >::get_reset_holdoff ( ) const

◆ get_select_input_clock()

template<typename Coordinates >
InputClock haldls::vx::NeuronBackendConfig< Coordinates >::get_select_input_clock ( ) const

◆ operator!=()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::operator!= ( NeuronBackendConfig< Coordinates > const &  other) const

◆ operator==()

template<typename Coordinates >
bool haldls::vx::NeuronBackendConfig< Coordinates >::operator== ( NeuronBackendConfig< Coordinates > const &  other) const

◆ set_address_out()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_address_out ( AddressOut  addr)

◆ set_connect_fire_bottom()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_connect_fire_bottom ( bool  val)

◆ set_connect_fire_from_right()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_connect_fire_from_right ( bool  val)

◆ set_connect_fire_to_right()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_connect_fire_to_right ( bool  val)

◆ set_enable_adaptation_pulse()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_enable_adaptation_pulse ( bool  val)

◆ set_enable_bayesian_0()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_enable_bayesian_0 ( bool  val)

◆ set_enable_bayesian_1()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_enable_bayesian_1 ( bool  val)

◆ set_enable_bayesian_extension()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_enable_bayesian_extension ( bool  val)

◆ set_enable_neuron_master()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_enable_neuron_master ( bool  val)

◆ set_enable_neuron_slave()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_enable_neuron_slave ( bool  val)

◆ set_enable_spike_out()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_enable_spike_out ( bool  val)

◆ set_post_overwrite()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_post_overwrite ( bool  val)

◆ set_refractory_time()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_refractory_time ( RefractoryTime  val)

◆ set_reset_holdoff()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_reset_holdoff ( ResetHoldoff  val)

◆ set_select_input_clock()

template<typename Coordinates >
void haldls::vx::NeuronBackendConfig< Coordinates >::set_select_input_clock ( InputClock  src)

Friends And Related Function Documentation

◆ cereal::access

template<typename Coordinates >
friend class cereal::access
friend

Definition at line 445 of file neuron.h.

◆ operator<<

template<typename Coordinates >
std::ostream& operator<< ( std::ostream &  os,
NeuronBackendConfig< Coordinates > const &  config 
)
friend

Definition at line 419 of file neuron.h.

Member Data Documentation

◆ config_size_in_words

template<typename Coordinates >
constexpr size_t haldls::vx::NeuronBackendConfig< Coordinates >::config_size_in_words = 4
staticconstexpr

Definition at line 409 of file neuron.h.

◆ unsupported_read_targets

template<typename Coordinates >
constexpr static auto haldls::vx::NeuronBackendConfig< Coordinates >::unsupported_read_targets
staticconstexpr
Initial value:
= {
hxcomm::vx::Target::simulation}

Definition at line 236 of file neuron.h.


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