quantify_scheduler.backends.qblox.operation_handling.acquisitions

Classes for handling acquisitions.

Module Contents

Classes

AcquisitionStrategyPartial

Contains the logic shared between all the acquisitions.

SquareAcquisitionStrategy

Performs a square acquisition (i.e. without acquisition weights).

WeightedAcquisitionStrategy

Performs a weighted acquisition.

TriggerCountAcquisitionStrategy

Performs a trigger count acquisition.

class AcquisitionStrategyPartial(operation_info: quantify_scheduler.backends.types.qblox.OpInfo)[source]

Bases: quantify_scheduler.backends.qblox.operation_handling.base.IOperationStrategy

Contains the logic shared between all the acquisitions.

Constructor of superclass.

property operation_info: quantify_scheduler.backends.types.qblox.OpInfo[source]

Property for retrieving the operation info.

bin_idx_register: Optional[str][source]

The register used to keep track of the bin index, only not None for append mode acquisitions.

insert_qasm(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]

Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition. This function calls either acquire_average or acquire_append, depending on the bin mode.

The acquire_average and acquire_append are to be implemented in the subclass.

Parameters

qasm_program – The QASMProgram to add the assembly instructions to.

abstract acquire_average(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]

Adds the assembly to the program for a bin_mode==AVERAGE acquisition.

abstract acquire_append(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]

Adds the assembly to the program for a bin_mode==APPEND acquisition.

class SquareAcquisitionStrategy(operation_info: quantify_scheduler.backends.types.qblox.OpInfo)[source]

Bases: AcquisitionStrategyPartial

Performs a square acquisition (i.e. without acquisition weights).

Constructor of superclass.

generate_data(wf_dict: Dict[str, Any]) None[source]

Returns None as no waveform is needed.

acquire_average(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]

Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming averaging is used.

Parameters

qasm_program – The QASMProgram to add the assembly instructions to.

acquire_append(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]

Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming append is used.

Parameters

qasm_program – The QASMProgram to add the assembly instructions to.

_acquire_square(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram, bin_idx: Union[int, str]) None[source]

Adds the instruction for performing acquisitions without weights playback.

Parameters
  • qasm_program – The qasm program to add the acquisition to.

  • bin_idx – The bin_idx to store the result in, can be either an int (for immediates) or a str (for registers).

class WeightedAcquisitionStrategy(operation_info: quantify_scheduler.backends.types.qblox.OpInfo)[source]

Bases: AcquisitionStrategyPartial

Performs a weighted acquisition.

Constructor for this strategy.

Parameters

operation_info – The operation info that corresponds to this acquisition.

generate_data(wf_dict: Dict[str, Any])[source]

Generates the waveform data for both acquisition weights.

Parameters

wf_dict – The dictionary to add the waveform to. N.B. the dictionary is modified in function.

acquire_average(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]

Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming averaging is used.

Parameters

qasm_program – The QASMProgram to add the assembly instructions to.

acquire_append(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]

Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming append is used. Registers will be used for the weight indexes and the bin index.

Parameters

qasm_program – The QASMProgram to add the assembly instructions to.

class TriggerCountAcquisitionStrategy(operation_info: quantify_scheduler.backends.types.qblox.OpInfo)[source]

Bases: AcquisitionStrategyPartial

Performs a trigger count acquisition.

Constructor of superclass.

generate_data(wf_dict: Dict[str, Any]) None[source]

Returns None as no waveform is needed.

acquire_average(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]

Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming averaging is used.

Parameters

qasm_program – The QASMProgram to add the assembly instructions to.

acquire_append(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]

Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming append is used.

Parameters

qasm_program – The QASMProgram to add the assembly instructions to.