mock_rom#
Compiler backend for a mock readout module.
Module Contents#
Classes#
| Mock readout module that just supports "TRACE" instruction. | |
| Mock readout module gettable. | |
| Acquisition configuration for the mock readout module. | |
| Settings that can be uploaded to the mock readout module. | |
| Mock readout module instrument coordinator component. | |
| Specifies a piece of hardware and its instrument-specific settings. | |
| Datastructure containing the hardware options for each port-clock combination. | |
| Information required to compile a schedule to the control-hardware layer. | 
Functions#
| 
 | Compile the schedule to the mock ROM. | 
Attributes#
- class MockReadoutModule(name: str, sampling_rate: float = 1000000000.0, gain: float = 1.0)[source]#
- Mock readout module that just supports “TRACE” instruction. - upload_waveforms(waveforms: dict[str, quantify_scheduler.structure.types.NDArray]) None[source]#
- Upload a dictionary of waveforms defined on a 1 ns grid. 
 - get_results() list[numpy.ndarray][source]#
- Return the results of the execution. 
 
- class MockROMGettable(mock_rom: MockReadoutModule, waveforms: dict[str, quantify_scheduler.structure.types.NDArray], instructions: list[str], sampling_rate: float = 1000000000.0, gain: float = 1.0)[source]#
- Mock readout module gettable. - get() list[numpy.ndarray][source]#
- Execute the sequence and return the results. 
 
- class MockROMAcquisitionConfig(/, **data: Any)[source]#
- Bases: - quantify_scheduler.structure.model.DataStructure- Acquisition configuration for the mock readout module. - This information is used in the instrument coordinator component to convert the acquired data to an xarray dataset. 
- class MockROMSettings(/, **data: Any)[source]#
- Bases: - quantify_scheduler.structure.model.DataStructure- Settings that can be uploaded to the mock readout module. - waveforms: dict[str, quantify_scheduler.structure.types.NDArray][source]#
 - acq_config: MockROMAcquisitionConfig[source]#
 
- class MockROMInstrumentCoordinatorComponent(mock_rom: MockReadoutModule)[source]#
- Bases: - quantify_scheduler.instrument_coordinator.components.base.InstrumentCoordinatorComponentBase- Mock readout module instrument coordinator component. - property is_running: bool[source]#
- Returns if the InstrumentCoordinator component is running. - The property - is_runningis evaluated each time it is accessed. Example:- while my_instrument_coordinator_component.is_running: print('running') - Returns:
- The components’ running state. 
 
 - prepare(options: MockROMSettings) None[source]#
- Upload the settings to the ROM. 
 - retrieve_acquisition() xarray.Dataset[source]#
- Get the acquired data and return it as an xarray dataset. 
 - get_hardware_log(compiled_schedule: quantify_scheduler.schedules.schedule.CompiledSchedule) None[source]#
- Return the hardware log. 
 
- hardware_compile(schedule: quantify_scheduler.schedules.schedule.Schedule, config: quantify_scheduler.backends.graph_compilation.CompilationConfig) quantify_scheduler.schedules.schedule.Schedule[source]#
- Compile the schedule to the mock ROM. 
- class MockROMDescription(/, **data: Any)[source]#
- Bases: - quantify_scheduler.backends.types.common.HardwareDescription- Specifies a piece of hardware and its instrument-specific settings. - Each supported instrument type should have its own datastructure that inherits from this class. For examples, see - ClusterDescription,- ZIHDAWG4Description,- LocalOscillatorDescription.- This datastructure is used to specify the control-hardware ports that are included in the - Connectivitygraph.
- class MockROMHardwareOptions(/, **data: Any)[source]#
- Bases: - quantify_scheduler.backends.types.common.HardwareOptions- Datastructure containing the hardware options for each port-clock combination. - This datastructure contains the HardwareOptions that are currently shared among the existing backends. Subclassing is required to add backend-specific options, see e.g., - QbloxHardwareOptions,- ZIHardwareOptions.
- class MockROMHardwareCompilationConfig(/, **data: Any)[source]#
- Bases: - quantify_scheduler.backends.types.common.HardwareCompilationConfig- Information required to compile a schedule to the control-hardware layer. - From a point of view of Compilation this information is needed to convert a schedule defined on a quantum-device layer to compiled instructions that can be executed on the control hardware. - This datastructure defines the overall structure of a - HardwareCompilationConfig. Specific hardware backends should customize fields within this structure by inheriting from this class and specifying their own “config_type”, see e.g.,- QbloxHardwareCompilationConfig,- ZIHardwareCompilationConfig.- config_type: type[MockROMHardwareCompilationConfig] = None[source]#
- A reference to the - HardwareCompilationConfigDataStructure for the Mock ROM backend.
 - hardware_description: dict[str, MockROMDescription][source]#
- Datastructure describing the control hardware instruments in the setup and their high-level settings. 
 - hardware_options: MockROMHardwareOptions[source]#
- The - HardwareOptionsused in the compilation from the quantum-device layer to the control-hardware layer.
 - compilation_passes: list[quantify_scheduler.backends.graph_compilation.SimpleNodeConfig][source]#
- The list of compilation nodes that should be called in succession to compile a schedule to instructions for the control hardware.