4 #error "Requires CHIP_REVISION"
11 #define CONCAT(w, x, y, z) STR(ID(w)ID(/)ID(x)ID(/)ID(v)ID(y)ID(/)ID(z))
12 #include CONCAT(haldls,vx,CHIP_REVISION,capmem.h)
19 #include "halco/common/typed_array.h"
20 #include "halco/hicann-dls/vx/readout.h"
21 #include "halco/hicann-dls/vx/current_dac.h"
22 #include "haldls/cerealization.h"
23 #include "haldls/vx/madc.h"
24 #include "haldls/vx/current_dac.h"
25 #include "haldls/vx/readout.h"
26 #include "hate/visibility.h"
30 #if CHIP_REVISION == 2
31 #define GENPYBIND_TAG_LOLA_VX_VY GENPYBIND_TAG_LOLA_VX_V2
32 #define CHIP_REVISION_STR v2
33 #elif CHIP_REVISION == 3
34 #define GENPYBIND_TAG_LOLA_VX_VY GENPYBIND_TAG_LOLA_VX_V3
35 #define CHIP_REVISION_STR v3
37 #error "Unknown CHIP_REVISION"
41 #undef GENPYBIND_TAG_LOLA_VX_VY
52 typedef haldls::vx::CHIP_REVISION_STR::CapMemCell::Value
AnalogValue GENPYBIND(visible);
66 typedef halco::common::typed_array<
67 haldls::vx::ReadoutSourceSelection::SourceMultiplexer,
68 halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection>
94 GENPYBIND(stringstream)
95 friend std::ostream& operator<<(std::ostream& os,
BufferToPadT const& config)
99 typedef halco::common::
100 typed_array<
BufferToPadT, halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection>
115 typedef haldls::vx::MADCConfig::input_selection_type
InputSelect GENPYBIND(visible);
119 bool enable_amplifiers{
true};
139 GENPYBIND(stringstream)
140 friend std::ostream& operator<<(std::ostream& os,
DynamicMux const& config) SYMBOL_VISIBLE;
173 GENPYBIND(stringstream)
188 bool connect_source_measure_unit;
193 bool connect_dynamic_mux;
198 bool connect_pad_mux;
203 bool connect_madc_preamp;
208 GENPYBIND(stringstream)
253 GENPYBIND(stringstream)
254 friend std::ostream& operator<<(std::ostream& os,
MADCPreamp const& config) SYMBOL_VISIBLE;
270 bool connect_preamp_to_madc;
275 bool connect_pads_to_madc;
280 bool connect_preamp_to_pads;
284 GENPYBIND(stringstream)
298 typedef haldls::vx::MADCConfig::SARResetWait
SARResetWait GENPYBIND(visible);
299 typedef haldls::vx::MADCConfig::SARResetLength
SARResetLength GENPYBIND(visible);
304 typedef haldls::vx::MADCConfig::MADCClockScaleValue
ClockScaleValue GENPYBIND(visible);
318 bool enable_sar_reset_on_fall{
false};
339 bool enable_calibration{
false};
356 bool sample_on_positive_edge{
true};
363 bool enable_dummy_data{
false};
369 bool enable_madc_clock_scaling{
false};
384 GENPYBIND(stringstream)
385 friend std::ostream& operator<<(std::ostream& os,
MADC const& config) SYMBOL_VISIBLE;
394 typedef halco::common::typed_array<
395 haldls::vx::PadMultiplexerConfig,
396 halco::hicann_dls::vx::PadMultiplexerConfigOnDLS>
451 GENPYBIND(stringstream)
464 typedef haldls::vx::CurrentDAC::Current
Current GENPYBIND(visible);
465 typedef haldls::vx::CurrentDAC::Sign
Sign GENPYBIND(visible);
504 bool operator==(
CurrentDAC const& other) const SYMBOL_VISIBLE;
505 bool operator!=(
CurrentDAC const& other) const SYMBOL_VISIBLE;
506 GENPYBIND(stringstream)
507 friend std::ostream& operator<<(std::ostream& os,
CurrentDAC const& config) SYMBOL_VISIBLE;
525 GENPYBIND(stringstream)
526 friend std::ostream& operator<<(std::ostream& os,
ReadoutChain const& config) SYMBOL_VISIBLE;
532 std::ostream& operator<<(std::ostream& os,
ReadoutChain::InputMux const& config) SYMBOL_VISIBLE;
533 std::ostream& operator<<(std::ostream& os,
ReadoutChain::BufferToPad const& config) SYMBOL_VISIBLE;
534 std::ostream& operator<<(std::ostream& os,
ReadoutChain::PadMux const& config) SYMBOL_VISIBLE;
539 #include "lola/vx/readout_chain.tcc"
Configuration of all circuits composing the analog readout chain.
haldls::vx::CHIP_REVISION_STR::CapMemCell::DisableRefresh AnalogDisableRefresh
haldls::vx::MADCConfig::SamplingWindowTiming SamplingWindowTiming
std::false_type has_local_data
haldls::vx::CHIP_REVISION_STR::CapMemCell::Value AnalogValue
haldls::vx::MADCConfig::synapse_target_type SynapseTargetType
halco::hicann_dls::vx::ReadoutChainOnDLS coordinate_type
halco::common::typed_array< haldls::vx::ReadoutSourceSelection::SourceMultiplexer, halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection > InputMux
Configuration of the multiplexer for the different input signals from chip.
haldls::vx::MADCConfig::hemisphere_type HemisphereType
halco::common::typed_array< haldls::vx::PadMultiplexerConfig, halco::hicann_dls::vx::PadMultiplexerConfigOnDLS > PadMux
Configuration of the Pad multiplexers.
halco::common::typed_array< BufferToPadT, halco::hicann_dls::vx::SourceMultiplexerOnReadoutSourceSelection > BufferToPad
haldls::vx::CHIP_REVISION_STR::CapMemCell::value_type AnalogValueVariant
Configuration of the buffer connection the pads.
BufferToPadT() SYMBOL_VISIBLE
Configuration of the current DAC of the readout chain.
CurrentDAC() SYMBOL_VISIBLE
haldls::vx::CurrentDAC::Sign Sign
haldls::vx::CurrentDAC::Current Current
Configuration of the Dynamic multiplexer.
haldls::vx::MADCConfig::input_selection_type InputSelect
bool operator==(DynamicMux const &other) const SYMBOL_VISIBLE
haldls::vx::MADCConfig::ActiveMuxInputSelectLength InputSelectLength
bool operator!=(DynamicMux const &other) const SYMBOL_VISIBLE
Configuration of the crossbar connecting the MADC to debug pads.
MADCDebugCrossbar() SYMBOL_VISIBLE
haldls::vx::MADCConfig::PreampGainCapacitorSize GainCapacitorSize
Configuration of the MADC.
haldls::vx::MADCConfig::SampleDurationAdjust SampleDurationAdjust
haldls::vx::MADCConfig::SARResetLength SARResetLength
haldls::vx::MADCConfig::PowerupWaitValue PowerupWaitValue
haldls::vx::MADCConfig::ConversionCyclesOffset ConversionCyclesOffset
bool operator!=(MADC const &other) const SYMBOL_VISIBLE
haldls::vx::MADCConfig::NumberOfSamples NumberOfSamples
haldls::vx::MADCConfig::MADCClockScaleValue ClockScaleValue
haldls::vx::MADCConfig::SARResetWait SARResetWait
bool operator==(MADC const &other) const SYMBOL_VISIBLE
haldls::vx::MADCConfig::CalibrationWaitValue CalibrationWaitValue
Configuration of the MADC preamplifier.
bool operator!=(MADCPreamp const &other) const SYMBOL_VISIBLE
haldls::vx::MADCConfig::PreampGainCapacitorSize GainCapacitorSize
bool operator==(MADCPreamp const &other) const SYMBOL_VISIBLE
Configuration of the pseudo differential converter.
PseudoDifferentialConverter()=default
bool operator!=(PseudoDifferentialConverter const &other) const SYMBOL_VISIBLE
bool operator==(PseudoDifferentialConverter const &other) const SYMBOL_VISIBLE
Configuration of the source measure unit.
bool operator==(SourceMeasureUnit const &other) const SYMBOL_VISIBLE
SourceMeasureUnit()=default
bool operator!=(SourceMeasureUnit const &other) const SYMBOL_VISIBLE