API Reference: stadls

template<typename T>
class stadls::vx::PlaybackProgram::ContainerTicket
#include <playback_program.h>

Ticket for to-be-available container data corresponding to a read instruction.

tparam T

Container type

Public Types

typedef T::coordinate_type coordinate_type

Public Functions

T get () const SYMBOL_VISIBLE

Get container data if available.

Throws

std::runtime_error – On container data not available yet

Returns

Container data

coordinate_type get_coordinate () const SYMBOL_VISIBLE

Get coordinate corresponding to location of (to-be) read container data.

Returns

Coordinate value

fpga_time_type get_fpga_time () const SYMBOL_VISIBLE

Get FPGA executor timestamp of last container response if time annotation is enabled.

If time annotation is not enabled, get message count since last time annotation or from the beginning of the response stream.

Returns

FPGATime value

bool valid () const SYMBOL_VISIBLE

Get whether container data is available.

Returns

Boolean value

Private Types

typedef detail::to_ticket_variant<typename haldls::vx::detail::BackendContainerTrait<T>::container_list>::type ticket_impl_type

Private Functions

inline ContainerTicket(coordinate_type const &coord, ticket_impl_type ticket_impl)

Private Members

coordinate_type m_coord
ticket_impl_type m_ticket_impl

Friends

friend class detail::PlaybackProgramBuilderAdapterImpl
template<typename CoordinateT>
struct stadls::vx::v2::CoordinateToContainer
#include <coordinate_to_container.h>

Given a coordinate type, resolves the corresponding unique container type.

tparam CoordinateT

Coordinate type to resolve container type for

Public Types

typedef hate::index_type_list_by_integer<hate::index_type_list_by_type<CoordinateT, coordinate_list>::value, container_list>::type type
template<typename CoordinateT>
struct stadls::vx::v3::CoordinateToContainer
#include <coordinate_to_container.h>

Given a coordinate type, resolves the corresponding unique container type.

tparam CoordinateT

Coordinate type to resolve container type for

Public Types

typedef hate::index_type_list_by_integer<hate::index_type_list_by_type<CoordinateT, coordinate_list>::value, container_list>::type type
template<typename T>
class stadls::DecodeVisitor
#include <visitors.h>

Fill the visited containers by decoding the specified configuration data.

Each container should implement a decode member function that accepts an array of words read from the hardware. The first argument to the function can optionally be the coordinate of the container, should it be required to correctly decode the data. Containers that do not themselves contain data (i.e. containers of containers) can alternatively be tagged via

typedef std::false_type has_local_data;
See

ReadAddressVisitor, which is used to extract the addresses to read the configuration data from.

Public Functions

inline DecodeVisitor(T data)
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const&, ContainerT const&) -> typename std::enable_if<!ContainerT::has_local_data::value>::type
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const &coord, ContainerT &container) -> decltype(&ContainerT::decode, void())
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const &coord, ContainerT &container) -> decltype(&ContainerT::template decode<value_type>, void())

Private Types

typedef T::value_type value_type

Private Functions

template<typename CoordinateT, typename ContainerT, typename DecodeContainerT, size_t N>
inline void decode(CoordinateT const&, ContainerT &container, void (DecodeContainerT::* decode)(std::array<value_type, N> const&))
template<typename CoordinateT, typename ContainerT, typename DecodeContainerT, size_t N>
inline void decode(CoordinateT const &coord, ContainerT &container, void (DecodeContainerT::* decode)(CoordinateT const&, std::array<value_type, N> const&))
inline size_t remaining() const
template<size_t N>
inline auto slice() -> std::array<value_type, N>

Private Members

T m_data
T::const_iterator m_it
class stadls::vx::v2::DigitalInit : public stadls::vx::v2::detail::InitGenerator
#include <init_generator.h>

Generator for initialization of the chip up to digital communication.

Uses the default InitGenerator() to establish digital communication to the chip.

Public Types

typedef halco::common::typed_array<haldls::vx::ADPLL, halco::hicann_dls::vx::v2::ADPLLOnDLS> adplls_type

ADPLL setting.

typedef v2::PlaybackProgramBuilder Builder

Builder typedef (e.g.

for usage in generators).

typedef halco::common::typed_array<haldls::vx::v2::CapMemBlockConfig, halco::hicann_dls::vx::v2::CapMemBlockConfigOnDLS> capmem_block_config_type

Initialize the CapMem with usable default values.

typedef halco::common::typed_array<haldls::vx::v2::CapMemBlock, halco::hicann_dls::vx::v2::CapMemBlockOnDLS> capmem_block_type

Set initial CapMem config.

By default, a value of zero is written to all cells.

typedef hate::Nil Result

Public Functions

DigitalInit () SYMBOL_VISIBLE

Default constructor.

Public Members

adplls_type adplls
capmem_block_config_type capmem_block_config
capmem_block_type capmem_config
lola::vx::DACChannelBlock dac_channel_block

DAC channel configs on xBoard.

lola::vx::DACControlBlock dac_control_block

DAC control config on xBoard.

bool enable_capmem

Select whether the CapMem should be enabled.

Note

The CapMem initialization requires highspeed access.

bool enable_highspeed_link

Enable Highspeed connection.

Note

Disabling this discards all highspeed related configuration.

bool enable_xboard

Enable xBoard DAC and shift register configuration.

Disabling this allows to discard unnecessary configuration when simulating.

Note

Disabling this discards all xBoard configuration

struct stadls::vx::v2::detail::InitGenerator::HighspeedLink highspeed_link
haldls::vx::JTAGClockScaler jtag_clock_scaler

JTAG clock scaler setting.

lola::vx::v2::MemoryTiming memory_timing

Memory timing settings.

haldls::vx::v2::PLLClockOutputBlock pll_clock_output_block

PLL clock output block setting.

haldls::vx::v2::ReferenceGeneratorConfig reference_generator_config

Generate usable reference current for the CapMem.

haldls::vx::ShiftRegister shift_register

Shift register on xBoard config.

haldls::vx::SynapseBiasSelection synapse_bias_selection

Select internal bias currents for synapses.

Protected Functions

PlaybackGeneratorReturn< Result > generate () const SYMBOL_VISIBLE

Generate PlaybackProgramBuilder.

Returns

PlaybackGeneratorReturn instance with sequence embodied and specified Result value

Friends

friend auto generate(DigitalInit const&)
class stadls::vx::v3::DigitalInit : public stadls::vx::v3::detail::InitGenerator
#include <init_generator.h>

Generator for initialization of the chip up to digital communication.

Uses the default InitGenerator() to establish digital communication to the chip.

Public Types

typedef halco::common::typed_array<haldls::vx::ADPLL, halco::hicann_dls::vx::v3::ADPLLOnDLS> adplls_type

ADPLL setting.

typedef v3::PlaybackProgramBuilder Builder

Builder typedef (e.g.

for usage in generators).

typedef halco::common::typed_array<haldls::vx::v3::CapMemBlockConfig, halco::hicann_dls::vx::v3::CapMemBlockConfigOnDLS> capmem_block_config_type

Initialize the CapMem with usable default values.

typedef halco::common::typed_array<haldls::vx::v3::CapMemBlock, halco::hicann_dls::vx::v3::CapMemBlockOnDLS> capmem_block_type

Set initial CapMem config.

By default, a value of zero is written to all cells.

typedef hate::Nil Result

Public Functions

DigitalInit () SYMBOL_VISIBLE

Default constructor.

Public Members

adplls_type adplls
capmem_block_config_type capmem_block_config
capmem_block_type capmem_config
lola::vx::DACChannelBlock dac_channel_block

DAC channel configs on xBoard.

lola::vx::DACControlBlock dac_control_block

DAC control config on xBoard.

bool enable_capmem

Select whether the CapMem should be enabled.

Note

The CapMem initialization requires highspeed access.

bool enable_highspeed_link

Enable Highspeed connection.

Note

Disabling this discards all highspeed related configuration.

bool enable_xboard

Enable xBoard DAC and shift register configuration.

Disabling this allows to discard unnecessary configuration when simulating.

Note

Disabling this discards all xBoard configuration

struct stadls::vx::v3::detail::InitGenerator::HighspeedLink highspeed_link
haldls::vx::JTAGClockScaler jtag_clock_scaler

JTAG clock scaler setting.

lola::vx::v3::MemoryTiming memory_timing

Memory timing settings.

haldls::vx::v3::PLLClockOutputBlock pll_clock_output_block

PLL clock output block setting.

haldls::vx::v3::ReferenceGeneratorConfig reference_generator_config

Generate usable reference current for the CapMem.

haldls::vx::ShiftRegister shift_register

Shift register on xBoard config.

haldls::vx::SynapseBiasSelection synapse_bias_selection

Select internal bias currents for synapses.

Protected Functions

PlaybackGeneratorReturn< Result > generate () const SYMBOL_VISIBLE

Generate PlaybackProgramBuilder.

Returns

PlaybackGeneratorReturn instance with sequence embodied and specified Result value

Friends

friend auto generate(DigitalInit const&)
template<typename DoneType>
class stadls::vx::detail::Dumper
#include <dumper.h>

Dumper implements an interface derived from fisch::vx::PlaybackProgramBuilder.

However, it does work on haldls container/halco coordinate pairs instead of fisch containers. Reads are not supported as there is currently no application; writes are collected into a std container holding coordinate/container pairs. The std container is returned by done().

Public Types

typedef DoneType done_type

Public Functions

Dumper() = default

Default constructor.

Dumper(Dumper&&) = default

Move constructor.

Dumper(Dumper const&) = delete

Copy constructor forbidden.

~Dumper() = default

Destructor.

void block_until(halco::hicann_dls::vx::BarrierOnFPGA const &coord, haldls::vx::Barrier barrier)

Add instruction to block execution until specified barrier is completed.

Parameters
  • coord – Barrier synchronization coordinate for which to block

  • barrier – Barrier synchronization value for to block execution

void block_until(halco::hicann_dls::vx::PollingOmnibusBlockOnFPGA const &coord, haldls::vx::PollingOmnibusBlock barrier)

Add instruction to block execution until specified barrier is completed.

Parameters
  • coord – PollingOmnibusBlock synchronization coordinate for which to block

  • barrier – PollingOmnibusBlock synchronization value for to block execution

void block_until(typename haldls::vx::Timer::coordinate_type const &coord, haldls::vx::Timer::Value time)

Add instruction to block execution until specified timer has reached specified value.

Parameters
  • coord – Timer coordinate for which to block

  • time – Timer value until which to block execution

void copy_back(Dumper const &other)

Copy other Dumper to the end of this instance.

The copied-from builder is untouched during the process.

Throws

std::runtime_error – On other builder not being write only

Parameters

other – Builder to copy to this instance at the back

done_type done()

Return ordered list of write coordinate-container pairs.

Returns

Ordered list of writes of coordinate-container pairs.

bool empty() const

Get whether builder is empty, i.e.

no instructions are embodied.

Returns

Boolean value

void merge_back(Dumper &other)

Merge other Dumper to the end of this instance.

The moved-from builder is emptied during the process.

Parameters

other – Builder to move to this instance at the back

void merge_front(Dumper &other)

Merge other PlaybackProgramBuilder to the beginning of this builder instance.

The moved-from builder is emptied during the process.

Parameters

other – Builder to move to this instance at the front

Dumper &operator=(Dumper&&) = default

Move assignment operator.

Dumper &operator=(Dumper const&) = delete

Copy assignment forbidden.

template<typename ContainerT>
PlaybackProgram::ContainerTicket<ContainerT> read(typename ContainerT::coordinate_type const &coord)

We do not support read and throw at runtime.

template<typename ContainerT>
void write(typename ContainerT::coordinate_type const &coord, ContainerT const &config)

Add write instruction for container.

Template Parameters

ContainerT – Container type

Parameters
  • coord – Container coordinate

  • config – Container data

Private Functions

template<class Archive>
void serialize(Archive &ar, std::uint32_t const version)

Private Members

done_type m_dumpit

Friends

friend class cereal::access
template<typename T>
friend std::ostream &operator<<(std::ostream &os, Dumper<T> const &builder)

Print coordinate/container pairs added until now.

Returns

Altered ostream

struct stadls::vx::v2::DumperDone
#include <dumperdone.h>

Public Types

std::variant<#define PLAYBACK_CONTAINER(Name, Type) # 33 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v2/dumperdone.h" 2# 35 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v2/dumperdone.h" 2 std::pair< typename haldls::vx::Timer::coordinate_type, haldls::vx::Timer::Value >, std::pair< halco::hicann_dls::vx::BarrierOnFPGA, haldls::vx::Barrier >, std::pair< halco::hicann_dls::vx::PollingOmnibusBlockOnFPGA, haldls::vx::PollingOmnibusBlock > > coco_type

Variant over all coordinate/container pairs.

typedef std::vector<coco_type> values_type

Public Functions

DumperDone() = default
def ("tolist", [](GENPYBIND_PARENT_TYPE const &v) { py::list ret;for(auto const &vv :v.values) { py::object item;std::visit([&item](auto const &vvv) { item=py::make_tuple(std::get< 0 >(vvv), std::get< 1 >(vvv));}, vv);ret.append(item);} return ret;})
bool operator!= (DumperDone const &other) const SYMBOL_VISIBLE
bool operator== (DumperDone const &other) const SYMBOL_VISIBLE

Public Members

values_type values = {}
struct stadls::vx::v3::DumperDone
#include <dumperdone.h>

Public Types

std::variant<#define PLAYBACK_CONTAINER(Name, Type) # 33 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v3/dumperdone.h" 2# 35 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v3/dumperdone.h" 2 std::pair< typename haldls::vx::Timer::coordinate_type, haldls::vx::Timer::Value >, std::pair< halco::hicann_dls::vx::BarrierOnFPGA, haldls::vx::Barrier >, std::pair< halco::hicann_dls::vx::PollingOmnibusBlockOnFPGA, haldls::vx::PollingOmnibusBlock > > coco_type

Variant over all coordinate/container pairs.

typedef std::vector<coco_type> values_type

Public Functions

DumperDone() = default
def ("tolist", [](GENPYBIND_PARENT_TYPE const &v) { py::list ret;for(auto const &vv :v.values) { py::object item;std::visit([&item](auto const &vvv) { item=py::make_tuple(std::get< 0 >(vvv), std::get< 1 >(vvv));}, vv);ret.append(item);} return ret;})
bool operator!= (DumperDone const &other) const SYMBOL_VISIBLE
bool operator== (DumperDone const &other) const SYMBOL_VISIBLE

Public Members

values_type values = {}
template<typename T>
class stadls::EncodeVisitor
#include <visitors.h>

Extract hardware configuration data for the visited containers.

Each container should implement an encode member function that returns an array of words to be written to the hardware. The first argument to the function can optionally be the coordinate of the container, should it be required to correctly encode the data. Containers that do not themselves contain data (i.e. containers of containers) can alternatively be tagged via

typedef std::false_type has_local_data;
See

WriteAddressVisitor, which is used to extract the addresses to write the configuration data to.

Public Functions

inline EncodeVisitor(T &data)
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const&, ContainerT const&) -> typename std::enable_if<!ContainerT::has_local_data::value>::type
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const &coord, ContainerT const &container) -> decltype(&ContainerT::encode, void())
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const &coord, ContainerT const &container) -> decltype(&ContainerT::template encode<value_type>, void())

Private Types

typedef T::value_type value_type

Private Functions

template<typename CoordinateT, typename ContainerT> inline void encode (CoordinateT const &, ContainerT const &container, decltype(container.template encode< value_type >())(ContainerT::*encode)() const)
template<typename CoordinateT, typename ContainerT, size_t N>
inline void encode(CoordinateT const&, ContainerT const &container, std::array<value_type, N> (ContainerT::* encode)() const)
template<typename CoordinateT, typename ContainerT> inline void encode (CoordinateT const &coord, ContainerT const &container, decltype(container.template encode< value_type >(coord))(ContainerT::*encode)(CoordinateT const &) const)
template<typename CoordinateT, typename ContainerT, size_t N>
inline void encode(CoordinateT const &coord, ContainerT const &container, std::array<value_type, N> (ContainerT::* encode)(CoordinateT const&) const)

Private Members

T &m_data
class stadls::vx::v2::ExperimentInit : public stadls::vx::v2::detail::InitGenerator
#include <init_generator.h>

Generator for initialization required for typical experiments.

Uses the InitGenerator() to establish digital communication to the chip, and further initializes the CapMem in a working state and selects internal bias currents for synapses.

Public Types

typedef halco::common::typed_array<haldls::vx::ADPLL, halco::hicann_dls::vx::v2::ADPLLOnDLS> adplls_type

ADPLL setting.

typedef PlaybackProgramBuilder Builder

Builder typedef (e.g.

for usage in generators).

typedef halco::common::typed_array<haldls::vx::v2::CapMemBlockConfig, halco::hicann_dls::vx::v2::CapMemBlockConfigOnDLS> capmem_block_config_type

Initialize the CapMem with usable default values.

typedef halco::common::typed_array<haldls::vx::v2::CapMemBlock, halco::hicann_dls::vx::v2::CapMemBlockOnDLS> capmem_block_type

Set initial CapMem config.

By default, a value of zero is written to all cells.

typedef halco::common::typed_array<haldls::vx::v2::ColumnCorrelationQuad, halco::hicann_dls::vx::v2::ColumnCorrelationQuadOnDLS> column_correlation_quad_type

Set ColumnCorrelationQuad/Switch connections.

typedef halco::common::typed_array<haldls::vx::v2::ColumnCurrentQuad, halco::hicann_dls::vx::v2::ColumnCurrentQuadOnDLS> column_current_quad_type

Set ColumnCurrentQuad/Switch connections.

typedef halco::common::typed_array<haldls::vx::v2::CommonCorrelationConfig, halco::hicann_dls::vx::v2::CommonCorrelationConfigOnDLS> common_correlation_config_type

Set common correlation config.

typedef halco::common::typed_array<haldls::vx::CommonNeuronBackendConfig, halco::hicann_dls::vx::v2::CommonNeuronBackendConfigOnDLS> common_neuron_backend_config_type

Set common neuron backend with clocks enabled.

If clocks are disabled, it may behave strangely.

typedef detail::InitGenerator::Result Result

Public Functions

ExperimentInit () SYMBOL_VISIBLE

Default constructor.

Public Members

adplls_type adplls
capmem_block_config_type capmem_block_config
capmem_block_type capmem_config
column_correlation_quad_type column_correlation_quad_config
column_current_quad_type column_current_quad_config
common_correlation_config_type common_correlation_config
common_neuron_backend_config_type common_neuron_backend_config
lola::vx::DACChannelBlock dac_channel_block

DAC channel configs on xBoard.

lola::vx::DACControlBlock dac_control_block

DAC control config on xBoard.

bool enable_capmem

Select whether the CapMem should be enabled.

Note

The CapMem initialization requires highspeed access.

bool enable_highspeed_link

Enable Highspeed connection.

Note

Disabling this discards all highspeed related configuration.

bool enable_xboard

Enable xBoard DAC and shift register configuration.

Disabling this allows to discard unnecessary configuration when simulating.

Note

Disabling this discards all xBoard configuration

struct stadls::vx::v2::detail::InitGenerator::HighspeedLink highspeed_link
haldls::vx::JTAGClockScaler jtag_clock_scaler

JTAG clock scaler setting.

lola::vx::v2::MemoryTiming memory_timing

Memory timing settings.

haldls::vx::v2::PLLClockOutputBlock pll_clock_output_block

PLL clock output block setting.

haldls::vx::v2::ReferenceGeneratorConfig reference_generator_config

Generate usable reference current for the CapMem.

haldls::vx::ShiftRegister shift_register

Shift register on xBoard config.

haldls::vx::SynapseBiasSelection synapse_bias_selection

Select internal bias currents for synapses.

Private Functions

PlaybackGeneratorReturn< Result > generate () const SYMBOL_VISIBLE

Generate PlaybackProgramBuilder.

Returns

PlaybackGeneratorReturn instance with sequence embodied and specified Result value

Friends

friend auto generate(ExperimentInit const&)
class stadls::vx::v3::ExperimentInit : public stadls::vx::v3::detail::InitGenerator
#include <init_generator.h>

Generator for initialization required for typical experiments.

Uses the InitGenerator() to establish digital communication to the chip, and further initializes the CapMem in a working state and selects internal bias currents for synapses.

Public Types

typedef halco::common::typed_array<haldls::vx::ADPLL, halco::hicann_dls::vx::v3::ADPLLOnDLS> adplls_type

ADPLL setting.

typedef PlaybackProgramBuilder Builder

Builder typedef (e.g.

for usage in generators).

typedef halco::common::typed_array<haldls::vx::v3::CapMemBlockConfig, halco::hicann_dls::vx::v3::CapMemBlockConfigOnDLS> capmem_block_config_type

Initialize the CapMem with usable default values.

typedef halco::common::typed_array<haldls::vx::v3::CapMemBlock, halco::hicann_dls::vx::v3::CapMemBlockOnDLS> capmem_block_type

Set initial CapMem config.

By default, a value of zero is written to all cells.

typedef halco::common::typed_array<haldls::vx::v3::ColumnCorrelationQuad, halco::hicann_dls::vx::v3::ColumnCorrelationQuadOnDLS> column_correlation_quad_type

Set ColumnCorrelationQuad/Switch connections.

typedef halco::common::typed_array<haldls::vx::v3::ColumnCurrentQuad, halco::hicann_dls::vx::v3::ColumnCurrentQuadOnDLS> column_current_quad_type

Set ColumnCurrentQuad/Switch connections.

typedef halco::common::typed_array<haldls::vx::v3::CommonCorrelationConfig, halco::hicann_dls::vx::v3::CommonCorrelationConfigOnDLS> common_correlation_config_type

Set common correlation config.

typedef halco::common::typed_array<haldls::vx::CommonNeuronBackendConfig, halco::hicann_dls::vx::v3::CommonNeuronBackendConfigOnDLS> common_neuron_backend_config_type

Set common neuron backend with clocks enabled.

If clocks are disabled, it may behave strangely.

typedef detail::InitGenerator::Result Result

Public Functions

ExperimentInit () SYMBOL_VISIBLE

Default constructor.

Public Members

adplls_type adplls
capmem_block_config_type capmem_block_config
capmem_block_type capmem_config
column_correlation_quad_type column_correlation_quad_config
column_current_quad_type column_current_quad_config
common_correlation_config_type common_correlation_config
common_neuron_backend_config_type common_neuron_backend_config
lola::vx::DACChannelBlock dac_channel_block

DAC channel configs on xBoard.

lola::vx::DACControlBlock dac_control_block

DAC control config on xBoard.

bool enable_capmem

Select whether the CapMem should be enabled.

Note

The CapMem initialization requires highspeed access.

bool enable_highspeed_link

Enable Highspeed connection.

Note

Disabling this discards all highspeed related configuration.

bool enable_xboard

Enable xBoard DAC and shift register configuration.

Disabling this allows to discard unnecessary configuration when simulating.

Note

Disabling this discards all xBoard configuration

struct stadls::vx::v3::detail::InitGenerator::HighspeedLink highspeed_link
haldls::vx::JTAGClockScaler jtag_clock_scaler

JTAG clock scaler setting.

lola::vx::v3::MemoryTiming memory_timing

Memory timing settings.

haldls::vx::v3::PLLClockOutputBlock pll_clock_output_block

PLL clock output block setting.

haldls::vx::v3::ReferenceGeneratorConfig reference_generator_config

Generate usable reference current for the CapMem.

haldls::vx::ShiftRegister shift_register

Shift register on xBoard config.

haldls::vx::SynapseBiasSelection synapse_bias_selection

Select internal bias currents for synapses.

Private Functions

PlaybackGeneratorReturn< Result > generate () const SYMBOL_VISIBLE

Generate PlaybackProgramBuilder.

Returns

PlaybackGeneratorReturn instance with sequence embodied and specified Result value

Friends

friend auto generate(ExperimentInit const&)
struct stadls::vx::v2::detail::InitGenerator::HighspeedLink
#include <init_generator.h>

Public Types

typedef halco::common::typed_array<haldls::vx::PhyConfigChip, halco::hicann_dls::vx::v2::PhyConfigChipOnDLS> phy_configs_chip_type

Highspeed-link PHY settings for the chip side.

typedef halco::common::typed_array<haldls::vx::PhyConfigFPGA, halco::hicann_dls::vx::v2::PhyConfigFPGAOnDLS> phy_configs_fpga_type

Highspeed-link PHY settings for the FPGA side.

Public Functions

HighspeedLink () SYMBOL_VISIBLE

Default constructor.

Public Members

haldls::vx::CommonPhyConfigChip common_phy_config_chip

Highspeed-link PHY enable values for the chip side.

haldls::vx::CommonPhyConfigFPGA common_phy_config_fpga

Highspeed-link PHY enable values for the FPGA side.

bool enable_systime

Enable systime synchronization.

Note

Disabling this discards all systime related configuration, i.e. setting the SystimeSyncBase and initiating the time hand-shake between the chip and the FPGA. This leads to no time annotation being present in the response stream.

phy_configs_chip_type phy_configs_chip
phy_configs_fpga_type phy_configs_fpga
haldls::vx::SystimeSyncBase systime_sync_base

Systime synchronization base value.

struct stadls::vx::v3::detail::InitGenerator::HighspeedLink
#include <init_generator.h>

Public Types

typedef halco::common::typed_array<haldls::vx::PhyConfigChip, halco::hicann_dls::vx::v3::PhyConfigChipOnDLS> phy_configs_chip_type

Highspeed-link PHY settings for the chip side.

typedef halco::common::typed_array<haldls::vx::PhyConfigFPGA, halco::hicann_dls::vx::v3::PhyConfigFPGAOnDLS> phy_configs_fpga_type

Highspeed-link PHY settings for the FPGA side.

Public Functions

HighspeedLink () SYMBOL_VISIBLE

Default constructor.

Public Members

haldls::vx::CommonPhyConfigChip common_phy_config_chip

Highspeed-link PHY enable values for the chip side.

haldls::vx::CommonPhyConfigFPGA common_phy_config_fpga

Highspeed-link PHY enable values for the FPGA side.

bool enable_systime

Enable systime synchronization.

Note

Disabling this discards all systime related configuration, i.e. setting the SystimeSyncBase and initiating the time hand-shake between the chip and the FPGA. This leads to no time annotation being present in the response stream.

phy_configs_chip_type phy_configs_chip
phy_configs_fpga_type phy_configs_fpga
haldls::vx::SystimeSyncBase systime_sync_base

Systime synchronization base value.

class stadls::vx::v2::detail::InitGenerator
#include <init_generator.h>

Subclassed by stadls::vx::v2::DigitalInit, stadls::vx::v2::ExperimentInit

Public Types

typedef halco::common::typed_array<haldls::vx::ADPLL, halco::hicann_dls::vx::v2::ADPLLOnDLS> adplls_type

ADPLL setting.

typedef v2::PlaybackProgramBuilder Builder

Builder typedef (e.g.

for usage in generators).

typedef halco::common::typed_array<haldls::vx::v2::CapMemBlockConfig, halco::hicann_dls::vx::v2::CapMemBlockConfigOnDLS> capmem_block_config_type

Initialize the CapMem with usable default values.

typedef halco::common::typed_array<haldls::vx::v2::CapMemBlock, halco::hicann_dls::vx::v2::CapMemBlockOnDLS> capmem_block_type

Set initial CapMem config.

By default, a value of zero is written to all cells.

typedef hate::Nil Result

Public Functions

InitGenerator () SYMBOL_VISIBLE

Default constructor.

Public Members

adplls_type adplls
capmem_block_config_type capmem_block_config
capmem_block_type capmem_config
lola::vx::DACChannelBlock dac_channel_block

DAC channel configs on xBoard.

lola::vx::DACControlBlock dac_control_block

DAC control config on xBoard.

bool enable_capmem

Select whether the CapMem should be enabled.

Note

The CapMem initialization requires highspeed access.

bool enable_highspeed_link

Enable Highspeed connection.

Note

Disabling this discards all highspeed related configuration.

bool enable_xboard

Enable xBoard DAC and shift register configuration.

Disabling this allows to discard unnecessary configuration when simulating.

Note

Disabling this discards all xBoard configuration

struct stadls::vx::v2::detail::InitGenerator::HighspeedLink highspeed_link
haldls::vx::JTAGClockScaler jtag_clock_scaler

JTAG clock scaler setting.

lola::vx::v2::MemoryTiming memory_timing

Memory timing settings.

haldls::vx::v2::PLLClockOutputBlock pll_clock_output_block

PLL clock output block setting.

haldls::vx::v2::ReferenceGeneratorConfig reference_generator_config

Generate usable reference current for the CapMem.

haldls::vx::ShiftRegister shift_register

Shift register on xBoard config.

haldls::vx::SynapseBiasSelection synapse_bias_selection

Select internal bias currents for synapses.

Protected Functions

PlaybackGeneratorReturn< Result > generate () const SYMBOL_VISIBLE

Generate PlaybackProgramBuilder.

Returns

PlaybackGeneratorReturn instance with sequence embodied and specified Result value

Friends

friend std::ostream & operator<< (std::ostream &os, InitGenerator const &sequence) SYMBOL_VISIBLE
friend auto generate(InitGenerator const&)
class stadls::vx::v3::detail::InitGenerator
#include <init_generator.h>

Subclassed by stadls::vx::v3::DigitalInit, stadls::vx::v3::ExperimentInit

Public Types

typedef halco::common::typed_array<haldls::vx::ADPLL, halco::hicann_dls::vx::v3::ADPLLOnDLS> adplls_type

ADPLL setting.

typedef v3::PlaybackProgramBuilder Builder

Builder typedef (e.g.

for usage in generators).

typedef halco::common::typed_array<haldls::vx::v3::CapMemBlockConfig, halco::hicann_dls::vx::v3::CapMemBlockConfigOnDLS> capmem_block_config_type

Initialize the CapMem with usable default values.

typedef halco::common::typed_array<haldls::vx::v3::CapMemBlock, halco::hicann_dls::vx::v3::CapMemBlockOnDLS> capmem_block_type

Set initial CapMem config.

By default, a value of zero is written to all cells.

typedef hate::Nil Result

Public Functions

InitGenerator () SYMBOL_VISIBLE

Default constructor.

Public Members

adplls_type adplls
capmem_block_config_type capmem_block_config
capmem_block_type capmem_config
lola::vx::DACChannelBlock dac_channel_block

DAC channel configs on xBoard.

lola::vx::DACControlBlock dac_control_block

DAC control config on xBoard.

bool enable_capmem

Select whether the CapMem should be enabled.

Note

The CapMem initialization requires highspeed access.

bool enable_highspeed_link

Enable Highspeed connection.

Note

Disabling this discards all highspeed related configuration.

bool enable_xboard

Enable xBoard DAC and shift register configuration.

Disabling this allows to discard unnecessary configuration when simulating.

Note

Disabling this discards all xBoard configuration

struct stadls::vx::v3::detail::InitGenerator::HighspeedLink highspeed_link
haldls::vx::JTAGClockScaler jtag_clock_scaler

JTAG clock scaler setting.

lola::vx::v3::MemoryTiming memory_timing

Memory timing settings.

haldls::vx::v3::PLLClockOutputBlock pll_clock_output_block

PLL clock output block setting.

haldls::vx::v3::ReferenceGeneratorConfig reference_generator_config

Generate usable reference current for the CapMem.

haldls::vx::ShiftRegister shift_register

Shift register on xBoard config.

haldls::vx::SynapseBiasSelection synapse_bias_selection

Select internal bias currents for synapses.

Protected Functions

PlaybackGeneratorReturn< Result > generate () const SYMBOL_VISIBLE

Generate PlaybackProgramBuilder.

Returns

PlaybackGeneratorReturn instance with sequence embodied and specified Result value

Friends

friend std::ostream & operator<< (std::ostream &os, InitGenerator const &sequence) SYMBOL_VISIBLE
friend auto generate(InitGenerator const&)
template<typename Builder, typename Result>
struct stadls::vx::PlaybackGeneratorReturn
#include <playback_generator.h>

Return type of generate() call on playback sequence.

Allows named access to generated PlaybackProgramBuilder and to be specified Result value.

tparam Result

Result data structure, e.g. read-ticket data

Public Members

Builder builder
Result result
class stadls::vx::PlaybackProgram
#include <playback_program.h>

Sequential stream of executable instructions for the executor and result-container for event response data during execution.Get MADC samples as 2D matrix, i.e.

numpy array(s).

Note

We expose the data as a flat numpy DTYPE with the same data layout as the underlying MADCSampleFromChipDType type.

Public Types

typedef ::stadls::vx::PlaybackProgram::spikes_type _values_type

  • This version exposes with 3 columns: * chip time, neuron label, and spl1 address

typedef fisch::vx::FPGATime fpga_time_type
typedef fisch::vx::PlaybackProgram::madc_sample_pack_counts_type madc_sample_pack_counts_type
typedef std::vector<haldls::vx::MADCSampleFromChip> madc_samples_type
typedef fisch::vx::PlaybackProgram::spike_pack_counts_type spike_pack_counts_type
typedef std::vector<haldls::vx::SpikeFromChip> spikes_type

Public Functions

PlaybackProgram () SYMBOL_VISIBLE

Default constructor.

attr attr ("to_numpy")
bool empty () const SYMBOL_VISIBLE

Get whether program is empty, i.e.

does not feature any commands to be sent.

Returns

Boolean value

highspeed_link_notifications_type get_highspeed_link_notifications () const SYMBOL_VISIBLE

Get vector of time-annotated highspeed-link notifications.

Returns

Vector of notifications

madc_samples_type get_madc_samples () const SYMBOL_VISIBLE

Get vector of time-annotated MADC sample events.

Returns

Vector of sample events

madc_sample_pack_counts_type const  & get_madc_samples_pack_counts () const SYMBOL_VISIBLE

Get number of occurences of MADC sample packing from chip.

Returns

Array of packing occurences

spikes_type get_spikes () const SYMBOL_VISIBLE

Get vector of time-annotated spike events.

Returns

Vector of spike events

spike_pack_counts_type const  & get_spikes_pack_counts () const SYMBOL_VISIBLE

Get number of occurences of spike packing from chip.

Returns

Array of packing occurences

std::unordered_set< hxcomm::vx::Target > const  & get_unsupported_targets () const SYMBOL_VISIBLE

Get set of unsupported targets.

Returns

Set of target restictions

bool operator!= (PlaybackProgram const &other) const SYMBOL_VISIBLE
bool operator== (PlaybackProgram const &other) const SYMBOL_VISIBLE
pybind11::bind_vector (parent, "spikes_type")

Get spikes as 2D matrix, i.e.

numpy array(s).

Note

We expose the data as a flat numpy DTYPE with the same data layout as the underlying SpikeFromChipDType type.

Public Members

auto ism = parent->py::is_method(attr)

Friends

friend std::ostream & operator<< (std::ostream &os, PlaybackProgram const &program) SYMBOL_VISIBLE
template<typename BuilderStorage, typename DoneType, template<typename> class CoordinateToContainer>
class stadls::vx::detail::PlaybackProgramBuilderAdapter
#include <playback_program_builder.h>

Sequential PlaybackProgram builder.

Public Types

typedef BuilderStorage Builder
typedef hate::type_list<::stadls::vx::v2::Dumper> dumper_types

Public Functions

PlaybackProgramBuilderAdapter()

Construct builder.

PlaybackProgramBuilderAdapter(PlaybackProgramBuilderAdapter &&other)
PlaybackProgramBuilderAdapter(PlaybackProgramBuilderAdapter const&) = delete
~PlaybackProgramBuilderAdapter()
void block_until(halco::hicann_dls::vx::BarrierOnFPGA const &coord, haldls::vx::Barrier sync)

Add instruction to block execution until specified barrier is completed.

Parameters
  • coord – Barrier coordinate for which to block

  • sync – Barrier value for which to block execution

void block_until(halco::hicann_dls::vx::PollingOmnibusBlockOnFPGA const &coord, haldls::vx::PollingOmnibusBlock sync)
void block_until(typename haldls::vx::Timer::coordinate_type const &coord, haldls::vx::Timer::Value time)

Add instruction to block execution until specified timer has reached specified value.

Parameters
  • coord – Timer coordinate for which to block

  • time – Timer value until which to block execution

void copy_back(BuilderStorage const &other)

Copy BuilderStorage to the end of this builder instance.

The copied-from storage is untouched during the process.

Throws

std::runtime_error – On other builder not being write only

Parameters

other – BuilderStorage to copy to this instance at the back

void copy_back(PlaybackProgramBuilderAdapter const &other)

Copy other PlaybackProgramBuilderAdapter to the end of this builder instance.

The copied-from builder is untouched during the process.

Throws

std::runtime_error – On other builder not being write only

Parameters

other – Builder to copy to this instance at the back

parent def ("__str__", [](GENPYBIND_PARENT_TYPE const &p) { std::stringstream ss;ss<< p;return ss.str();})
DoneType done()

Close PlaybackProgram build process and return executable program.

Returns

Executable PlaybackProgram

inline constexpr if (hate::is_in_type_list< typename std::decay< decltype(p)>::type::Builder, dumper_types >::value)
void merge_back(BuilderStorage &&other)

Merge BuilderStorage to the end of this builder instance.

The moved-from storage is emptied during the process.

Parameters

other – BuilderStorage to move to this instance at the back

void merge_back(BuilderStorage &other)

Merge BuilderStorage to the end of this builder instance.

The moved-from storage is emptied during the process.

Parameters

other – BuilderStorage to move to this instance at the back

void merge_back(PlaybackProgramBuilderAdapter &&other)

Merge other PlaybackProgramBuilderAdapter to the end of this builder instance.

The moved-from builder is emptied during the process.

Parameters

other – Builder to move to this instance at the back

void merge_back(PlaybackProgramBuilderAdapter &other)

Merge other PlaybackProgramBuilderAdapter to the end of this builder instance.

The moved-from builder is emptied during the process.

Parameters

other – Builder to move to this instance at the back

PlaybackProgramBuilderAdapter &operator=(PlaybackProgramBuilderAdapter &&other)
template<typename CoordinateType>
PlaybackProgram::ContainerTicket<typename CoordinateToContainer<CoordinateType>::type> read(CoordinateType const &coord)

Add instructions to read container data from given location.

The container’s default backend is used.

Note

This function without backend parameter is needed due to python wrapping not being able to handle templated default arguments.

Parameters

coord – Coordinate value selecting location

template<typename CoordinateType>
PlaybackProgram::ContainerTicket<typename CoordinateToContainer<CoordinateType>::type> read(CoordinateType const &coord, haldls::vx::Backend backend)

Add instructions to read container data from given location.

Parameters
  • coord – Coordinate value selecting location

  • backend – Backend selection

return ss str ()
void wait_until(typename haldls::vx::Timer::coordinate_type const &coord, haldls::vx::Timer::Value time)

Add instruction to block execution until specified timer has reached specified value.

Deprecated:

In favor of block_until

Parameters
  • coord – Timer coordinate for which to wait

  • time – Timer value until which to block execution

template<typename Type>
void write(typename Type::coordinate_type const &coord, Type const &config)

Add instructions to write given container to given location.

The container’s default backend is used.

Note

This function without backend parameter is needed due to python wrapping not being able to handle templated default arguments.

Parameters
  • coord – Coordinate value selecting location

  • config – Container configuration data

template<typename Type>
void write(typename Type::coordinate_type const &coord, Type const &config, haldls::vx::Backend backend)

Add instructions to write given container to given location.

Parameters
  • coord – Coordinate value selecting location

  • config – Container configuration data

  • backend – Backend selection

template<typename Type>
void write(typename Type::coordinate_type const &coord, Type const &config, Type const &config_reference)

Add instructions to write given container to given location.

The container’s default backend is used.

Note

This function without backend parameter is needed due to python wrapping not being able to handle templated default arguments.

Parameters
  • coord – Coordinate value selecting location

  • config – Container configuration data

  • config_reference – Reference configuration for differential write

template<typename Type>
void write(typename Type::coordinate_type const &coord, Type const &config, Type const &config_reference, haldls::vx::Backend backend)

Add instructions to write given container to given location.

Parameters
  • coord – Coordinate value selecting location

  • config – Container configuration data

  • config_reference – Reference configuration for differential write

  • backend – Backend selection

Public Members

else   = { ss << "PlaybackProgramBuilder(to FPGA size: " << p.size_to_fpga()        << ", is write only: " << std::boolalpha << p.is_write_only() << ")"

Friends

template<typename T, typename U, template<typename> class C>
friend std::ostream &operator<<(std::ostream &os, PlaybackProgramBuilderAdapter<T, U, C> const &builder)
template<typename, typename, template<typename> class>
class PlaybackProgramBuilderAdapterImpl
template<typename T>
struct stadls::ReadAddressVisitor
#include <visitors.h>

Extract addresses for reading from hardware for the visited containers.

Each container can provide addresses via a read_addresses member function or via a addresses member function in case the addresses for reading and writing are the same. Containers that do not themselves contain data to be read from the hardware (i.e. containers of containers) can alternatively be tagged via

typedef std::false_type has_local_data;

Public Functions

template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const&, ContainerT const&) -> typename std::enable_if<!ContainerT::has_local_data::value>::type
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const &coord, ContainerT const &container) -> decltype(container.addresses(coord), void())
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const &coord, ContainerT const &container) -> decltype(container.read_addresses(coord), void())
template<typename CoordinateT, typename ContainerT> inline auto operator() (CoordinateT const &coord, ContainerT const &container) -> decltype(container.template addresses< typename T::value_type >(coord), void())
template<typename CoordinateT, typename ContainerT> inline auto operator() (CoordinateT const &coord, ContainerT const &container) -> decltype(container.template read_addresses< typename T::value_type >(coord), void())

Public Members

T &addresses
class stadls::vx::ReinitStackEntry
#include <reinit_stack_entry.h>

Public Functions

ReinitStackEntry() = delete
template<typename Connection>
ReinitStackEntry(Connection &connection)
ReinitStackEntry(ReinitStackEntry&&) = default
ReinitStackEntry(ReinitStackEntry const&) = delete
~ReinitStackEntry () SYMBOL_VISIBLE
void enforce () SYMBOL_VISIBLE
ReinitStackEntry &operator=(ReinitStackEntry&&) = default
void pop () SYMBOL_VISIBLE
void set (PlaybackProgram const &pbmem_request, std::optional< PlaybackProgram > const &pbmem_snapshot=std::nullopt, bool enforce=true) SYMBOL_VISIBLE

Set and maybe enforce reinit stack entry value.

Parameters
  • pbmem_request – Playback program to be executed once a reinit is required.

  • pbmem_snapshot – Playback program to be executed once the exclusive access to the hardware is relinquished. All read commands within this program are translated to writes and replace the pbmem_request for future reinit operations. This is to be used to snapshot (parts of) the current state of the hardware prior to releasing the exclusive access to other users and be able to reapply this state at the next reinit operation without need for client-side synchronisation and transform of the read-out data. Currently only Omnibus read -> write operations are supported.

  • enforce – Whether to directly apply the pbmem_request or only apply it during the next reinit.

Private Members

std::unique_ptr<Impl> m_impl
template<typename BackendContainerTypeList>
struct to_ticket_variant
template<typename ...BackendContainer>
struct stadls::vx::detail::to_ticket_variant<hate::type_list<BackendContainer...>>
#include <playback_program.h>

Public Types

boost::variant< fisch::vx::ContainerTicket< decltype(fisch::vx::container_cast(std::declval< BackendContainer >)))>... > type
template<typename T>
struct stadls::WriteAddressVisitor
#include <visitors.h>

Extract addresses for writing to hardware for the visited containers.

Each container can provide addresses via a write_addresses member function or via a addresses member function in case the addresses for reading and writing are the same. Containers that do not themselves contain data to be written to the hardware (i.e. containers of containers) can alternatively be tagged via

typedef std::false_type has_local_data;

Public Functions

template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const&, ContainerT const&) -> typename std::enable_if<!ContainerT::has_local_data::value>::type
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const &coord, ContainerT const &container) -> decltype(container.addresses(coord), void())
template<typename CoordinateT, typename ContainerT> inline auto operator() (CoordinateT const &coord, ContainerT const &container) -> decltype(container.template addresses< typename T::value_type >(coord), void())
template<typename CoordinateT, typename ContainerT> inline auto operator() (CoordinateT const &coord, ContainerT const &container) -> decltype(container.template write_addresses< typename T::value_type >(coord), void())
template<typename CoordinateT, typename ContainerT>
inline auto operator()(CoordinateT const &coord, ContainerT const &container) -> decltype(container.write_addresses(coord), void())

Public Members

T &addresses
namespace fisch
namespace vx
namespace stadls
namespace stadls::vx

Typedefs

typedef fisch::vx::RunTimeInfo RunTimeInfo

Functions

attr attr ("to_numpy")
lola::vx::v2::Chip convert_to_chip (DumperDone const &dumperdone) SYMBOL_VISIBLE

Convert the dumper result to a Chip config.

This conversion is not bijective.

Parameters

dumperdone – Dumper result

lola::vx::v2::Chip convert_to_chip (DumperDone const &dumperdone, lola::vx::v2::Chip const &previous) SYMBOL_VISIBLE

Convert the dumper result to a Chip config.

This conversion is not bijective.

Parameters
  • dumperdone – Dumper result

  • previous – Optional previous ChipConfig to apply changes to

lola::vx::v3::Chip convert_to_chip (DumperDone const &dumperdone, lola::vx::v3::Chip const &previous) SYMBOL_VISIBLE

Convert the dumper result to a Chip config.

This conversion is not bijective.

Parameters
  • dumperdone – Dumper result

  • previous – Optional previous ChipConfig to apply changes to

template<>
inline void decode_ones(haldls::vx::CHIP_REVISION_STR::CapMemBlockConfig&)
template<>
inline void decode_ones(lola::vx::CHIP_REVISION_STR::CapMem&)
template<class T>
inline void decode_ones(T &config)

Decode data with all bits set to one into a container.

Template Parameters

T – Container type

Returns

Filled container

template<>
inline void decode_random(std::mt19937 &gen, haldls::vx::CHIP_REVISION_STR::CapMemBlockConfig &config)
template<>
inline void decode_random(std::mt19937 &gen, haldls::vx::JTAGIdCode &config)
template<>
inline void decode_random(std::mt19937 &gen, lola::vx::CHIP_REVISION_STR::CapMem &config)
template<>
inline void decode_random(std::mt19937 &gen, lola::vx::v2::Chip &config)
template<>
inline void decode_random(std::mt19937 &gen, lola::vx::v3::Chip &config)
template<class T>
inline void decode_random(std::mt19937 &gen, T &config)

Decode random data into a container.

Template Parameters

T – Container type

Parameters

gen – RNG

Returns

randomly filled container

template<typename Seq>
auto generate(Seq const &seq)

Generate function to be called on an object implementing the PlaybackGenerator concept.

The PlaybackGenerator concept for a type Generator is comprised of having a nested Result type and a constant function with signature PlaybackGeneratorReturn<Generator::Result> generate() const;.

pybind11::bind_vector< stadls::vx::PlaybackProgram::madc_samples_type > (parent, "madc_samples_type")
template<typename Connection>
RunTimeInfo run(Connection &connection, PlaybackProgram &&program)

Transfer and execute the given playback program and fetch results.

Template Parameters

Connection – Connection type to be used for running the program

Parameters
  • connection – Connection instance to be used for running the program

  • programPlaybackProgram to run

Returns

Run time information

template<typename Connection>
RunTimeInfo run(Connection &connection, PlaybackProgram &program)

Transfer and execute the given playback program and fetch results.

Template Parameters

Connection – Connection type to be used for running the program

Parameters
  • connection – Connection instance to be used for running the program

  • programPlaybackProgram to run

Returns

Run time information

template<typename Connection>
RunTimeInfo run(Connection &connection, std::shared_ptr<fisch::vx::PlaybackProgram> const &program)

Transfer and execute the given fisch playback program and fetch results.

Template Parameters

Connection – Connection type to be used for running the program

Parameters
  • connection – Connection instance to be used for running the program

  • programPlaybackProgram to run

Returns

Run time information

Variables

auto attr = parent.attr("madc_samples_type")
auto ism = parent->py::is_method(attr)
constexpr size_t playback_memory_size_to_fpga = fisch::vx::playback_memory_size_to_fpga

Playback memory FIFO size on FPGA in instructions for playback execution.

auto const to_numpy = [](_values_type const& self) { pybind11::array_t<haldls::vx::MADCSampleFromChip::MADCSampleFromChipDType> ret(         {static_cast<pybind11::ssize_t>(self.size())},         reinterpret_cast<             haldls::vx::MADCSampleFromChip::MADCSampleFromChipDType const*>(             self.data())); return ret; }
namespace stadls::vx::detail

Typedefs

typedef detail::PlaybackProgramBuilderAdapterImpl<BuilderStorage, DoneType, CoordinateToContainer> Impl

Functions

template<typename T>
size_t count_decoding_words(T const &config)

Get number of words expected for decoding.

Template Parameters

T – Container type

Parameters

Container

Returns

Number of words for default backend

template<typename BuilderStorage, typename DoneType, template< typename > class CoordinateToContainer> class SYMBOL_VISIBLE stadls::vx::detail::PlaybackProgramBuilderAdapter empty () const

Get whether builder is empty, i.e.

no instructions are embodied.

Returns

Boolean value

template<typename T>
T::coordinate_type get_coord(T const &config)

Get coordinate matching container, e.g.

with respect to size.

Template Parameters

T – Container type

Parameters

Container

Returns

Coordinate

bool is_write_only() const

Get whether builder only stores write instructions.

Returns

Boolean value

template SYMBOL_VISIBLE std::ostream & operator<< (std::ostream &, PlaybackProgramBuilderAdapter< fisch::vx::PlaybackProgramBuilder, stadls::vx::PlaybackProgram, stadls::vx::v2::CoordinateToContainer > const &)
template SYMBOL_VISIBLE std::ostream & operator<< (std::ostream &, PlaybackProgramBuilderAdapter< fisch::vx::PlaybackProgramBuilder, stadls::vx::PlaybackProgram, stadls::vx::v3::CoordinateToContainer > const &)
template SYMBOL_VISIBLE std::ostream & operator<< (std::ostream &, PlaybackProgramBuilderAdapter< stadls::vx::v2::Dumper, stadls::vx::v2::Dumper::done_type, stadls::vx::v2::CoordinateToContainer > const &)
template SYMBOL_VISIBLE std::ostream & operator<< (std::ostream &, PlaybackProgramBuilderAdapter< stadls::vx::v3::Dumper, stadls::vx::v3::Dumper::done_type, stadls::vx::v3::CoordinateToContainer > const &)
template<typename T> std::ostream & operator<< (std::ostream &os, Dumper< T > const &builder) SYMBOL_VISIBLE
Returns

Altered ostream

template<typename T, typename U, template< typename > class C> std::ostream & operator<< (std::ostream &os, PlaybackProgramBuilderAdapter< T, U, C > const &builder) SYMBOL_VISIBLE
template<class Archive>
void serialize(Archive &ar, std::uint32_t const version)
size_t size_to_fpga() const

Get number of UT messages to FPGA.

Returns

Size

Variables

std::unique_ptr<BuilderStorage> m_builder_impl
std::unordered_set<hxcomm::vx::Target> m_unsupported_targets
namespace stadls::vx::v2

Typedefs

hate::type_list<#define PLAYBACK_CONTAINER(Name, Type) # 13 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v2/coordinate_to_container.h" 2#define LAST_PLAYBACK_CONTAINER(Name, Type) #define PLAYBACK_CONTAINER(Name, Type) # 16 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v2/coordinate_to_container.h" 2 > container_list

List of container types used to resolve a container type from a coordinate type.

hate::type_list<#define PLAYBACK_CONTAINER(Name, Type) # 25 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v2/coordinate_to_container.h" 2#define LAST_PLAYBACK_CONTAINER(Name, Type) #define PLAYBACK_CONTAINER(Name, Type) # 28 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v2/coordinate_to_container.h" 2 > coordinate_list

List of coordinate types sorted the same way as the container list.

using Dumper = stadls::vx::detail::Dumper<DumperDone>
template<typename Result>
using PlaybackGeneratorReturn = stadls::vx::PlaybackGeneratorReturn<PlaybackProgramBuilder, Result>
using PlaybackProgram = stadls::vx::PlaybackProgram
using PlaybackProgramBuilder = detail::PlaybackProgramBuilderAdapter<fisch::vx::PlaybackProgramBuilder, PlaybackProgram, CoordinateToContainer>
using PlaybackProgramBuilderDumper = detail::PlaybackProgramBuilderAdapter<Dumper, Dumper::done_type, CoordinateToContainer>
typedef stadls::vx::ReinitStackEntry ReinitStackEntry

Functions

PlaybackProgramBuilder convert_to_builder (Dumper::done_type const &cocos) SYMBOL_VISIBLE

Convert a sequence of coordinate container pairs to a PlaybackProgramBuilder.

Parameters

cocos – Coordinate-Container pair sequence

PlaybackProgramBuilder convert_to_builder (PlaybackProgramBuilderDumper &&dumper) SYMBOL_VISIBLE

Convert a PlaybackProgramBuilderDumper to a PlaybackProgramBuilder (rvalue reference overload).

The dumper is emptied during the process.

Parameters

dumper – Dumper to convert

PlaybackProgramBuilder convert_to_builder (PlaybackProgramBuilderDumper &dumper) SYMBOL_VISIBLE

Convert a PlaybackProgramBuilderDumper to a PlaybackProgramBuilder.

The dumper is emptied during the process.

Parameters

dumper – Dumper to convert

wrapped def ("pop", &ReinitStackEntry::pop)
wrapped def ("set", &ReinitStackEntry::set, pybind11::arg("pbmem_request"), pybind11::arg("pbmem_snapshot")=std::nullopt, pybind11::arg("enforce")=true)
template<typename ...Ts>
auto generate(Ts&&... args) -> decltype(stadls::vx::generate(std::forward<Ts>(args)...))
template<typename ...Ts>
auto run(Ts&&... args) -> decltype(stadls::vx::run(std::forward<Ts>(args)...))
template<typename Archive>
void serialize(Archive &ar, std::uint32_t)

Variables

struct stadls::vx::v2::DumperDone access
::pyhxcomm::vx::reinit_stack_entry_unroll_helper<decltype(wrapped)> helper = {wrapped}
const override   = { PYBIND11_OVERLOAD_PURE(pybind11::tuple, ::stadls::vx::PlaybackGenerator, generate, )
namespace detail
namespace stadls::vx::v3

Typedefs

hate::type_list<#define PLAYBACK_CONTAINER(Name, Type) # 13 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v3/coordinate_to_container.h" 2#define LAST_PLAYBACK_CONTAINER(Name, Type) #define PLAYBACK_CONTAINER(Name, Type) # 16 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v3/coordinate_to_container.h" 2 > container_list

List of container types used to resolve a container type from a coordinate type.

hate::type_list<#define PLAYBACK_CONTAINER(Name, Type) # 25 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v3/coordinate_to_container.h" 2#define LAST_PLAYBACK_CONTAINER(Name, Type) #define PLAYBACK_CONTAINER(Name, Type) # 28 "/jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v3/coordinate_to_container.h" 2 > coordinate_list

List of coordinate types sorted the same way as the container list.

using Dumper = stadls::vx::detail::Dumper<DumperDone>
template<typename Result>
using PlaybackGeneratorReturn = stadls::vx::PlaybackGeneratorReturn<PlaybackProgramBuilder, Result>
using PlaybackProgram = stadls::vx::PlaybackProgram
using PlaybackProgramBuilder = detail::PlaybackProgramBuilderAdapter<fisch::vx::PlaybackProgramBuilder, PlaybackProgram, CoordinateToContainer>
using PlaybackProgramBuilderDumper = detail::PlaybackProgramBuilderAdapter<Dumper, Dumper::done_type, CoordinateToContainer>
typedef stadls::vx::ReinitStackEntry ReinitStackEntry

Functions

PlaybackProgramBuilder convert_to_builder (Dumper::done_type const &cocos) SYMBOL_VISIBLE

Convert a sequence of coordinate container pairs to a PlaybackProgramBuilder.

Parameters

cocos – Coordinate-Container pair sequence

PlaybackProgramBuilder convert_to_builder (PlaybackProgramBuilderDumper &&dumper) SYMBOL_VISIBLE

Convert a PlaybackProgramBuilderDumper to a PlaybackProgramBuilder (rvalue reference overload).

The dumper is emptied during the process.

Parameters

dumper – Dumper to convert

PlaybackProgramBuilder convert_to_builder (PlaybackProgramBuilderDumper &dumper) SYMBOL_VISIBLE

Convert a PlaybackProgramBuilderDumper to a PlaybackProgramBuilder.

The dumper is emptied during the process.

Parameters

dumper – Dumper to convert

wrapped def ("pop", &ReinitStackEntry::pop)
wrapped def ("set", &ReinitStackEntry::set, pybind11::arg("pbmem_request"), pybind11::arg("pbmem_snapshot")=std::nullopt, pybind11::arg("enforce")=true)
template<typename ...Ts>
auto generate(Ts&&... args) -> decltype(stadls::vx::generate(std::forward<Ts>(args)...))
template<typename ...Ts>
auto run(Ts&&... args) -> decltype(stadls::vx::run(std::forward<Ts>(args)...))
template<typename Archive>
void serialize(Archive &ar, std::uint32_t)

Variables

struct stadls::vx::v3::DumperDone access
::pyhxcomm::vx::reinit_stack_entry_unroll_helper<decltype(wrapped)> helper = {wrapped}
const override   = { PYBIND11_OVERLOAD_PURE(pybind11::tuple, ::stadls::vx::PlaybackGenerator, generate, )
namespace detail
namespace std

STL namespace.

file visitors.h
#include <algorithm>#include <array>#include <iterator>#include <stdexcept>#include <utility>
file constants.h
#include “fisch/vx/constants.h”
file decode.h
#include <limits>#include <random>#include “fisch/vx/container.h”#include “fisch/vx/container_cast.h”#include “fisch/vx/fill.h”#include “halco/hicann-dls/vx/capmem.h”#include “halco/hicann-dls/vx/ppu.h”#include “haldls/vx/common.h”#include “haldls/vx/jtag.h”#include “haldls/vx/traits.h”#include “lola/vx/capmem.h”#include “stadls/visitors.h”#include “haldlsID(/)vxID(/)vID(CHIP_REVISION)/capmem.h”

Defines

CONCAT(w, x, y, z)
ID(x)
STR(x)
XSTR(x)
file decode.h
#include “stadls/vx/decode.h”#include “lola/vx/v2/chip.h”

Defines

CHIP_REVISION
file decode.h
#include “stadls/vx/decode.h”#include “lola/vx/v3/chip.h”

Defines

CHIP_REVISION
file dumper.h
#include “halco/hicann-dls/vx/barrier.h”#include “halco/hicann-dls/vx/omnibus.h”#include “haldls/vx/barrier.h”#include “haldls/vx/block.h”#include “haldls/vx/timer.h”#include “hate/visibility.h”#include “stadls/vx/playback_program.h”
file dumper.h
#include “haldls/cerealization.h”#include “haldls/vx/v2/container.h”#include “lola/vx/v2/container.h”#include “stadls/vx/dumper.h”#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_program_builder.h”#include “stadls/vx/v2/coordinate_to_container.h”#include “stadls/vx/v2/dumperdone.h”#include “haldls/vx/v2/container.def”#include “lola/vx/v2/container.def”

Defines

PLAYBACK_CONTAINER(_Name, Type)
PLAYBACK_CONTAINER(_Name, Type)
file dumper.h
#include “haldls/cerealization.h”#include “haldls/vx/v3/container.h”#include “lola/vx/v3/container.h”#include “stadls/vx/dumper.h”#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_program_builder.h”#include “stadls/vx/v3/coordinate_to_container.h”#include “stadls/vx/v3/dumperdone.h”#include “haldls/vx/v3/container.def”#include “lola/vx/v3/container.def”

Defines

PLAYBACK_CONTAINER(_Name, Type)
PLAYBACK_CONTAINER(_Name, Type)
file genpybind.h
#include <genpybind.h>

Defines

GENPYBIND_TAG_STADLS_VX
GENPYBIND_TAG_STADLS_VX_V2
GENPYBIND_TAG_STADLS_VX_V3
file playback_generator.h
#include “hate/nil.h”#include “hate/type_traits.h”#include “hate/visibility.h”#include “stadls/vx/genpybind.h”
file playback_generator.h
#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_generator.h”#include “stadls/vx/v2/playback_program_builder.h”

Functions

parent py::template class_<::stadls::vx::PlaybackGenerator, PyPlaybackGenerator > (parent, "PlaybackGenerator") .def(parent -> py::template init<>()) .def("generate", &::stadls::vx::PlaybackGenerator::generate)
parent def ("generate", [](::stadls::vx::PlaybackGenerator const &self) { return self.generate();}, pybind11::return_value_policy::move)
file playback_generator.h
#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_generator.h”#include “stadls/vx/v3/playback_program_builder.h”

Functions

parent py::template class_<::stadls::vx::PlaybackGenerator, PyPlaybackGenerator > (parent, "PlaybackGenerator") .def(parent -> py::template init<>()) .def("generate", &::stadls::vx::PlaybackGenerator::generate)
parent def ("generate", [](::stadls::vx::PlaybackGenerator const &self) { return self.generate();}, pybind11::return_value_policy::move)
file playback_program.h
#include <cstdint>#include <memory>#include <optional>#include <string>#include <vector>#include <boost/variant.hpp>#include “fisch/vx/container_cast.h”#include “fisch/vx/container_ticket.h”#include “fisch/vx/playback_program.h”#include “haldls/cerealization.h”#include “haldls/vx/common.h”#include “haldls/vx/event.h”#include “hate/type_list.h”#include “hate/visibility.h”#include “hxcomm/vx/target.h”#include “stadls/vx/genpybind.h”#include “stadls/vx/run_time_info.h”

Functions

PlaybackProgram (std::shared_ptr< fisch::vx::PlaybackProgram > const &program_impl, std::unordered_set< hxcomm::vx::Target > unsupported_targets) SYMBOL_VISIBLE

Construct PlaybackProgram from implementation.

Used in PlaybackProgramBuilderAdapter

Parameters
  • program_impl – Implementation playback program

  • unsupported_targets – Build-imposed restrictions on targets

template<typename Connection>
RunTimeInfo run(Connection&, PlaybackProgram&)
template<typename Archive>
void serialize(Archive &ar, uint32_t)

Variables

std::shared_ptr<fisch::vx::PlaybackProgram> m_program_impl
std::unordered_set<hxcomm::vx::Target> m_unsupported_targets
friend ReinitStackEntry
file playback_program.h
#include “haldls/vx/v2/container.h”#include “lola/vx/v2/container.h”#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_program.h”#include “haldls/vx/v2/container.def”#include “lola/vx/v2/container.def”

Defines

PLAYBACK_CONTAINER(_Name, Type)
file playback_program.h
#include “haldls/vx/v3/container.h”#include “lola/vx/v3/container.h”#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_program.h”#include “haldls/vx/v3/container.def”#include “lola/vx/v3/container.def”

Defines

PLAYBACK_CONTAINER(_Name, Type)
file playback_program_builder.h
#include <iosfwd>#include <memory>#include <unordered_set>#include “halco/hicann-dls/vx/barrier.h”#include “haldls/vx/barrier.h”#include “haldls/vx/common.h”#include “hate/visibility.h”#include “hxcomm/vx/target.h”#include “stadls/vx/dumper.h”#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_program.h”

Typedefs

typedef BuilderStorage Builder
typedef hate::type_list<::stadls::vx::v2::Dumper> dumper_types

Functions

~PlaybackProgramBuilderAdapter()
void block_until(halco::hicann_dls::vx::BarrierOnFPGA const &coord, haldls::vx::Barrier sync)

Add instruction to block execution until specified barrier is completed.

Parameters
  • coord – Barrier coordinate for which to block

  • sync – Barrier value for which to block execution

void block_until(halco::hicann_dls::vx::PollingOmnibusBlockOnFPGA const &coord, haldls::vx::PollingOmnibusBlock sync)
void block_until(typename haldls::vx::Timer::coordinate_type const &coord, haldls::vx::Timer::Value time)

Add instruction to block execution until specified timer has reached specified value.

Parameters
  • coord – Timer coordinate for which to block

  • time – Timer value until which to block execution

void copy_back(BuilderStorage const &other)

Copy BuilderStorage to the end of this builder instance.

The copied-from storage is untouched during the process.

Throws

std::runtime_error – On other builder not being write only

Parameters

other – BuilderStorage to copy to this instance at the back

void copy_back(PlaybackProgramBuilderAdapter const &other)

Copy other PlaybackProgramBuilderAdapter to the end of this builder instance.

The copied-from builder is untouched during the process.

Throws

std::runtime_error – On other builder not being write only

Parameters

other – Builder to copy to this instance at the back

parent def ("__str__", [](GENPYBIND_PARENT_TYPE const &p) { std::stringstream ss;ss<< p;return ss.str();})
DoneType done()

Close PlaybackProgram build process and return executable program.

Returns

Executable PlaybackProgram

constexpr if (hate::is_in_type_list< typename std::decay< decltype(p)>::type::Builder, dumper_types >::value)
void merge_back(BuilderStorage &&other)

Merge BuilderStorage to the end of this builder instance.

The moved-from storage is emptied during the process.

Parameters

other – BuilderStorage to move to this instance at the back

void merge_back(BuilderStorage &other)

Merge BuilderStorage to the end of this builder instance.

The moved-from storage is emptied during the process.

Parameters

other – BuilderStorage to move to this instance at the back

void merge_back(PlaybackProgramBuilderAdapter &&other)

Merge other PlaybackProgramBuilderAdapter to the end of this builder instance.

The moved-from builder is emptied during the process.

Parameters

other – Builder to move to this instance at the back

void merge_back(PlaybackProgramBuilderAdapter &other)

Merge other PlaybackProgramBuilderAdapter to the end of this builder instance.

The moved-from builder is emptied during the process.

Parameters

other – Builder to move to this instance at the back

template<typename T, typename U, template<typename> class C>
std::ostream &operator<<(std::ostream &os, PlaybackProgramBuilderAdapter<T, U, C> const &builder)
PlaybackProgramBuilderAdapter &operator=(PlaybackProgramBuilderAdapter &&other)
PlaybackProgramBuilderAdapter()

Construct builder.

PlaybackProgramBuilderAdapter(PlaybackProgramBuilderAdapter &&other)
PlaybackProgramBuilderAdapter(PlaybackProgramBuilderAdapter const&) = delete
template<typename CoordinateType>
PlaybackProgram::ContainerTicket<typename CoordinateToContainer<CoordinateType>::type> read(CoordinateType const &coord)

Add instructions to read container data from given location.

The container’s default backend is used.

Note

This function without backend parameter is needed due to python wrapping not being able to handle templated default arguments.

Parameters

coord – Coordinate value selecting location

template<typename CoordinateType>
PlaybackProgram::ContainerTicket<typename CoordinateToContainer<CoordinateType>::type> read(CoordinateType const &coord, haldls::vx::Backend backend)

Add instructions to read container data from given location.

Parameters
  • coord – Coordinate value selecting location

  • backend – Backend selection

return ss str ()
void wait_until(typename haldls::vx::Timer::coordinate_type const &coord, haldls::vx::Timer::Value time)

Add instruction to block execution until specified timer has reached specified value.

Deprecated:

In favor of block_until

Parameters
  • coord – Timer coordinate for which to wait

  • time – Timer value until which to block execution

template<typename Type>
void write(typename Type::coordinate_type const &coord, Type const &config)

Add instructions to write given container to given location.

The container’s default backend is used.

Note

This function without backend parameter is needed due to python wrapping not being able to handle templated default arguments.

Parameters
  • coord – Coordinate value selecting location

  • config – Container configuration data

template<typename Type>
void write(typename Type::coordinate_type const &coord, Type const &config, haldls::vx::Backend backend)

Add instructions to write given container to given location.

Parameters
  • coord – Coordinate value selecting location

  • config – Container configuration data

  • backend – Backend selection

template<typename Type>
void write(typename Type::coordinate_type const &coord, Type const &config, Type const &config_reference)

Add instructions to write given container to given location.

The container’s default backend is used.

Note

This function without backend parameter is needed due to python wrapping not being able to handle templated default arguments.

Parameters
  • coord – Coordinate value selecting location

  • config – Container configuration data

  • config_reference – Reference configuration for differential write

template<typename Type>
void write(typename Type::coordinate_type const &coord, Type const &config, Type const &config_reference, haldls::vx::Backend backend)

Add instructions to write given container to given location.

Parameters
  • coord – Coordinate value selecting location

  • config – Container configuration data

  • config_reference – Reference configuration for differential write

  • backend – Backend selection

Variables

else   = { ss << "PlaybackProgramBuilder(to FPGA size: " << p.size_to_fpga()        << ", is write only: " << std::boolalpha << p.is_write_only() << ")"
file playback_program_builder.h
#include “haldls/cerealization.h”#include “haldls/vx/v2/container.h”#include “lola/vx/v2/container.h”#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_program_builder.h”#include “stadls/vx/v2/coordinate_to_container.h”#include “stadls/vx/v2/dumper.h”#include “haldls/vx/v2/container.def”#include “lola/vx/v2/container.def”

Defines

PLAYBACK_CONTAINER(_Name, Type)
file playback_program_builder.h
#include “haldls/cerealization.h”#include “haldls/vx/v3/container.h”#include “lola/vx/v3/container.h”#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_program_builder.h”#include “stadls/vx/v3/coordinate_to_container.h”#include “stadls/vx/v3/dumper.h”#include “haldls/vx/v3/container.def”#include “lola/vx/v3/container.def”

Defines

PLAYBACK_CONTAINER(_Name, Type)
file reinit_stack_entry.h
#include “hate/visibility.h”#include “stadls/vx/genpybind.h”#include “stadls/vx/playback_program.h”#include <memory>#include <optional>#include “stadls/vx/reinit_stack_entry.tcc”
file reinit_stack_entry.h
#include “stadls/vx/genpybind.h”#include “stadls/vx/reinit_stack_entry.h”
file reinit_stack_entry.h
#include “stadls/vx/genpybind.h”#include “stadls/vx/reinit_stack_entry.h”
file run.h
#include “stadls/vx/genpybind.h”#include “stadls/vx/run_time_info.h”#include “stadls/vx/run.tcc”
file run.h
#include “stadls/vx/genpybind.h”#include “stadls/vx/run.h”
file run.h
#include “stadls/vx/genpybind.h”#include “stadls/vx/run.h”
file run_time_info.h
#include “fisch/vx/run_time_info.h”#include “stadls/vx/genpybind.h”
file stadls.h
#include “stadls/vx/constants.h”#include “stadls/vx/init_generator.h”#include “stadls/vx/playback_generator.h”#include “stadls/vx/playback_program.h”#include “stadls/vx/playback_program_builder.h”#include “stadls/vx/reinit_stack_entry.h”#include “stadls/vx/run.h”
file stadls.h
#include “stadls/vx/v2/dumper.h”#include “stadls/vx/v2/init_generator.h”#include “stadls/vx/v2/playback_generator.h”#include “stadls/vx/v2/playback_program.h”#include “stadls/vx/v2/playback_program_builder.h”#include “stadls/vx/v2/reinit_stack_entry.h”#include “stadls/vx/v2/run.h”
file stadls.h
#include “stadls/vx/v3/dumper.h”#include “stadls/vx/v3/init_generator.h”#include “stadls/vx/v3/playback_generator.h”#include “stadls/vx/v3/playback_program.h”#include “stadls/vx/v3/playback_program_builder.h”#include “stadls/vx/v3/reinit_stack_entry.h”#include “stadls/vx/v3/run.h”
file coordinate_to_container.h
#include “haldls/vx/v2/container.h”#include “hate/type_list.h”#include “lola/vx/v2/container.h”#include “haldls/vx/v2/container.def”#include “lola/vx/v2/container.def”

Defines

LAST_PLAYBACK_CONTAINER(Name, Type)
LAST_PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
file coordinate_to_container.h
#include “haldls/vx/v3/container.h”#include “hate/type_list.h”#include “lola/vx/v3/container.h”#include “haldls/vx/v3/container.def”#include “lola/vx/v3/container.def”

Defines

LAST_PLAYBACK_CONTAINER(Name, Type)
LAST_PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
PLAYBACK_CONTAINER(Name, Type)
file dumperdone.h
#include “halco/hicann-dls/vx/barrier.h”#include “haldls/cerealization.h”#include “haldls/vx/barrier.h”#include “haldls/vx/timer.h”#include “haldls/vx/v2/container.h”#include “hate/visibility.h”#include “lola/vx/v2/container.h”#include “stadls/vx/genpybind.h”#include <utility>#include <variant>#include <vector>#include “haldls/vx/v2/container.def”#include “lola/vx/v2/container.def”

Defines

PLAYBACK_CONTAINER(Name, Type)
file dumperdone.h
#include “halco/hicann-dls/vx/barrier.h”#include “haldls/cerealization.h”#include “haldls/vx/barrier.h”#include “haldls/vx/timer.h”#include “haldls/vx/v3/container.h”#include “hate/visibility.h”#include “lola/vx/v3/container.h”#include “stadls/vx/genpybind.h”#include <utility>#include <variant>#include <vector>#include “haldls/vx/v3/container.def”#include “lola/vx/v3/container.def”

Defines

PLAYBACK_CONTAINER(Name, Type)
file init_generator.h
#include “hate/visibility.h”#include “stadls/vx/v2/playback_generator.h”#include “stadls/vx/v2/playback_program_builder.h”
file init_generator.h
#include “hate/visibility.h”#include “stadls/vx/v3/playback_generator.h”#include “stadls/vx/v3/playback_program_builder.h”
file pystadls.h
#include <pybind11/pybind11.h>#include “stadls/vx/genpybind.h”#include “stadls/vx/v2/stadls.h”
file pystadls.h
#include <pybind11/pybind11.h>#include “stadls/vx/genpybind.h”#include “stadls/vx/v3/stadls.h”
page deprecated

Member stadls::vx::detail::PlaybackProgramBuilderAdapter< BuilderStorage, DoneType, CoordinateToContainer >::wait_until  (typename haldls::vx::Timer::coordinate_type const &coord, haldls::vx::Timer::Value time)

In favor of block_until

Member wait_until  (typename haldls::vx::Timer::coordinate_type const &coord, haldls::vx::Timer::Value time)

In favor of block_until

dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v2
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx/v3
dir /jenkins/jenlib_workspaces_f9/doc_gerrit_documentation-brainscales2.ZG9jX2dlcnJpdF9kb2N1bWVudGF0aW9uLWJyYWluc2NhbGVzMiMzNzk.x/haldls/include/stadls/vx