LOLA
routing_crossbar.h
Go to the documentation of this file.
1 #pragma once
2 #include "halco/common/typed_array.h"
3 #include "halco/hicann-dls/vx/routing_crossbar.h"
4 #include "haldls/vx/common.h"
5 #include "haldls/vx/routing_crossbar.h"
6 #include "hate/visibility.h"
7 #include "hxcomm/vx/target.h"
8 #include "lola/vx/genpybind.h"
9 
10 namespace cereal {
11 class access;
12 } // namespace cereal
13 
15 
19 class GENPYBIND(visible) Crossbar
20 {
21 public:
22  typedef halco::hicann_dls::vx::CrossbarOnDLS coordinate_type;
23  typedef std::false_type has_local_data;
24  constexpr static auto unsupported_read_targets GENPYBIND(hidden) = {
25  hxcomm::vx::Target::hardware};
26 
28  Crossbar() SYMBOL_VISIBLE;
29 
30  typedef halco::common::
31  typed_array<haldls::vx::CrossbarNode, halco::hicann_dls::vx::CrossbarNodeOnDLS>
32  Nodes GENPYBIND(opaque);
33 
35  Nodes nodes;
36 
37  haldls::vx::CrossbarOutputConfig outputs;
38 
39  bool operator==(Crossbar const& other) const SYMBOL_VISIBLE;
40  bool operator!=(Crossbar const& other) const SYMBOL_VISIBLE;
41 
42  GENPYBIND(stringstream)
43  friend std::ostream& operator<<(std::ostream& os, Crossbar const& block) SYMBOL_VISIBLE;
44 
45 private:
46  friend struct haldls::vx::detail::VisitPreorderImpl<lola::vx::Crossbar>;
47 };
48 
49 } // namespace lola::vx
50 
51 #include "lola/vx/routing_crossbar.tcc"
Container for configuration of the routing crossbar.
halco::hicann_dls::vx::CrossbarOnDLS coordinate_type
Crossbar() SYMBOL_VISIBLE
Default constructor.
std::false_type has_local_data
halco::common::typed_array< haldls::vx::CrossbarNode, halco::hicann_dls::vx::CrossbarNodeOnDLS > Nodes
#define GENPYBIND_TAG_LOLA_VX
Definition: genpybind.h:4
Definition: cadc.h:465
Definition: dac.h:14
Definition: dac.h:14