All parameters below are latched and only updated when a real-time instruction (like upd_param or play) is executed. The wait real-time instruction does not update latched parameters.

To understand the functionalities of the instructions that follow, let us model the total phase of the NCO as defined in the control sequencer page.

\(\phi_\text{acc}(t) = 2\pi f t' + \Phi + \phi\)

Hereon, by accumulated phase we mean \(\phi_\text{acc}\), by phase we mean \(\phi_0\), and by phase kick we refer to \(\delta\phi\).

Control/Readout latched instructions#

Instruction

Signature

Execution Time (ns)

Description

set_mrk

mask: I

mask: R

4

4

Set marker output channels to mask (bits 0–3), where the bit index corresponds to the channel index for baseband modules. For example, set_mrk {0b0001} sets marker M1 high.

For QCM-RF modules: bit indices 0 & 1 correspond to enabling output 1 and 2 switches; indices 2 & 3 correspond to marker output 2 and 1 (sic!) respectively. For example, set_mrk {0b0110} turns on the output 2 switch and sets marker M2 high.

For QRM-RF modules: bit index 0 is inactive; bit index 1 corresponds to enabling output 1 switch; indices 2 & 3 correspond to marker output 1 and 2 (sic!) respectively. For example, set_mrk {0b0110} turns on the output 1 switch and sets marker M1 high.

The values are OR’ed with those of other sequencers.

The mask is overridden if ControlSequencer.marker_ovr_en() is True. In this case, the ControlSequencer.marker_ovr_value() sets the 4 bits.

set_freq

value: I

value: R

4

4

Sets the NCO frequency (f) to value. The frequency is set using an integer between –\(2 \times 10^9\) and \(2 \times 10^9\), which corresponds to a range of –500 and 500 MHz. This provides \(4 \times 10^9\) discrete steps, where 1 MHz is represented by the integer \(4 \times 10^6\).

reset_ph

4

Resets the NCO’s accumulated phase to zero. by setting \(t' \rightarrow 0\), \(\Phi \rightarrow 0\) and \(\Phi \rightarrow 0\).

set_ph

value: I

value: R

4

4

Sets the NCO phase offset \(\phi\) to value. The phase is set using an integer that maps a full \(360^\circ\) circle to an integer between \(0\) and \(10^9\) (e.g. \(45^\circ = 125 \times 10^6\)).

set_ph_delta

value: I

value: R

4

4

Adds an instantaneous phase kick (\(\Delta\phi\)) to the NCO’s total phase (\(t'\rightarrow t' + \delta\phi/(2\pi f)\)). This is useful for applying dynamic phase shifts during a sequence.

set_awg_gain

value_0: I, value_1: I

value_0: R, value_1: R

4


8

Sets the signal gain for the two AWG paths. Values are integers from –32,768 to 32,767.

set_awg_offs

value_0: I, value_1: I

value_0: R, value_1: R

4


8

Sets the signal offset for the two AWG paths. Values are integers from –32,768 to 32,767.