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:

  • SequencerConfig subclasses configure the digital side of the chain (per sequencer): the NCO, the AWG, acquisition and marker/trigger behaviour.

  • GeneratorConfig subclasses 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: SequencerConfig

Configuration 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: SequencerConfig

Configuration 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: object

Base 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: GeneratorConfig

Input 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: SequencerConfig

Configuration for marker overriding on a sequencer.

When enabled, the override takes priority over the set_mrk instruction. 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: GeneratorConfig

Configuration for the generator’s mixer correction component.

Mirrors the QCoDeS sequencer.mixer_corr_phase_offset_degree and sequencer.mixer_corr_gain_ratio parameters 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: SequencerConfig

Configuration 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: GeneratorConfig

Output 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: GeneratorConfig

Configuration 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_config and out*_exp*_config parameters). 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: GeneratorConfig

Scope (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: object

Base 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: SequencerConfig

Configuration 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: SequencerConfig

Configuration 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