qat.backend.qblox.target_data module

class ControlSequencerDescription(**data)

Bases: SequencerDescription

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default()
max_num_instructions: Annotated[int]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ModuleDescription(**data)

Bases: NoExtraFieldsFrozenModel

Common constants related to Qblox Modules.

Parameters:

number_of_sequencers – Number of sequencers.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default()
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

number_of_sequencers: Annotated[int]
class Q1asmDescription(**data)

Bases: NoExtraFieldsFrozenModel

Constants related to Q1asm.

Parameters:
  • min_gain – Minimum gain in Q1ASM programs.

  • max_gain – Maximum gain in Q1ASM programs.

  • min_offset – Minimum offset in Q1ASM programs.

  • max_offset – Maximum offset in Q1ASM programs.

  • max_wait_time – Max size of wait instruction immediate operands in Q1ASM programs. Max value allowed by assembler is 2**16-1, but this is the largest that is a multiple of 4 ns.

  • register_size – Size of registers in Q1ASM programs.

  • loop_unroll_threshold – Size above which loops have tolerable overhead.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default()
loop_unroll_threshold: Annotated[int]
max_gain: Annotated[int]
max_offset: Annotated[int]
max_wait_time: Annotated[int]
min_gain: Annotated[int]
min_offset: Annotated[int]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

register_size: Annotated[int]
class QbloxTargetData(**data)

Bases: TargetData

Taxonomy of constants for Qblox electronics.

Parameters:
  • Q1ASM_DATA – Q1asm related constants.

  • CONTROL_SEQUENCER_DATA – Control sequencer related constants.

  • READOUT_SEQUENCER_DATA – Readout sequencer related constants.

  • QCM_DATA – Constants related to the QCM module.

  • QCM_RF_DATA – Constants related to the QCM-RF module.

  • QRM_DATA – Constants related to the QRM module.

  • QRM_RF_DATA – Constants related to the QRM module.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

CONTROL_SEQUENCER_DATA: ControlSequencerDescription
Q1ASM_DATA: Q1asmDescription
QCM_DATA: QcmDescription
QCM_RF_DATA: QcmRfDescription
QRM_DATA: QrmDescription
QRM_RF_DATA: QrmRfDescription
READOUT_SEQUENCER_DATA: ReadoutSequencerDescription
classmethod default()

Returns a default QbloxTargetData instance.

Return type:

QbloxTargetData

model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class QcmDescription(**data)

Bases: ModuleDescription

Constants related to Qblox QCM Module.

Parameters:
  • min_qcm_offset_v – Minimum offset for QCM.

  • max_qcm_offset_v – Maximum offset for QCM.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default()
max_qcm_offset_v: Annotated[float]
min_qcm_offset_v: Annotated[float]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class QcmRfDescription(**data)

Bases: QcmDescription

Constants related to Qblox QCM-RF Module.

Parameters:
  • min_qcm_rf_offset_mv – Minimum offset for QCM-RF.

  • max_qcm_rf_offset_mv – Maximum offset for QCM-RF.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default()
max_qcm_rf_offset_mv: Annotated[int]
min_qcm_rf_offset_mv: Annotated[int]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class QrmDescription(**data)

Bases: ModuleDescription

Constants related to Qblox QRM Module.

Parameters:
  • min_qrm_offset_v – Minimum offset for QRM.

  • max_qrm_offset_v – Maximum offset for QRM.

  • min_sample_size_scope_acquisitions – Minimum amount of scope trace acquisition datapoints returned.

  • max_sample_size_scope_acquisitions – Maximal amount of scope trace acquisition datapoints returned.

  • max_binned_acquisitions – Each QRM(-RF) module has a maximum of 3M memory bins. This memory can be dynamically allocated by each of the 6 sequencers. For example, all 6 sequencers can evenly allocate 500K bins simultaneously or a single sequencers can allocate the whole 3M and leaves nothing for other sequencers.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default()
max_binned_acquisitions: Annotated[int]
max_qrm_offset_v: Annotated[float]
max_sample_size_scope_acquisitions: Annotated[int]
min_qrm_offset_v: Annotated[float]
min_sample_size_scope_acquisitions: Annotated[int]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class QrmRfDescription(**data)

Bases: QrmDescription

Constants related to Qblox QRM-RF Module.

Parameters:
  • min_qrm_rf_offset_v – Minimum offset for QRM-RF.

  • max_qrm_rf_offset_v – Maximum offset for QRM-RF.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default()
max_qrm_rf_offset_v: Annotated[float]
min_qrm_rf_offset_v: Annotated[float]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ReadoutSequencerDescription(**data)

Bases: SequencerDescription

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default()
max_num_instructions: Annotated[int]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class SequencerDescription(**data)

Bases: NoExtraFieldsFrozenModel

Constants related to Qblox Sequencer.

Parameters:
  • grid_time – Clock period of the sequencers. All time intervals used must be multiples of this value.

  • nco_min_freq – Minimum NCO frequency.

  • nco_max_freq – Maximum NCO frequency.

  • nco_max_phase_steps – Maximum NCO phase steps.

  • nco_phase_steps_per_deg – The number of steps per degree for NCO phase instructions arguments.

  • nco_freq_steps_per_hz – The number of steps per Hz for the NCO set_freq instruction.

  • nco_freq_limit_steps – The maximum and minimum frequency expressed in steps for the NCO set_freq instruction. For the minimum we multiply by -1.

  • number_of_registers – Number of registers available in the Qblox sequencers.

  • min_acq_integration_length – Minimum integration lengths.

  • max_acq_integration_length – Maximum integration lengths.

  • min_acq_threshold – Minimum thresholds for the thresholded acquisition.

  • max_acq_threshold – Maximum thresholds for the thresholded acquisition.

  • max_sample_size_waveforms – Maximal amount of samples in the waveforms to be uploaded to a sequencer.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default()
grid_time: Annotated[int]
max_acq_integration_length: Annotated[int]
max_acq_threshold: Annotated[int]
max_num_instructions: Annotated[int]
max_sample_size_waveforms: Annotated[int]
min_acq_integration_length: Annotated[int]
min_acq_threshold: Annotated[int]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

nco_freq_limit_steps: Annotated[int]
nco_freq_steps_per_hz: Annotated[int]
nco_max_freq: Annotated[int]
nco_max_phase_steps: Annotated[int]
nco_min_freq: Annotated[int]
nco_phase_steps_per_deg: Annotated[float]
number_of_registers: Annotated[int]