qat.experimental.system_data.hardware.qblox_config module
Configuration dataclasses for the Qblox RF chain.
These immutable dataclasses group the QCoDeS parameters exposed by the Qblox Instruments
driver (see the Qblox Instruments API reference) by the hardware block
they configure. They are a slimmed-down, hardware-view-oriented successor to the
qat.backend.qblox.config.specification models.
Two families of configuration are distinguished:
SequencerConfigsubclasses configure the digital side of the chain (per sequencer): the NCO, the AWG, acquisition and marker/trigger behaviour.GeneratorConfigsubclasses configure the analogue side of the chain (per generator / output path): mixer correction, pulse-shaping filters and output/input signal conditioning.
- class AcquireConfig(auto_bin_incr_en=None, demod_en_acq=None)
Bases:
SequencerConfigConfiguration components for the acquisition path of a readout sequencer.
- Variables:
auto_bin_incr_en – Flag to enable/disable whether the bin index is automatically incremented when acquiring multiple triggers. Disabling the TTL trigger acquisition path resets the bin index.
demod_en_acq – Flag to enable/disable demodulation on the acquisition path.
-
auto_bin_incr_en:
bool|None
-
demod_en_acq:
bool|None
- class AwgConfig(gain_path0=0.0, gain_path1=0.0, offset_path0=0.0, offset_path1=0.0, mod_en=True)
Bases:
SequencerConfigConfiguration components related to the sequencer’s AWG.
- Variables:
gain_path0 – Gain for AWG path 0.
gain_path1 – Gain for AWG path 1.
offset_path0 – Offset for AWG path 0.
offset_path1 – Offset for AWG path 1.
mod_en – Flag to enable/disable modulation for AWG.
-
gain_path0:
float
-
gain_path1:
float
-
mod_en:
bool
-
offset_path0:
float
-
offset_path1:
float
- class GeneratorConfig
Bases:
objectBase class for the analogue (per-generator) configuration components.
A generator is a single tone-producing subsection of a module’s analogue RF chain. Concrete subclasses group the QCoDeS module-level parameters that shape the analogue signal on a generator’s output/input path (mixer correction, pulse-shaping filters, output/input signal conditioning and scope acquisition).
- class InputSignalConfig(attenuation=0.0, gain=0.0, offset_path_0=0.0, offset_path_1=0.0)
Bases:
GeneratorConfigInput signal conditioning for a readout generator’s input path.
Groups the QCoDeS input attenuation (
in*_att), input gain (in*_gain) and DC offset (in*_offset_path*) parameters used to level and de-bias the acquired signal.- Variables:
attenuation – Input attenuation in dB.
gain – Input gain in dB.
offset_path_0 – Offset (in mV) for input path 0 (I) in QRM-RF.
offset_path_1 – Offset (in mV) for input path 1 (Q) in QRM-RF.
-
attenuation:
float
-
gain:
float
-
offset_path_0:
float
-
offset_path_1:
float
- class MarkerSwitchConfig(marker_ovr_en=None, marker_ovr_value=None)
Bases:
SequencerConfigConfiguration for marker overriding on a sequencer.
When enabled, the override takes priority over the
set_mrkinstruction. Used to control marker outputs (digital triggers) and RF switches, which need to be enabled for RF operation.- Variables:
marker_ovr_en – Flag to enable/disable the marker overriding feature.
marker_ovr_value – Marker override value. Its binary representation codifies the On/Off flags for the marker channels.
-
marker_ovr_en:
bool|None
-
marker_ovr_value:
int|None
- class MixerConfig(phase_offset=0.0, gain_ratio=1.0)
Bases:
GeneratorConfigConfiguration for the generator’s mixer correction component.
Mirrors the QCoDeS
sequencer.mixer_corr_phase_offset_degreeandsequencer.mixer_corr_gain_ratioparameters used to correct IQ mixer imbalance on the AWG path.- Variables:
phase_offset – Mixer phase imbalance correction for the AWG, in degrees.
gain_ratio – Mixer gain imbalance correction for the AWG.
-
gain_ratio:
float
-
phase_offset:
float
- class NcoConfig(phase_offs=0.0, prop_delay_comp=0, prop_delay_comp_en=False)
Bases:
SequencerConfigConfiguration components related to the sequencer’s NCO.
- Variables:
phase_offs – Phase offset of the NCO in degrees with a resolution of 3.6e-7 degrees.
prop_delay_comp – Delay that compensates the NCO phase to the input path with respect to the instrument’s combined output and input propagation delay. This delays the frequency update as well.
prop_delay_comp_en – Flag to enable/disable compensation of propagation delay.
-
phase_offs:
float
-
prop_delay_comp:
int
-
prop_delay_comp_en:
bool
- class OutputSignalConfig(attenuation=0.0, offset_path_0=0.0, offset_path_1=0.0)
Bases:
GeneratorConfigOutput signal conditioning for a generator’s output path.
Groups the QCoDeS output attenuation (
out*_att) and DC offset (out*_offset_path*) parameters used to level and de-bias the output signal.- Variables:
attenuation – Output attenuation in dB.
offset_path_0 – Offset (in mV) for output path 0 (I) in QCM-RF/QRM-RF.
offset_path_1 – Offset (in mV) for output path 1 (Q) in QCM-RF/QRM-RF.
-
attenuation:
float
-
offset_path_0:
float
-
offset_path_1:
float
- class PulseShapingConfig(fir_out=None, exp_overshoot_0_out=None, exp_overshoot_1_out=None, exp_overshoot_2_out=None, exp_overshoot_3_out=None)
Bases:
GeneratorConfigConfiguration of the output pulse-shaping filters.
Groups the finite-impulse-response (FIR) filter and the four exponential-overshoot filters applied to a generator’s output (see the QCoDeS
out*_fir_configandout*_exp*_configparameters). Each filter accepts'bypassed'to disable it, or'delay_comp'to bypass it while delaying the output as if it were applied.- Variables:
fir_out – Configuration of the finite-impulse-response filter for the output.
exp_overshoot_0_out – Configuration of exponential-overshoot filter 0 for the output.
exp_overshoot_1_out – Configuration of exponential-overshoot filter 1 for the output.
exp_overshoot_2_out – Configuration of exponential-overshoot filter 2 for the output.
exp_overshoot_3_out – Configuration of exponential-overshoot filter 3 for the output.
-
exp_overshoot_0_out:
str|None
-
exp_overshoot_1_out:
str|None
-
exp_overshoot_2_out:
str|None
-
exp_overshoot_3_out:
str|None
-
fir_out:
str|None
- class ScopeAcquireConfig(select_sequencer_to_scope_memory=True, enable_average_mode=True)
Bases:
GeneratorConfigScope (trace) acquisition configuration for a readout generator.
Groups the QCoDeS
scope_acq_*parameters that control the scope acquisition path.- Variables:
select_sequencer_to_scope_memory – Whether this sequencer’s acquisition is written to the module’s scope memory.
enable_average_mode – Flag to enable/disable scope acquisition averaging mode.
-
enable_average_mode:
bool
-
select_sequencer_to_scope_memory:
bool
- class SequencerConfig
Bases:
objectBase class for the digital (per-sequencer) configuration components.
A sequencer is the digital side of a Qblox module’s RF chain. Concrete subclasses group the QCoDeS
sequencer.*parameters by the hardware block they configure (NCO, AWG, acquisition, markers, …).
- class SquareWeightAcq(integration_length=1024)
Bases:
SequencerConfigConfiguration components for non-weighed acquisition.
- Variables:
integration_length – Integration length in number of samples for non-weighed acquisitions on paths 0 and 1. Must be a multiple of 4. Default value is 1024.
-
integration_length:
int
- class ThresholdedAcqConfig(rotation=1.0, threshold=0.0)
Bases:
SequencerConfigConfiguration components for thresholded acquisition.
- Variables:
rotation – Phase rotation (in degrees) for the integration result.
threshold – Threshold for discretizing the phase-rotated result (see
rotation). Discretization is done by comparing the threshold to the rotated integration result of path 0. This comparison is applied before normalization (i.e. division) of the rotated value with the integration length and therefore the threshold needs to be compensated (i.e. multiplied) with this length for the discretization to function properly.
-
rotation:
float
-
threshold:
float