qat.experimental.dialect.q1_sequence package
- class AcquisitionAttr(*parameters)
Bases:
AcquisitionAttrAn acquisition entry in a Qblox sequence’s acquisitions dictionary.
- Parameters:
-
acquisition_name:
StringAttr= <xdsl.irdl.attributes._ParameterDef object>
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
-
index:
IntegerAttr[IntegerType[Literal[32],Literal[<Signedness.UNSIGNED: 2>]]] = <xdsl.irdl.attributes._ParameterDef object>
- name: ClassVar[str] = 'q1_sequence.acquisition'
The attribute name should be a static field in the attribute classes.
-
num_bins:
IntegerAttr[IntegerType[Literal[32],Literal[<Signedness.UNSIGNED: 2>]]] = <xdsl.irdl.attributes._ParameterDef object>
- class Q1SequenceTarget
Bases:
Target- emit(ctx, module, output)
Emits a Q1 sequence module as JSON.
- name: ClassVar[str] = 'q1_sequence'
- class SequenceOp(channel_id, program, waveforms=None, weights=None, acquisitions=None)
Bases:
SequenceOp,IRDLOperation,Operation,_IRNode,ABC,objectA sequence op represents the payload for a single Sequencer/PPU in a Qblox instrument. The body region holds Q1 assembly ops and must be terminated by a Stop* op. Data table attributes (waveforms, weights, acquisitions) are static lookup tables referenced by instruction indices.
- Parameters:
sym_name¶ – Channel/sequencer identifier (e.g.
"Q0_drive").body¶ – Single-block region of Q1 instruction ops.
waveforms¶ (
Optional[ArrayAttr[WaveformAttr]]) – Waveform data table entries.weights¶ (
Optional[ArrayAttr[WeightAttr]]) – Weight data table entries.acquisitions¶ (
Optional[ArrayAttr[AcquisitionAttr]]) – Acquisition data table entries.
- acquisitions
Accessor for an operation property.
- body
Access a non-variadic construct which appears before any variadic arguments.
- property channel_id: StringAttr
Alias for sym_name, the channel identifier.
- classmethod get_irdl_definition()
Get the IRDL operation definition.
- name: ClassVar[str] = 'q1_sequence.sequence'
The operation name. Should be a static member of the class
- sym_name
Accessor for an operation attribute.
- traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>
Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.
- verify_()
Verifies SequenceOp invariants.
channel_id must be non-empty.
Program body must be terminated by an IsTerminator op.
Indices must be unique within each data table.
Names must be unique within each data table.
- waveforms
Accessor for an operation property.
- weights
Accessor for an operation property.
- class WaveformAttr(*parameters)
Bases:
WaveformAttrA waveform entry in a Qblox sequence’s waveforms dictionary.
- Parameters:
-
data:
DenseIntOrFPElementsAttr[Float32Type] = <xdsl.irdl.attributes._ParameterDef object>
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
-
index:
IntegerAttr[IntegerType[Literal[32],Literal[<Signedness.UNSIGNED: 2>]]] = <xdsl.irdl.attributes._ParameterDef object>
- name: ClassVar[str] = 'q1_sequence.waveform'
The attribute name should be a static field in the attribute classes.
- verify()
Check that the attribute parameters satisfy the expected invariants. Raise a VerifyException otherwise.
- Return type:
None
-
waveform_name:
StringAttr= <xdsl.irdl.attributes._ParameterDef object>
- class WeightAttr(*parameters)
Bases:
WeightAttrA weight entry in a Qblox sequence’s weights dictionary.
Weights are per-sample integration coefficients applied to the demodulated signal during weighted acquisition (
acquire_weighed). Each coefficient multiplies the corresponding 1 ns ADC sample before summation, enabling matched-filter or optimal-discrimination readout schemes.A sequencer holds up to 32 weight arrays sharing a budget of 16 384 samples (i.e. 16 384 ns at 1 GSa/s).
- Parameters:
-
data:
DenseIntOrFPElementsAttr[Float32Type] = <xdsl.irdl.attributes._ParameterDef object>
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
-
index:
IntegerAttr[IntegerType[Literal[32],Literal[<Signedness.UNSIGNED: 2>]]] = <xdsl.irdl.attributes._ParameterDef object>
- name: ClassVar[str] = 'q1_sequence.weight'
The attribute name should be a static field in the attribute classes.
- verify()
Check that the attribute parameters satisfy the expected invariants. Raise a VerifyException otherwise.
- Return type:
None
-
weight_name:
StringAttr= <xdsl.irdl.attributes._ParameterDef object>