STADLS
|
#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"
Go to the source code of this file.
Classes | |
class | stadls::vx::detail::PlaybackProgramBuilderAdapter< BuilderStorage, DoneType, CoordinateToContainer > |
Sequential PlaybackProgram builder. More... | |
Namespaces | |
fisch | |
fisch::vx | |
stadls | |
stadls::vx | |
stadls::vx::detail | |
Typedefs | |
typedef BuilderStorage | Builder |
typedef hate::type_list<::stadls::vx::v2::Dumper > | dumper_types { std::stringstream ss |
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. More... | |
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. More... | |
void | copy_back (BuilderStorage const &other) |
Copy BuilderStorage to the end of this builder instance. More... | |
void | copy_back (PlaybackProgramBuilderAdapter const &other) |
Copy other PlaybackProgramBuilderAdapter to the end of this builder instance. More... | |
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. More... | |
template<typename BuilderStorage , typename DoneType , template< typename > class CoordinateToContainer> | |
class SYMBOL_VISIBLE stadls::vx::detail::PlaybackProgramBuilderAdapter | stadls::vx::detail::empty () const |
Get whether builder is empty, i.e. More... | |
constexpr | if (hate::is_in_type_list< typename std::decay< decltype(p)>::type::Builder, dumper_types >::value) |
bool | stadls::vx::detail::is_write_only () const |
Get whether builder only stores write instructions. More... | |
void | merge_back (BuilderStorage &&other) |
Merge BuilderStorage to the end of this builder instance. More... | |
void | merge_back (BuilderStorage &other) |
Merge BuilderStorage to the end of this builder instance. More... | |
void | merge_back (PlaybackProgramBuilderAdapter &&other) |
Merge other PlaybackProgramBuilderAdapter to the end of this builder instance. More... | |
void | merge_back (PlaybackProgramBuilderAdapter &other) |
Merge other PlaybackProgramBuilderAdapter to the end of this builder instance. More... | |
template<typename T , typename U , template< typename > class C> | |
std::ostream & | operator<< (std::ostream &os, PlaybackProgramBuilderAdapter< T, U, C > const &builder) |
template<typename T , typename U , template< typename > class C> | |
std::ostream & | stadls::vx::detail::operator<< (std::ostream &os, PlaybackProgramBuilderAdapter< T, U, C > const &builder) SYMBOL_VISIBLE |
PlaybackProgramBuilderAdapter & | operator= (PlaybackProgramBuilderAdapter &&other) |
PlaybackProgramBuilderAdapter () | |
Construct builder. More... | |
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. More... | |
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. More... | |
size_t | stadls::vx::detail::size_to_fpga () const |
Get number of UT messages to FPGA. More... | |
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. More... | |
template<typename Type > | |
void | write (typename Type::coordinate_type const &coord, Type const &config) |
Add instructions to write given container to given location. More... | |
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. More... | |
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. More... | |
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. More... | |
Variables | |
else { ss << "PlaybackProgramBuilder(to FPGA size: " << p.size_to_fpga() << ", is write only: " << std::boolalpha << p.is_write_only() << ")" | |
typedef BuilderStorage Builder |
Definition at line 9 of file playback_program_builder.h.
typedef hate::type_list<::stadls::vx::v2::Dumper> dumper_types { std::stringstream ss |
Definition at line 189 of file playback_program_builder.h.
empty::~PlaybackProgramBuilderAdapter | ( | ) |
void empty::block_until | ( | halco::hicann_dls::vx::BarrierOnFPGA const & | coord, |
haldls::vx::Barrier | sync | ||
) |
Add instruction to block execution until specified barrier is completed.
coord | Barrier coordinate for which to block |
sync | Barrier value for which to block execution |
void empty::block_until | ( | halco::hicann_dls::vx::PollingOmnibusBlockOnFPGA const & | coord, |
haldls::vx::PollingOmnibusBlock | sync | ||
) |
void empty::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.
coord | Timer coordinate for which to block |
time | Timer value until which to block execution |
void empty::copy_back | ( | BuilderStorage const & | other | ) |
Copy BuilderStorage to the end of this builder instance.
The copied-from storage is untouched during the process.
std::runtime_error | On other builder not being write only |
other | BuilderStorage to copy to this instance at the back |
void empty::copy_back | ( | PlaybackProgramBuilderAdapter const & | other | ) |
Copy other PlaybackProgramBuilderAdapter to the end of this builder instance.
The copied-from builder is untouched during the process.
std::runtime_error | On other builder not being write only |
other | Builder to copy to this instance at the back |
parent empty::def | ( | "__str__" | , |
[] (GENPYBIND_PARENT_TYPE const &p) { std::stringstream ss;ss<< p;return ss.str();} | |||
) |
DoneType empty::done | ( | ) |
Close PlaybackProgram build process and return executable program.
|
constexpr |
Definition at line 189 of file playback_program_builder.h.
void empty::merge_back | ( | BuilderStorage && | other | ) |
Merge BuilderStorage to the end of this builder instance.
The moved-from storage is emptied during the process.
other | BuilderStorage to move to this instance at the back |
void empty::merge_back | ( | BuilderStorage & | other | ) |
Merge BuilderStorage to the end of this builder instance.
The moved-from storage is emptied during the process.
other | BuilderStorage to move to this instance at the back |
void empty::merge_back | ( | PlaybackProgramBuilderAdapter && | other | ) |
Merge other PlaybackProgramBuilderAdapter to the end of this builder instance.
The moved-from builder is emptied during the process.
other | Builder to move to this instance at the back |
void empty::merge_back | ( | PlaybackProgramBuilderAdapter & | other | ) |
Merge other PlaybackProgramBuilderAdapter to the end of this builder instance.
The moved-from builder is emptied during the process.
other | Builder to move to this instance at the back |
friend std::ostream& empty::operator<< | ( | std::ostream & | os, |
PlaybackProgramBuilderAdapter< T, U, C > const & | builder | ||
) |
PlaybackProgramBuilderAdapter& empty::operator= | ( | PlaybackProgramBuilderAdapter && | other | ) |
empty::PlaybackProgramBuilderAdapter | ( | ) |
Construct builder.
empty::PlaybackProgramBuilderAdapter | ( | PlaybackProgramBuilderAdapter && | other | ) |
|
delete |
PlaybackProgram::ContainerTicket<typename CoordinateToContainer<CoordinateType>::type> empty::read | ( | CoordinateType const & | coord | ) |
Add instructions to read container data from given location.
The container's default backend is used.
coord | Coordinate value selecting location |
PlaybackProgram::ContainerTicket<typename CoordinateToContainer<CoordinateType>::type> empty::read | ( | CoordinateType const & | coord, |
haldls::vx::Backend | backend | ||
) |
Add instructions to read container data from given location.
coord | Coordinate value selecting location |
backend | Backend selection |
return ss empty::str | ( | ) |
void empty::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.
coord | Timer coordinate for which to wait |
time | Timer value until which to block execution |
void empty::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.
coord | Coordinate value selecting location |
config | Container configuration data |
void empty::write | ( | typename Type::coordinate_type const & | coord, |
Type const & | config, | ||
haldls::vx::Backend | backend | ||
) |
Add instructions to write given container to given location.
coord | Coordinate value selecting location |
config | Container configuration data |
backend | Backend selection |
void empty::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.
coord | Coordinate value selecting location |
config | Container configuration data |
config_reference | Reference configuration for differential write |
void empty::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.
coord | Coordinate value selecting location |
config | Container configuration data |
config_reference | Reference configuration for differential write |
backend | Backend selection |
else { ss << "PlaybackProgramBuilder(to FPGA size: " << p.size_to_fpga() << ", is write only: " << std::boolalpha << p.is_write_only() << ")" |
Definition at line 189 of file playback_program_builder.h.