Feedback Tab

The Feedback tab provides control and displays the flow of the feedback pipeline. It is available on all PQSC instruments.


  • Display the full feedback pipeline and how the elements are connected

  • Control the register forwarding parameters


Table 1. App icon and short description
Control/Tool Option/Range Description


btn mnu feedback um

Control and display of the feedback pipeline.

The Feedback tab (see Figure 1) shows the flow of data from the input ZSync ports on the left, to the output ZSync ports on the right. The readout register forwarding (see Register Forwarding for more details) can be configured from the output tab.

functional feedback
Figure 1. LabOne UI: Feedback tab

The PQSC provides a way to process readout result feedback actions in real time with minimal latency. Readout result are generated by the Quantum Analyzers, like the SHFQA or the UHFQA, while the feedback data are received by Signal Generators, like the SHFSG or the HDAWG. All the communications are done over ZSync.

The PQSC feedback architecture according to Figure 2 processes the incoming data in several stages. First, the incoming readout results are stored in the Readout Register Bank. The storage address is provided dynamically by the Quantum Analyzer. Then, a subset of the Readout Register Bank content can be forwarded directly to the signal generators or fed to a decoder for further processing.

Only the ports 1-8 can be connected to a Quantum Analyzer; ports 9-18 are not enabled to receive data. All the ports are enabled to send data.

fig functional pqsc feedback architecture
Figure 2. Block diagram of the PQSC feedback architecture

Readout Register Bank

The readout register bank is used to store multiple readout results measured by the Quantum Analyzers. The purpose of this memory is to provide a global point of access to all the last readouts done on multiple qubits. The register bank can be updated partially if not all the possible readouts are performed in a single cycle, for example if they are staggered. It’s possible to store multiple repeated measurements by using a different register for each readout cycle. The readout register bank is not intended to acquire the measurements for offline analysis and storage, but only for processing and feedback by the PQSC itself and the other connected instruments.

The Readout Register bank consists of 32 readout registers, of which each can store up to 16 qubit readout results from one device (10 16 qubit readout results for the UHFQA). Every Quantum Analyzer connected to the PQSC writes into the readout register bank when it performs a readout. Only the qubits actually read are written into a register, the other bits are left untouched. The register address is specified in the sequencer by the Quantum Analyzer before the readout is started. Thus it can be changed between different readout events. From LabOne, the user can only clear all the registers before an experiment, the stored values are not accessible.

Register Forwarding

Readout register forwarding can be used to send a subset of the readout register bank content to the signal generators without further processing. Each ZSync output port can forward up to four freely chosen readout results, corresponding to four qubit readouts. Every port can be configured with his own set of forwarded results. The forwarded results are specified by the register number and index of the desired bit inside of the register. Whenever one of the four linked registers is updated, its content is automatically forwarded and a trigger for the receiving instrument is generated. This functionality is intended for feedback that require minimal latency and depend on the state of very few qubits. The typical example is the active qubit reset, when a qubit is brought to its ground state if it’s in one excited state. The forwarded results can be decoded on the receiving instrument with the function getZSyncData(ZSYNC_DATA_PQSC_REGISTER) or trigger immediately a specific waveform play with playWaveZSync(ZSYNC_DATA_PQSC_REGISTER). Please refer to the user manual of the receiving instrument for more details.


Quantum error correction codes require to perform a syndrome measurement to evaluate the eventual errors that corrupt the state of a set of entangled qubits. Such measurement is performed by reading a subset of the entangled qubits and from that deduce how to correct the error. This evaluation is performed by the Decoder unit. This unit has access to the whole readout register bank. It can generate an output as wide as one byte per port. The decoder output can be read on the receiving instrument with the function getZSyncData(ZSYNC_DATA_PQSC_DECODER) or trigger immediately a specific waveform play with playWaveZSync(ZSYNC_DATA_PQSC_DECODER). Please refer to the user manual of the receiving instrument for more details. The decoder is implemented as a lookup table decoder.

Lookup table decoder

The Lookup table decoder implement the error decoding function using lookup tables. In practice it’s a map of every possible input, also called address, to a list of outputs. It can be evaluated in a short and constant time. The Figure 3 shows the data flow. The Source register selector is used to reduce the large set of the readout registers to a word of 16 bits that serves as the input table address. Similarly to the the register forwarding feature, the user can select 16 sources register numbers and indices of the desired bit inside of each register. Then this address is used to access the 4 lookup tables. The tables are programmed with an array of 216 bytes. The input address will be used as index of the array. Each table will output 1 byte. Finally, for each ZSync output port, one of this 4 outputs is selected and forwarded to the receiving instrument. Whenever any of the readout results is updated, the lookup tables are evaluated and the outputs are sent together with a trigger event.

The configuration of the Lookup table decoder is currently only accessible through the API.

fig functional pqsc lut decoder
Figure 3. Block diagram of the Lookup Table decoder

Functional Elements

Table 2. Feedback tab
Control/Tool Option/Range Description

Input Port

The input ZSync port where the QA instrument is connected.

Readout Register Bank

The Readout Register Bank where the results coming from the QAs are stored. The destination coordinates are controlled by the QA sequencer.

Output Port

The output ZSync port where triggers and feedback events are directed.

Decoder Unit

The quantum error decoder unit.

Start Triggers

The start syncronization triggers.

Decoder Source Select

The source of the error decoder that is forwarded.


Enable readout registers forwarding for the current port.


The bit in the forwarded message.


Enable bit on readout register forwarding for the current port.


The readout register forwarded.


The index of the bit in the readout register forwarded.