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 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.