qat.experimental.conversion.pulse_to_q1.qblox_configuration.resolution module

Resolve supplied Qblox configuration into Q1 configuration attributes.

Resolution projects the values a source supplied, the routing it selected, and the calibration of the canonical channel onto ModuleConfigAttr and SequencerConfigAttr. It never invents a value: a field the source left unset stays absent so a later pass, or the instrument itself, still owns the default. It also never duplicates target data - the module and sequencer capabilities used to validate the supplied configuration are read from DEFAULT_QBLOX_TARGET.

resolve_sequencer_bindings(hardware_view, supplied_configurations_by_resource, used_channel_ids)

Resolve the canonical channels a program uses onto Q1 configuration.

Parameters:
  • hardware_view (QbloxHardwareView) – Derived Qblox projection of the canonical hardware.

  • supplied_configurations_by_resource (Mapping[str, QbloxSuppliedConfiguration]) – Supplied configurations keyed by external- resource identifier.

  • used_channel_ids (Collection[str]) – A collection of canonical channels used within a program.

Return type:

frozendict[str, SequencerBinding]

Returns:

The resolved binding of each used canonical channel, keyed by channel identifier.

Raises:

ValueError – If the supplied configuration is incomplete, conflicts with the canonical calibration, or is invalid for the installed hardware.