qat.experimental.dialect.q1_sequence.ir.imm_desc module
Semantic immediate attribute types for the Qblox q1_sequence dialect.
These types refine Q1Imm with
the per-sequencer table sizes and per-module bin budget published by Qblox.
Out-of-range values fail at construction time, before they can land in the IR.
- class AcqTableIndex(value)
Bases:
Q1ImmIndex into a sequencer’s acquisition table:
[0, 31].Up to 32 acquisition entries per sequencer;
acquire*instructions reference them viaacq_idx.- data: DataElement
- name: ClassVar[str] = 'q1_sequence.acq_table_index'
The attribute name should be a static field in the attribute classes.
- class BinCountImm(value)
Bases:
Q1ImmNumber of acquisition bins:
[0, 7_000_000].The hardware budget is per-module, not per-acquisition: 3 M bins total for QRM / QRM-RF and 7 M total for QRC. We allow the worst-case max here; cross-acquisition aggregation is checked elsewhere.
- data: DataElement
- name: ClassVar[str] = 'q1_sequence.bin_count_imm'
The attribute name should be a static field in the attribute classes.
- class IntegrationLengthImm(value)
Bases:
Q1ImmSquare-weight acquisition integration length in samples:
[4, 2**24 - 4].The number of ADC samples the sequencer integrates for an unweighted acquisition, measured at the readout sequencer sample rate. This maps to the QCoDeS
sequencer.integration_length_acqparameter. Hardware requires a multiple of 4 samples.- name: ClassVar[str] = 'q1_sequence.integration_length_imm'
The attribute name should be a static field in the attribute classes.
- class SequencerIndexAttr(value)
Bases:
Q1ImmIndex of a sequencer within a Qblox module:
[0, 11].- name: ClassVar[str] = 'q1_sequence.sequencer_index'
The attribute name should be a static field in the attribute classes.
- class SlotIndexAttr(value)
Bases:
Q1ImmIndex of a module in a Qblox Cluster chassis:
[1, 20].- name: ClassVar[str] = 'q1_sequence.slot_index'
The attribute name should be a static field in the attribute classes.
- class WaveformTableIndex(value)
Bases:
Q1ImmIndex into a sequencer’s waveform table:
[0, 1023].A Q1 sequencer can hold up to 1024 waveform entries shared across both output paths;
play.wave0/play.wave1reference them by index.- data: DataElement
- name: ClassVar[str] = 'q1_sequence.waveform_table_index'
The attribute name should be a static field in the attribute classes.
- class WeightTableIndex(value)
Bases:
Q1ImmIndex into a sequencer’s weight table:
[0, 31].Up to 32 integration-weight arrays are stored per sequencer; the
acquire_weightedinstruction selects one via its 6-bitweight_idx{0,1}fields (encoded asUI6Imm), of which only the low 5 bits address an entry on current hardware.- data: DataElement
- name: ClassVar[str] = 'q1_sequence.weight_table_index'
The attribute name should be a static field in the attribute classes.