qat.experimental.system_data.hardware.base module
Base dataclasses and interface for hardware-specific derived views of canonical system data.
This module provides the building blocks for describing a complete RF tone generation setup:
a Generator groups the Sequencer instances and
LocalOscillator instances required to produce a single tone (e.g. LO at
4.4 GHz + sequencer NCO at 240 MHz = 4.64 GHz output). The
HardwareViewInterface interface ties these together into a derived view of
CanonicalSystemData, enforcing
that every concrete backend view exposes its generators and the acquisition limit drawn
from the canonical system data.
- class Generator(port_id, sample_time, sequencers=(), local_oscillators=())
Bases:
objectHardware generator representing a complete tone generation unit.
Contains sequencers and local oscillators that work together to generate a tone.
- Variables:
port_id – Port ID this generator is derived from.
sample_time – Sample time in picoseconds.
sequencers – Tuple of sequencers that drive this generator.
local_oscillators – Tuple of local oscillators used by this generator.
-
local_oscillators:
tuple[LocalOscillator,...]
-
port_id:
str
-
sample_time:
int
- class HardwareViewInterface
Bases:
DerivedViewInterface[CanonicalSystemData],ABCAbstract interface for hardware-specific derived views of canonical system data.
Concrete backend views must implement
derive()(inherited fromDerivedViewInterface) and exposeacquire_limitandgenerators.- Variables:
acquire_limit – Maximum allowed acquisitions for a single execution batch.
generators – Generators available in this hardware view.
-
acquire_limit:
int
- class LocalOscillator(id, frequency)
Bases:
objectPlaceholder for hardware-specific local oscillator attributes.
-
frequency:
int
-
id:
str
-
frequency:
- class Sequencer(fields=<factory>, min_values=<factory>, max_values=<factory>)
Bases:
ABCAbstract hardware sequencer description.
Concrete hardware sequencer classes can expose arbitrary capabilities via
fieldsand optional numeric bounds viamin_values/max_values.- Variables:
fields – Hardware-specific sequencer fields keyed by string name.
min_values – Optional minimum bounds keyed by field name.
max_values – Optional maximum bounds keyed by field name.
-
fields:
dict[str,object]
- abstract classmethod kind()
Return the hardware-specific sequencer kind.
- Return type:
str
-
max_values:
dict[str,float]
-
min_values:
dict[str,float]