qat.backend.qblox.config.helpers module

class QbloxConfigHelper(module_config=None, sequencer_config=None)

Bases: ABC

Base helper class for config time. This class is abstract, it specified a contract for applying configuration on a qblox resource (i.e. module and sequencer) necessary to run an experiment. Module and Sequencer structurally represent analogue and digital.

parts of the RF chain. Any concrete implementations must be able to: - Apply analogue configuration via the module API - Apply digital configuration via the sequencer API - Perform mixer calibration when applicable

From flat pools of configuration (see specification), it’s the helper class that holds contextual semantics of what each piece of configuration mean, whether is applies to a given Qblox resource, and how it should be applied via the respective Module/Sequencer APIs.

abstract calibrate_lo_leakage(module)
calibrate_mixer(module, sequencer=None, connection=None)
  • Compensates for the LO leakage for input(s)/output(s) depending on module

  • Suppresses undesired sideband on sequencer

Parameters:
  • module (Module) – A Module instance representing a QCM-RF or a QRM-RF card.

  • sequencer (Optional[Sequencer]) – A Sequencer instance representing the sequencer. When None, sideband cal will run on all sequencers belonging to module module

  • connection (Optional[str]) – An optional string indicating muxing of Sequencer to analog channel Defaults to “out0”

calibrate_sideband(sequencer, connection=None)
configure(module, sequencer)
configure_awg(sequencer)
configure_awg_mod(sequencer)
configure_connection(sequencer)
configure_mixer(sequencer)
abstract configure_module(module)
configure_nco(sequencer)
abstract configure_sequencer(sequencer)
class QcmConfigHelper(module_config=None, sequencer_config=None)

Bases: QbloxConfigHelper

Configuration helper for QCM modules.

class QcmRfConfigHelper(module_config=None, sequencer_config=None)

Bases: QcmConfigHelper

Configuration helper for QCM-RF modules.

calibrate_lo_leakage(module)
configure_attenuation(module)
configure_lo(module)
configure_module(module)
configure_offset(module)
configure_sequencer(sequencer)
class QrcConfigHelper(module_config=None, sequencer_config=None)

Bases: QrmRfConfigHelper

Configuration helper for QRC Modules.

calibrate_lo_leakage(module)
configure_attenuation(module)
configure_exp0(module)
configure_exp1(module)
configure_exp2(module)
configure_exp3(module)
configure_fir(module)
configure_lo(module)
configure_module(module)
configure_scope_acq(module)
configure_sequencer(sequencer)
class QrmConfigHelper(module_config=None, sequencer_config=None)

Bases: QbloxConfigHelper

Configuration helper for QRM modules.

configure_scope_acq(module)
class QrmRfConfigHelper(module_config=None, sequencer_config=None)

Bases: QrmConfigHelper

Configuration helper for QRM-RF modules.

calibrate_lo_leakage(module)
configure_acq(sequencer)
configure_acq_demod(sequencer)
configure_attenuation(module)
configure_lo(module)
configure_module(module)
configure_offset(module)
configure_sequencer(sequencer)