HALDLS
neuron.h File Reference
#include <array>
#include <iosfwd>
#include "halco/common/geometry.h"
#include "halco/common/typed_array.h"
#include "halco/hicann-dls/vx/neuron.h"
#include "haldls/vx/genpybind.h"
#include "haldls/vx/sram_controller.h"
#include "haldls/vx/traits.h"
#include "hate/visibility.h"
#include "haldls/cerealization.h"
#include "hxcomm/vx/target.h"
+ Include dependency graph for neuron.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  haldls::vx::detail::BackendContainerTrait< BlockPostPulse >
 
struct  haldls::vx::detail::BackendContainerTrait< CommonNeuronBackendConfig >
 
struct  haldls::vx::detail::BackendContainerTrait< NeuronBackendConfig< Coordinates > >
 
struct  haldls::vx::detail::BackendContainerTrait< NeuronBackendSRAMTimingConfig >
 
struct  haldls::vx::detail::BackendContainerTrait< NeuronReset >
 
struct  haldls::vx::detail::BackendContainerTrait< NeuronSRAMTimingConfig >
 
struct  haldls::vx::detail::BackendContainerTrait< SpikeCounterRead >
 
struct  haldls::vx::detail::BackendContainerTrait< SpikeCounterReset >
 
class  haldls::vx::BlockPostPulse
 Container to send post pulses to one half of the neurons (left/right). More...
 
struct  haldls::vx::CommonNeuronBackendConfig::ClockScale
 The ClockScale determines the range of the clock and at its precision It's an exponential power-of-two clock scaling factor: For a given reference clock of f_clk = 250MHz, the resulting frequency is f_clk / (2 ^ (clock_scale + 1)). More...
 
class  haldls::vx::CommonNeuronBackendConfig
 Read/write access to common neuron parameters. More...
 
struct  haldls::vx::SpikeCounterRead::Count
 Count of rate counter. More...
 
struct  haldls::vx::NeuronBackendConfig< Coordinates >::InputClock
 There are two independent but equivalent clocks available. More...
 
struct  haldls::vx::NeuronBackendAddressOut
 Address of the spikes sent out by a neuron. More...
 
class  haldls::vx::NeuronBackendConfig< Coordinates >
 Read/write access to the NeuronBackend container. More...
 
class  haldls::vx::NeuronBackendSRAMTimingConfig
 
class  haldls::vx::NeuronReset
 Container to trigger reset of a single neuron. More...
 
class  haldls::vx::NeuronSRAMTimingConfig
 
struct  haldls::vx::NeuronBackendConfig< Coordinates >::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  haldls::vx::NeuronBackendConfig< Coordinates >::ResetHoldoff
 ResetHoldoff period: Adjusts the time delta between the reset and the refractory period. More...
 
class  haldls::vx::SpikeCounterRead
 Container to read the spike counter of a single neuron. More...
 
class  haldls::vx::SpikeCounterReset
 Container to reset the spike counter of a single neuron. More...
 
struct  haldls::vx::CommonNeuronBackendConfig::WaitFireNeuron
 Duration of pulse triggering the artificial neuron spikes. More...
 
struct  haldls::vx::CommonNeuronBackendConfig::WaitGlobalPostPulse
 Duration of the pulse triggering global post pulses for all neurons connected to that backend block. More...
 
struct  haldls::vx::CommonNeuronBackendConfig::WaitSpikeCounterRead
 Wait time for letting the neuron backend circuits drive the counter content to the controller logic. More...
 
struct  haldls::vx::CommonNeuronBackendConfig::WaitSpikeCounterReset
 Duration of the pulse triggering spike counter resets. More...
 

Namespaces

 fisch
 
 fisch::vx
 
 haldls
 
 haldls::vx
 
 haldls::vx::detail
 

Macros

#define NEURON_EXTERN_TEMPLATE(Coordinates)
 

Macro Definition Documentation

◆ NEURON_EXTERN_TEMPLATE

#define NEURON_EXTERN_TEMPLATE (   Coordinates)
Value:
extern template class SYMBOL_VISIBLE NeuronBackendConfig<Coordinates>; \
\
extern template SYMBOL_VISIBLE std::array< \
halco::hicann_dls::vx::OmnibusChipOverJTAGAddress, \
NeuronBackendConfig<Coordinates>::config_size_in_words> \
NeuronBackendConfig<Coordinates>::addresses(coordinate_type const& coord); \
extern template SYMBOL_VISIBLE std::array< \
halco::hicann_dls::vx::OmnibusAddress, \
NeuronBackendConfig<Coordinates>::config_size_in_words> \
NeuronBackendConfig<Coordinates>::addresses(coordinate_type const& coord); \
\
extern template SYMBOL_VISIBLE std::array< \
fisch::vx::word_access_type::OmnibusChipOverJTAG, \
NeuronBackendConfig<Coordinates>::config_size_in_words> \
NeuronBackendConfig<Coordinates>::encode() const; \
extern template SYMBOL_VISIBLE std::array< \
fisch::vx::word_access_type::Omnibus, \
NeuronBackendConfig<Coordinates>::config_size_in_words> \
NeuronBackendConfig<Coordinates>::encode() const; \
\
extern template SYMBOL_VISIBLE void NeuronBackendConfig<Coordinates>::decode( \
std::array< \
fisch::vx::word_access_type::OmnibusChipOverJTAG, \
NeuronBackendConfig<Coordinates>::config_size_in_words> const& data); \
extern template SYMBOL_VISIBLE void NeuronBackendConfig<Coordinates>::decode( \
std::array< \
fisch::vx::word_access_type::Omnibus, \
NeuronBackendConfig<Coordinates>::config_size_in_words> const& data);

Definition at line 828 of file neuron.h.