qat.experimental.dialect.q1_sequence.target module

class Q1SequenceTarget

Bases: Target

emit(ctx, module, output)

Emits a Q1 sequence module as JSON.

Parameters:
  • ctx (Context) – xDSL context for the emission target.

  • module (ModuleOp) – Module containing SequenceOps.

  • output (IO[str]) – Text stream receiving the JSON output.

Return type:

None

name: ClassVar[str] = 'q1_sequence'
emit_config(attr)

Emit a Q1 sequence configuration attribute as runtime data.

IRDL parameter declarations are the single configuration schema. This target translation recursively emits their names and values instead of copying each attribute into a parallel runtime model.

Parameters:

attr (ConfigAttr) – Module or sequencer configuration attribute to emit.

Return type:

dict[str, Any]

Returns:

JSON-compatible configuration mapping.

Raises:

VerifyException – If required resolved routing state is absent.

emit_module(module)

Emits all sequences in a module as a keyed dict.

Parameters:

module (ModuleOp) – ModuleOp containing SequenceOps.

Return type:

dict[str, dict[str, Any]]

Returns:

{channel_id: Sequence_dict, ...} — one entry per sequencer/channel.

emit_sequence(seq_op)

Emits a Qblox Sequence dict for a single SequenceOp.

Parameters:

seq_op (SequenceOp) – SequenceOp to emit.

Return type:

dict[str, Any]

Returns:

Dict matching qblox_instruments.types.Sequence.

Raises:

VerifyException – If the SequenceOp fails verification.