timetag#
Utilty classes for Qblox timetag module.
Module Contents#
Classes#
Class that performs the compilation steps on the sequencer level, for the QTM. |
- class TimetagSequencerCompiler(parent: quantify_scheduler.backends.qblox.instrument_compilers.TimetagModuleCompiler, index: int, portclock: tuple[str, str], static_hw_properties: quantify_scheduler.backends.types.qblox.StaticHardwareProperties, settings: quantify_scheduler.backends.types.qblox.TimetagSequencerSettings, latency_corrections: dict[str, float], qasm_hook_func: Callable | None = None)[source]#
Bases:
quantify_scheduler.backends.qblox.compiler_abc.SequencerCompiler
Class that performs the compilation steps on the sequencer level, for the QTM.
- Parameters:
parent – A reference to the module compiler this sequencer belongs to.
index – Index of the sequencer.
portclock – Tuple that specifies the unique port and clock combination for this sequencer. The first value is the port, second is the clock.
static_hw_properties – The static properties of the hardware. This effectively gathers all the differences between the different modules.
settings – The settings set to this sequencer.
latency_corrections – Dict containing the delays for each port-clock combination.
qasm_hook_func – Allows the user to inject custom Q1ASM code into the compilation, just prior to returning the final string.
- _prepare_acq_settings(acquisitions: list[quantify_scheduler.backends.qblox.operation_handling.base.IOperationStrategy], acq_metadata: quantify_scheduler.schedules.schedule.AcquisitionMetadata) None [source]#
Sets sequencer settings that are specific to certain acquisitions. For example for a TTL acquisition strategy.
- Parameters:
acquisitions – List of the acquisitions assigned to this sequencer.
acq_metadata – Acquisition metadata.
- _write_pre_wait_sync_instructions(qasm: quantify_scheduler.backends.qblox.qasm_program.QASMProgram) None [source]#
Write instructions to the QASM program that must come before the first wait_sync.
The duration must be equal for all module types.
- _write_repetition_loop_header(qasm: quantify_scheduler.backends.qblox.qasm_program.QASMProgram) None [source]#
Write the Q1ASM that should appear at the start of the repetition loop.
The duration must be equal for all module types.
- _insert_qasm(op_strategy: quantify_scheduler.backends.qblox.operation_handling.base.IOperationStrategy, qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram) None [source]#
Get Q1ASM instruction(s) from
op_strategy
and insert them intoqasm_program
.