QbloxCompiler

class qililab.QbloxCompiler

Bases: object

A class for compiling QProgram to QBlox hardware.

Attributes Summary

minimum_wait_duration

Methods Summary

calculate_square_waveform_optimization_values(...)

compile(qprogram[, bus_mapping, ...])

Compile QProgram to qpysequence.Sequence

traverse_qprogram_acquire(block[, depth])

Pre-pass over the QProgram tree to collect acquisition metadata before compilation.

Attributes Documentation

minimum_wait_duration = 4

Methods Documentation

static calculate_square_waveform_optimization_values(duration)
compile(qprogram, bus_mapping=None, calibration=None, times_of_flight=None, delays=None, markers=None, ext_trigger=False, qblox_buses=None, single_channel=None, crosstalk=None)

Compile QProgram to qpysequence.Sequence

Parameters:
  • qprogram (QProgram) – The QProgram to be compiled

  • bus_mapping (dict[str, str], optional) – Optional mapping of bus names. Defaults to None.

  • times_of_flight (dict[str, int], optional) – Optional time of flight of bus. Defaults to None.

Return type:

QbloxCompilationOutput

traverse_qprogram_acquire(block, depth=0)

Pre-pass over the QProgram tree to collect acquisition metadata before compilation.

Populates _acquisition_metadata: a mapping of bus → {block_uuid → (count, depth)}, where count is the number of acquire operations directly inside that block and depth is the tree nesting depth of that block. This metadata is consumed by compile() to detect the exceeds-depth regime and by traverse() to set counter_acquire on each bus.