quantify_scheduler.backends.qblox.instrument_compilers
Compiler classes for Qblox backend.
Module Contents
Classes
Implementation of an InstrumentCompiler that compiles for a generic LO. The main |
|
QCM specific implementation of the qblox compiler. |
|
QRM specific implementation of the qblox compiler. |
|
QCM-RF specific implementation of the qblox compiler. |
|
QRM-RF specific implementation of the qblox compiler. |
|
Compiler class for a Qblox cluster. |
Attributes
Maps the names in the hardware config to their appropriate compiler classes. |
- class LocalOscillator(parent: quantify_scheduler.backends.qblox.compiler_container.CompilerContainer, name: str, total_play_time: float, instrument_cfg: Dict[str, Any])[source]
Bases:
quantify_scheduler.backends.qblox.compiler_abc.InstrumentCompiler
Implementation of an InstrumentCompiler that compiles for a generic LO. The main difference between this class and the other compiler classes is that it doesn’t take pulses and acquisitions.
Constructor for a local oscillator compiler.
- Parameters
parent – Reference to the parent container object.
name – QCoDeS name of the device it compiles for.
total_play_time – Total time execution of the schedule should go on for. This parameter is used to ensure that the different devices, potentially with different clock rates, can work in a synchronized way when performing multiple executions of the schedule.
instrument_cfg – The part of the hardware mapping dict referring to this instrument.
- property frequency: Optional[float][source]
Getter for the frequency.
- Returns
The current frequency.
- compile(repetitions: int = 1) Optional[Dict[str, Any]] [source]
Compiles the program for the LO InstrumentCoordinator component.
- Parameters
repetitions – Number of times execution the schedule is repeated.
- Returns
Dictionary containing all the information the InstrumentCoordinator component needs to set the parameters appropriately.
- class QcmModule(parent, name: str, total_play_time: float, instrument_cfg: Dict[str, Any], latency_corrections: Optional[Dict[str, float]] = None)[source]
Bases:
quantify_scheduler.backends.qblox.compiler_abc.QbloxBasebandModule
QCM specific implementation of the qblox compiler.
Constructor function.
- Parameters
parent (
quantify_scheduler.backends.qblox.compiler_container.CompilerContainer
) – Reference to the parent object.name – Name of the QCoDeS instrument this compiler object corresponds to.
total_play_time – Total time execution of the schedule should go on for. This parameter is used to ensure that the different devices, potentially with different clock rates, can work in a synchronized way when performing multiple executions of the schedule.
instrument_cfg – The part of the hardware configuration dictionary referring to this device. This is one of the inner dictionaries of the overall hardware config.
latency_corrections – Dict containing the delays for each port-clock combination. This is specified in the top layer of hardware config.
- static_hw_properties: quantify_scheduler.backends.types.qblox.StaticHardwareProperties[source]
- class QrmModule(parent, name: str, total_play_time: float, instrument_cfg: Dict[str, Any], latency_corrections: Optional[Dict[str, float]] = None)[source]
Bases:
quantify_scheduler.backends.qblox.compiler_abc.QbloxBasebandModule
QRM specific implementation of the qblox compiler.
Constructor function.
- Parameters
parent (
quantify_scheduler.backends.qblox.compiler_container.CompilerContainer
) – Reference to the parent object.name – Name of the QCoDeS instrument this compiler object corresponds to.
total_play_time – Total time execution of the schedule should go on for. This parameter is used to ensure that the different devices, potentially with different clock rates, can work in a synchronized way when performing multiple executions of the schedule.
instrument_cfg – The part of the hardware configuration dictionary referring to this device. This is one of the inner dictionaries of the overall hardware config.
latency_corrections – Dict containing the delays for each port-clock combination. This is specified in the top layer of hardware config.
- static_hw_properties: quantify_scheduler.backends.types.qblox.StaticHardwareProperties[source]
- class QcmRfModule(parent, name: str, total_play_time: float, instrument_cfg: Dict[str, Any], latency_corrections: Optional[Dict[str, float]] = None)[source]
Bases:
quantify_scheduler.backends.qblox.compiler_abc.QbloxRFModule
QCM-RF specific implementation of the qblox compiler.
Constructor function.
- Parameters
parent (
quantify_scheduler.backends.qblox.compiler_container.CompilerContainer
) – Reference to the parent object.name – Name of the QCoDeS instrument this compiler object corresponds to.
total_play_time – Total time execution of the schedule should go on for. This parameter is used to ensure that the different devices, potentially with different clock rates, can work in a synchronized way when performing multiple executions of the schedule.
instrument_cfg – The part of the hardware configuration dictionary referring to this device. This is one of the inner dictionaries of the overall hardware config.
latency_corrections – Dict containing the delays for each port-clock combination. This is specified in the top layer of hardware config.
- static_hw_properties: quantify_scheduler.backends.types.qblox.StaticHardwareProperties[source]
- class QrmRfModule(parent, name: str, total_play_time: float, instrument_cfg: Dict[str, Any], latency_corrections: Optional[Dict[str, float]] = None)[source]
Bases:
quantify_scheduler.backends.qblox.compiler_abc.QbloxRFModule
QRM-RF specific implementation of the qblox compiler.
Constructor function.
- Parameters
parent (
quantify_scheduler.backends.qblox.compiler_container.CompilerContainer
) – Reference to the parent object.name – Name of the QCoDeS instrument this compiler object corresponds to.
total_play_time – Total time execution of the schedule should go on for. This parameter is used to ensure that the different devices, potentially with different clock rates, can work in a synchronized way when performing multiple executions of the schedule.
instrument_cfg – The part of the hardware configuration dictionary referring to this device. This is one of the inner dictionaries of the overall hardware config.
latency_corrections – Dict containing the delays for each port-clock combination. This is specified in the top layer of hardware config.
- static_hw_properties: quantify_scheduler.backends.types.qblox.StaticHardwareProperties[source]
- class Cluster(parent: quantify_scheduler.backends.qblox.compiler_container.CompilerContainer, name: str, total_play_time: float, instrument_cfg: Dict[str, Any], latency_corrections: Optional[Dict[str, float]] = None)[source]
Bases:
quantify_scheduler.backends.qblox.compiler_abc.ControlDeviceCompiler
Compiler class for a Qblox cluster.
Constructor for a Cluster compiler object.
- Parameters
parent – Reference to the parent object.
name – Name of the QCoDeS instrument this compiler object corresponds to.
total_play_time – Total time execution of the schedule should go on for.
instrument_cfg – The part of the hardware configuration dictionary referring to this device. This is one of the inner dictionaries of the overall hardware config.
latency_corrections – Dict containing the delays for each port-clock combination. This is specified in the top layer of hardware config.
- compiler_classes: Dict[str, type][source]
References to the individual module compiler classes that can be used by the cluster.
- supports_acquisition: bool = True[source]
Specifies that the Cluster supports performing acquisitions.
- construct_instrument_compilers() Dict[str, quantify_scheduler.backends.qblox.compiler_abc.QbloxBaseModule] [source]
Constructs the compilers for the modules inside the cluster.
- Returns
A dictionary with the name of the instrument as key and the value its compiler.