LOLA
memory_timing.h
Go to the documentation of this file.
1 #pragma once
2 #include "halco/hicann-dls/vx/memory_timing.h"
3 #include "hate/visibility.h"
4 #include "lola/vx/genpybind.h"
5 
6 #include "haldls/vx/cadc.h"
7 #include "haldls/vx/neuron.h"
8 #include "haldls/vx/synapse.h"
9 #include "haldls/vx/synapse_driver.h"
10 
12 
16 class GENPYBIND(visible) MemoryTiming
17 {
18 public:
19  typedef halco::hicann_dls::vx::MemoryTimingOnDLS coordinate_type;
20  typedef std::false_type has_local_data;
21 
22  MemoryTiming() = default;
23 
24  typedef halco::common::typed_array<
25  haldls::vx::CADCOffsetSRAMTimingConfig,
27  CADCOffset GENPYBIND(opaque);
28  typedef halco::common::typed_array<
29  haldls::vx::SynapseDriverSRAMTimingConfig,
31  SynapseDriver GENPYBIND(opaque);
32  typedef halco::common::typed_array<
33  haldls::vx::NeuronSRAMTimingConfig,
35  Neuron GENPYBIND(opaque);
36  typedef halco::common::typed_array<
37  haldls::vx::NeuronBackendSRAMTimingConfig,
39  NeuronBackend GENPYBIND(opaque);
40  typedef halco::common::
41  typed_array<haldls::vx::CommonSynramConfig, haldls::vx::CommonSynramConfig::coordinate_type>
42  Synram GENPYBIND(opaque);
43 
64 
65  bool operator==(MemoryTiming const& other) const SYMBOL_VISIBLE;
66  bool operator!=(MemoryTiming const& other) const SYMBOL_VISIBLE;
67 
68  GENPYBIND(stringstream)
69  friend std::ostream& operator<<(std::ostream& os, MemoryTiming const& config) SYMBOL_VISIBLE;
70 
71 private:
72  friend haldls::vx::detail::VisitPreorderImpl<MemoryTiming>;
73 };
74 
75 } // namespace lola::vx
76 
77 #include "lola/vx/memory_timing.tcc"
Timing configuration of memories.
Definition: memory_timing.h:17
halco::common::typed_array< haldls::vx::CommonSynramConfig, haldls::vx::CommonSynramConfig::coordinate_type > Synram
Definition: memory_timing.h:42
halco::hicann_dls::vx::MemoryTimingOnDLS coordinate_type
Definition: memory_timing.h:19
halco::common::typed_array< haldls::vx::SynapseDriverSRAMTimingConfig, haldls::vx::SynapseDriverSRAMTimingConfig::coordinate_type > SynapseDriver
Definition: memory_timing.h:31
std::false_type has_local_data
Definition: memory_timing.h:20
halco::common::typed_array< haldls::vx::NeuronSRAMTimingConfig, haldls::vx::NeuronSRAMTimingConfig::coordinate_type > Neuron
Definition: memory_timing.h:35
SynapseDriver synapse_driver
Memory timing of SRAM of synapse drivers.
Definition: memory_timing.h:51
CADCOffset cadc_offset
Memory timing of SRAM of CADC offsets.
Definition: memory_timing.h:47
NeuronBackend neuron_backend
Memory timing of SRAM of neuron backends.
Definition: memory_timing.h:59
Synram synram
Memory timing of SRAM of synram.
Definition: memory_timing.h:63
halco::common::typed_array< haldls::vx::NeuronBackendSRAMTimingConfig, haldls::vx::NeuronBackendSRAMTimingConfig::coordinate_type > NeuronBackend
Definition: memory_timing.h:39
bool operator!=(MemoryTiming const &other) const SYMBOL_VISIBLE
halco::common::typed_array< haldls::vx::CADCOffsetSRAMTimingConfig, haldls::vx::CADCOffsetSRAMTimingConfig::coordinate_type > CADCOffset
Definition: memory_timing.h:27
bool operator==(MemoryTiming const &other) const SYMBOL_VISIBLE
Neuron neuron
Memory timing of SRAM of neurons.
Definition: memory_timing.h:55
#define GENPYBIND_TAG_LOLA_VX
Definition: genpybind.h:4
Definition: cadc.h:465
Definition: dac.h:14
halco::hicann_dls::vx::v2::AtomicNeuronOnDLS coordinate_type
Definition: neuron.h:442