|
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"
Include dependency graph for playback_program_builder.h:
This graph shows which files directly or indirectly include this file: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.