qat.experimental.dialect.q1_sequence.attrs module

class AcquisitionAttr(*parameters)

Bases: AcquisitionAttr

An acquisition entry in a Qblox sequence’s acquisitions dictionary.

Parameters:
  • acquisition_name – Acquisition name.

  • index – Index referenced by acquire ops (acq_idx).

  • num_bins – Number of acquisition bins.

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 WaveformAttr(*parameters)

Bases: WaveformAttr

A waveform entry in a Qblox sequence’s waveforms dictionary.

Parameters:
  • waveform_name – Waveform name.

  • index – Index referenced by play ops (wave0/wave1).

  • data – Float32 samples, each sample in [-1.0, 1.0] represents DAC range.

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: WeightAttr

A 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:
  • weight_name – Weight name.

  • index – Index referenced by acquire_weighed (0-31, up to 32 weight arrays per sequencer).

  • data – Float32 coefficients, each in [-1.0, 1.0].

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>
make_acquisition(name, index, num_bins)

Creates an AcquisitionAttr from Python primitives.

Parameters:
  • name (str) – Acquisition name.

  • index (int) – Table index.

  • num_bins (int) – Number of acquisition bins.

Return type:

AcquisitionAttr

Returns:

An AcquisitionAttr.

make_waveform(name, index, samples)

Creates a WaveformAttr from Python primitives.

Parameters:
  • name (str) – Waveform name.

  • index (int) – Table index.

  • samples (list[float]) – Float samples in [-1.0, 1.0].

Return type:

WaveformAttr

Returns:

A verified WaveformAttr.

make_weight(name, index, coeffs)

Creates a WeightAttr from Python primitives.

Parameters:
  • name (str) – Weight name.

  • index (int) – Table index.

  • coeffs (list[float]) – Float coefficients in [-1.0, 1.0].

Return type:

WeightAttr

Returns:

A verified WeightAttr.