qat.experimental.system_data.hardware.qblox package

Public Qblox system-data model.

class PortReference(*, kind, module_location, oscillator_id=None)

Bases: object

Materialised physical identity attached to a canonical port.

This target-specific extension gives the hardware view the stable identity needed to group canonical ports without interpreting legacy configuration payloads.

Parameters:
  • kind (QbloxModuleKind) – Installed module kind.

  • module_location (QbloxModuleLocation) – Physical instrument and module slot.

  • oscillator_id (Optional[str]) – Canonical oscillator referenced by the source port, if any.

kind: QbloxModuleKind
module_location: QbloxModuleLocation
oscillator_id: str | None
class QbloxHardwareView(acquire_limit, modules=frozendict.frozendict({}))

Bases: DerivedViewInterface[CanonicalSystemData]

Installed modules and canonical bindings used by Q1 configuration resolution.

The view owns immutable records and does not retain its canonical parent. Its module- oriented shape is the stable input expected by later allocation and Q1 configuration layers.

Parameters:

Create an immutable view from already-projected module records.

acquire_limit: int
property channel_bindings: Mapping[str, QbloxChannelBinding]

Return projected calibrated channels indexed by canonical identifier.

classmethod derive(canonical_data, **kwargs)

Project typed Qblox extensions from validated canonical system data.

Parameters:
  • canonical_data (CanonicalSystemData) – Canonical system data produced by a validating materialiser.

  • kwargs (Any) – Unused derived-view compatibility arguments.

Return type:

QbloxHardwareView

Returns:

An immutable module-oriented projection.

modules: frozendict[QbloxModuleLocation, QbloxModuleView]
property oscillator_bindings: Mapping[str, QbloxOscillatorBinding]

Return projected local oscillators indexed by canonical identifier.

property port_bindings: Mapping[str, QbloxPortBinding]

Return projected ports indexed by canonical identifier.

class QbloxModuleKind(value)

Bases: str, Enum

Qblox module kinds represented by canonical system data.

classmethod from_qblox_identifier(value)

Parse a module kind embedded in a canonical Qblox identifier.

Parameters:

value (str | None) – Canonical resource identifier.

Return type:

QbloxModuleKind | None

Returns:

The longest matching kind, or None.

classmethod from_qblox_name(value)

Parse an official Qblox module name.

Parameters:

value (str) – Module name using hyphens or underscores in any case.

Return type:

QbloxModuleKind

Returns:

The parsed module kind.

qcm = 'qcm'
qcm_rf = 'qcm_rf'
qrc = 'qrc'
qrm = 'qrm'
qrm_rf = 'qrm_rf'
class QbloxModuleLocation(instrument_id, slot)

Bases: object

Physical location of a module within a Qblox instrument.

Parameters:
  • instrument_id (str) – Canonical identifier of the containing Cluster.

  • slot (int) – One-based physical Cluster slot. Target-specific range validation is performed by QbloxTargetDescription.

instrument_id: str
slot: int
class QbloxTargetDescription(q1asm, sequencer_specs, module_specs, min_module_slot=1, max_module_slot=20)

Bases: object

Immutable Qblox target specification and typed query boundary.

input_sequencers(kind, input_)

Return sequencers routable from a physical input channel.

Return type:

tuple[int, ...]

max_module_slot: int
min_module_slot: int
module_spec(kind)

Return the target specification for kind.

Return type:

ModuleSpec

module_specs: frozendict[QbloxModuleKind, ModuleSpec]
output_sequencers(kind, output)

Return sequencers routable to a physical output channel.

Return type:

tuple[int, ...]

q1asm: Q1AsmSpec
sequencer(kind, index)

Return the module-bound target view of a physical sequencer.

Return type:

SequencerTarget

sequencer_spec(type_)

Return the shared target specification for a Q1 sequencer type.

Return type:

Q1SequencerSpec

sequencer_specs: frozendict[Q1SequencerType, Q1SequencerSpec]
supports(kind, index, feature)

Return whether a physical sequencer provides feature.

Return type:

bool

validate_module_location(location)

Validate that a module location is representable by this target.

Parameters:

location (QbloxModuleLocation) – Physical instrument and slot occupied by a module.

Raises:

ValueError – If the slot falls outside the target’s Cluster chassis.

Return type:

None

Submodules