STADLS
decode.h
Go to the documentation of this file.
1 #pragma once
2 #define CHIP_REVISION 2
3 #include "stadls/vx/decode.h"
4 #undef CHIP_REVISION
5 
6 #include "lola/vx/v2/chip.h"
7 
8 namespace stadls::vx {
9 
10 // specializations
11 
12 template <>
13 inline void decode_random(std::mt19937& gen, lola::vx::v2::Chip& config)
14 {
15  using namespace halco::hicann_dls::vx::v2;
16  using namespace halco::common;
17 
18  decode_random(gen, config.memory_timing);
19  decode_random(gen, config.crossbar);
20 
21  for (auto const c : iter_all<BackgroundSpikeSourceOnDLS>()) {
22  decode_random(gen, config.background_spike_sources[c]);
23  }
24 
25  decode_random(gen, config.capmem);
26 
27  for (auto const c : iter_all<SynapseDriverBlockOnDLS>()) {
28  decode_random(gen, config.synapse_driver_blocks[c]);
29  }
30 
31  for (auto const c : iter_all<SynapseBlockOnDLS>()) {
32  decode_random(gen, config.synapse_blocks[c]);
33  }
34 
35  decode_random(gen, config.neuron_block);
36  for (auto const c : iter_all<CADCOnDLS>()) {
37  decode_random(gen, config.cadc_readout_chains[c]);
38  }
39 
40  decode_random(gen, config.readout_chain);
41 
42  for (auto const c : iter_all<PPUMemoryOnDLS>()) {
43  decode_random(gen, config.ppu_memory[c]);
44  }
45 
46  decode_random(gen, config.external_ppu_memory);
47 }
48 
49 } // namespace stadls::vx
void decode_random(std::mt19937 &gen, T &config)
Decode random data into a container.
Definition: decode.h:107