qat.purr.backends.qblox.config module

class AttConfig(out0=None, out1=None, in0=None)

Bases: object

in0: int = None
out0: int = None
out1: int = None
class AwgConfig(cont_mode_en_path0=None, cont_mode_en_path1=None, cont_mode_waveform_idx_path0=None, cont_mode_waveform_idx_path1=None, upsample_rate_path0=None, upsample_rate_path1=None, gain_path0=None, gain_path1=None, offset_path0=None, offset_path1=None, mod_en=None)

Bases: object

cont_mode_en_path0: bool = None
cont_mode_en_path1: bool = None
cont_mode_waveform_idx_path0: int = None
cont_mode_waveform_idx_path1: int = None
gain_path0: float = None
gain_path1: float = None
mod_en: bool = None
offset_path0: float = None
offset_path1: float = None
upsample_rate_path0: int = None
upsample_rate_path1: int = None
class ConnectionConfig(bulk_value=<factory>, out0=None, out1=None, out2=None, out3=None, acq=None, acq_I=None, acq_Q=None)

Bases: object

acq: str = None
acq_I: str = None
acq_Q: str = None
bulk_value: List[str]
out0: str = None
out1: str = None
out2: str = None
out3: str = None
class GainConfig(in0=None, in1=None)

Bases: object

in0: int = None
in1: int = None
class LoConfig(out0_en=None, out0_freq=None, out1_en=None, out1_freq=None, out0_in0_en=None, out0_in0_freq=None)

Bases: object

out0_en: bool = None
out0_freq: float = None
out0_in0_en: bool = None
out0_in0_freq: float = None
out1_en: bool = None
out1_freq: float = None
class MixerConfig(phase_offset=None, gain_ratio=None)

Bases: object

gain_ratio: float = None
phase_offset: float = None
class ModuleConfig(marker_inverts=<factory>, offset=<factory>, lo=<factory>, attenuation=<factory>, gain=<factory>, scope_acq=<factory>)

Bases: object

attenuation: AttConfig
gain: GainConfig
lo: LoConfig
marker_inverts: Dict[int, bool]
offset: OffsetConfig
scope_acq: ScopeAcqConfig
class NcoConfig(freq=None, phase_offs=None, prop_delay_comp=None, prop_delay_comp_en=None)

Bases: object

freq: float = None
phase_offs: float = None
prop_delay_comp: int = None
prop_delay_comp_en: bool = None
class OffsetConfig(out0=None, out1=None, out2=None, out3=None, in1=None, in0=None, out0_path0=None, out0_path1=None, out1_path0=None, out1_path1=None, in0_path0=None, in0_path1=None)

Bases: object

in0: float = None
in0_path0: float = None
in0_path1: float = None
in1: float = None
out0: float = None
out0_path0: float = None
out0_path1: float = None
out1: float = None
out1_path0: float = None
out1_path1: float = None
out2: float = None
out3: float = None
class QbloxConfig(slot_idx=None, module=<factory>, sequencers=<factory>)

Bases: object

module: ModuleConfig
sequencers: Dict[int, SequencerConfig]
slot_idx: int = None
class QbloxConfigHelper(module_config=None, sequencer_config=None)

Bases: ABC

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_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

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”

class QcmRfConfigHelper(module_config=None, sequencer_config=None)

Bases: QcmConfigHelper

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

Bases: QbloxConfigHelper

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”

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

Bases: QrmConfigHelper

calibrate_lo_leakage(module)
configure_acq(sequencer)
configure_attenuation(module)
configure_lo(module)
configure_module(module)
configure_offset(module)
configure_sequencer(sequencer)
class ScopeAcqConfig(sequencer_select=None, trigger_mode_path0=None, trigger_mode_path1=None, trigger_level_path0=None, trigger_level_path1=None, avg_mode_en_path0=None, avg_mode_en_path1=None)

Bases: object

avg_mode_en_path0: bool = None
avg_mode_en_path1: bool = None
sequencer_select: int = None
trigger_level_path0: float = None
trigger_level_path1: float = None
trigger_mode_path0: str = None
trigger_mode_path1: str = None
class SequencerConfig(sync_en=None, marker_ovr_en=None, marker_ovr_value=None, trigger_count_thresholds=<factory>, trigger_threshold_inverts=<factory>, connection=<factory>, nco=<factory>, awg=<factory>, mixer=<factory>, demod_en_acq=None, square_weight_acq=<factory>, thresholded_acq=<factory>, ttl_acq=<factory>)

Bases: object

awg: AwgConfig
connection: ConnectionConfig
demod_en_acq: bool = None
marker_ovr_en: bool = None
marker_ovr_value: int = None
mixer: MixerConfig
nco: NcoConfig
square_weight_acq: SquareWeightAcq
sync_en: bool = None
thresholded_acq: ThresholdedAcqConfig
trigger_count_thresholds: int
trigger_threshold_inverts: bool
ttl_acq: TtlAcqConfig
class SquareWeightAcq(integration_length=None)

Bases: object

integration_length: int = None
class ThresholdedAcqConfig(rotation=None, threshold=None, marker_en=None, marker_address=None, marker_invert=None, trigger_en=None, trigger_address=None, trigger_invert=None)

Bases: object

marker_address: int = None
marker_en: bool = None
marker_invert: bool = None
rotation: int = None
threshold: float = None
trigger_address: int = None
trigger_en: bool = None
trigger_invert: bool = None
class TtlAcqConfig(auto_bin_incr_en=None, threshold=None, input_select=None)

Bases: object

auto_bin_incr_en: bool = None
input_select: int = None
threshold: float = None