2 #include "halco/common/typed_heap_array.h"
3 #include "halco/hicann-dls/vx/coordinates.h"
4 #include "haldls/cerealization.h"
5 #include "hate/visibility.h"
8 #include <boost/hana/adapt_struct.hpp>
10 #include "haldls/vx/fpga.h"
11 #include "haldls/vx/ppu.h"
27 typedef std::vector<haldls::vx::ExternalPPUMemoryByte>
bytes_type;
29 typedef halco::hicann_dls::vx::ExternalPPUMemoryBlockSize
size_type;
35 haldls::vx::ExternalPPUMemoryByte&
at(
size_t index) SYMBOL_VISIBLE;
36 haldls::vx::ExternalPPUMemoryByte
const&
at(
size_t index)
const SYMBOL_VISIBLE;
37 haldls::vx::ExternalPPUMemoryByte&
operator[](
size_t index) SYMBOL_VISIBLE;
38 haldls::vx::ExternalPPUMemoryByte
const&
operator[](
size_t index)
const SYMBOL_VISIBLE;
45 GENPYBIND(getter_for(bytes))
47 GENPYBIND(setter_for(bytes))
53 GENPYBIND(stringstream)
57 std::
string to_string() const SYMBOL_VISIBLE;
63 template <typename Archive>
64 void serialize(Archive& ar, std::uint32_t const version);
79 typedef halco::common::typed_heap_array<
80 haldls::vx::ExternalPPUMemoryByte,
81 halco::hicann_dls::vx::ExternalPPUMemoryByteOnFPGA>
84 typedef halco::hicann_dls::vx::ExternalPPUMemoryBlockSize
size_type;
96 GENPYBIND(stringstream)
104 std::
string to_string() const SYMBOL_VISIBLE;
110 template <typename Archive>
111 void serialize(Archive& ar, std::uint32_t const version);
143 Symbol(
Type const& type, halco::hicann_dls::vx::PPUMemoryBlockOnPPU const& coord)
150 halco::hicann_dls::vx::PPUMemoryBlockOnPPU coordinate;
152 bool operator==(
Symbol const& other) const SYMBOL_VISIBLE;
154 bool operator!=(
Symbol const& other) const SYMBOL_VISIBLE;
156 GENPYBIND(stringstream)
157 friend std::ostream& operator<<(std::ostream& os,
Symbol const& symbol) SYMBOL_VISIBLE;
190 haldls::vx::PPUMemoryBlock read_program() SYMBOL_VISIBLE;
205 #include "lola/vx/ppu.tcc"
Contiguous block of bytes in the external PPU memory.
std::false_type has_local_data
size_type size() const SYMBOL_VISIBLE
haldls::vx::ExternalPPUMemoryByte & operator[](size_t index) SYMBOL_VISIBLE
haldls::vx::ExternalPPUMemoryByte const & at(size_t index) const SYMBOL_VISIBLE
ExternalPPUMemoryBlock(size_type size=size_type(halco::hicann_dls::vx::ExternalPPUMemoryByteOnFPGA::size)) SYMBOL_VISIBLE
haldls::vx::ExternalPPUMemoryByte & at(size_t index) SYMBOL_VISIBLE
std::vector< haldls::vx::ExternalPPUMemoryByte > bytes_type
void set_subblock(size_t begin, ExternalPPUMemoryBlock const &subblock) SYMBOL_VISIBLE
halco::hicann_dls::vx::ExternalPPUMemoryBlockSize size_type
halco::hicann_dls::vx::ExternalPPUMemoryBlockOnFPGA coordinate_type
haldls::vx::ExternalPPUMemoryByte const & operator[](size_t index) const SYMBOL_VISIBLE
ExternalPPUMemoryBlock get_subblock(size_t begin, size_type length) const SYMBOL_VISIBLE
Complete external PPU memory.
halco::hicann_dls::vx::ExternalPPUMemoryOnFPGA coordinate_type
ExternalPPUMemory() SYMBOL_VISIBLE
halco::common::typed_heap_array< haldls::vx::ExternalPPUMemoryByte, halco::hicann_dls::vx::ExternalPPUMemoryByteOnFPGA > Bytes
halco::hicann_dls::vx::ExternalPPUMemoryBlockSize size_type
std::false_type has_local_data
Read-access to memory and symbol data of PPU program file in the ELF file format.
PPUElfFile(std::string const &filename) SYMBOL_VISIBLE
Open file.
std::map< std::string, PPUProgram::Symbol > symbols_type
Map of named symbols.
symbols_type read_symbols() SYMBOL_VISIBLE
Read symbol data.
Symbol of PPU program describing the location and type of a continuous block of memory.
Symbol() SYMBOL_VISIBLE
Default construct a symbol of type 'other' and default coordinate.
#define GENPYBIND_TAG_LOLA_VX