qat.backend.qblox.target_data module

class ControlModuleDescription(**data)

Bases: ModuleDescription

Constants related to Qblox Control Modules.

Currently, there are no constants specific to control modules, but this class is defined for consistency and future extensibility.

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.

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

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-RF module.

  • QRC_DATA – Constants related to the QRC 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
QRC_DATA: QrcDescription
QRM_DATA: QrmDescription
QRM_RF_DATA: QrmRfDescription
READOUT_SEQUENCER_DATA: ReadoutSequencerDescription
driver_version: SemanticVersion
fw_version: SemanticVersion
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True, 'validate_by_alias': True, 'validate_by_name': True}

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

class QcmDescription(**data)

Bases: ControlModuleDescription

Constants related to Qblox QCM Module.

Parameters:
  • min_qcm_offset_v – Minimum offset.

  • max_qcm_offset_v – Maximum offset.

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.

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].

output_connections: dict
class QcmRfDescription(**data)

Bases: ControlModuleDescription

Constants related to Qblox QCM-RF Module.

Parameters:
  • min_qcm_rf_offset_mv – Minimum offset.

  • max_qcm_rf_offset_mv – Maximum offset.

  • min_out_att_db – Minimum attenuation.

  • max_out_att_db – Maximum attenuation.

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.

max_out_att_db: Annotated[int]
max_qcm_rf_offset_mv: Annotated[int]
min_out_att_db: 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].

output_connections: dict
class QrcDescription(**data)

Bases: ReadoutModuleDescription, ControlModuleDescription

Constants related to Qblox QRC Module.

Parameters:
  • number_of_sequencers – Number of sequencers in total.

  • number_of_readout_sequencers – Number of readout sequencers.

  • number_of_control_sequencers – Number of control sequencers.

  • min_out_att_db – Minimum output attenuation.

  • max_out_att_db – Maximum output attenuation.

  • min_in_att_db – Minimum input attenuation.

  • max_in_att_db – Maximum input attenuation.

  • output_connections – Sequencer output connection map.

  • input_connections – Sequencer input connection map.

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.

input_connections: dict
max_in_att_db: Annotated[float]
max_out_att_db: Annotated[float]
min_in_att_db: Annotated[float]
min_out_att_db: 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].

number_of_control_sequencers: Annotated[int]
number_of_readout_sequencers: Annotated[int]
number_of_sequencers: Annotated[int]
output_connections: dict
class QrmDescription(**data)

Bases: ReadoutModuleDescription

Constants related to Qblox QRM Module.

Parameters:
  • min_qrm_offset_v – Minimum offset.

  • max_qrm_offset_v – Maximum offset.

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.

input_connections: dict
max_qrm_offset_v: Annotated[float]
min_qrm_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].

output_connections: dict
class QrmRfDescription(**data)

Bases: ReadoutModuleDescription

Constants related to Qblox QRM-RF Module.

Parameters:
  • min_qrm_rf_offset_v – Minimum offset.

  • max_qrm_rf_offset_v – Maximum offset.

  • min_out_att_db – Minimum attenuation.

  • max_out_att_db – Maximum attenuation.

  • min_in_att_db – Minimum attenuation.

  • max_in_att_db – Maximum attenuation.

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.

input_connections: dict
max_in_att_db: Annotated[int]
max_out_att_db: Annotated[int]
max_qrm_rf_offset_v: Annotated[float]
min_in_att_db: Annotated[int]
min_out_att_db: Annotated[int]
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].

output_connections: dict
class ReadoutModuleDescription(**data)

Bases: ModuleDescription

Constants related to Qblox Readout Modules.

Parameters:
  • 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 readout module has a maximum of 3M memory bins. This memory can be dynamically allocated by each of the sequencers. For example, in a module with 6 sequencers, the sequencers can evenly allocate 500K bins simultaneously, or a single sequencer can allocate the whole 3M bins, leaving 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.

max_binned_acquisitions: Annotated[int]
max_sample_size_scope_acquisitions: Annotated[int]
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 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.

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]