QCM
===
.. _qcm_description:
Description
------------
The Qubit Control Module (QCM) is an instrument completely dedicated to qubit
control using parametrized pulses. The front of a QCM module is presented below:
.. figure:: ./figures/QBLOX_CLUSTER_FRONTAL_QCM.jpg
:height: 600px
:align: left
:alt: Front Panel of QCM.
On the front of a QCM module you will find the following components:
- **4 x SMA female (receptacle) connectors**: 4 outputs (O\ :sup:`[1-4]` @ 50 Ω).
- **4 x SMP male (pin) connectors**: Marker output channels (0-3.3 V TTL).
- **6 x status LEDs**: See section :ref:`cluster_leds` for details.
The pulses are stored as waveform envelopes in memory and can be parametrized by
changing gain and offset and additionally, phase if also modulated.
This is all managed by Qblox's Q1 sequencer processors (see here for more
information :ref:`sequence_processor`). The QCM has 6 of these
processors on board, with the following architecture:
.. figure:: ./figures/qcm_sequencer.svg
:width: 800px
:align: center
:alt: QCM architecture.
Parametrization of pulses is controlled by the AWG of the sequencers, which
each have two waveform paths (from here on referred to as path 0 and 1). Using
parametrization, the output of these paths can either be independent
signals or modulated IQ signals. The two paths of each sequencer can, in turn,
be connected to any output pair of the instrument (i.e. O\ :sup:`1/2` or O\ :sup:`3/4`)
to control one or more qubits per output. Additionally, each sequencer can control
the four marker output channels.
For a list of available features please go to :ref:`qcm_features`
For an overview of applications please go to :ref:`qcm_applications`
Block Diagram
-------------
.. figure:: ./figures/QCM_Block_Diagram.svg
:alt: Block diagram of a Qubit Readout Module
.. list-table::
:widths: 100 100
:header-rows: 0
* - :ref:`qcm_10MHz_reference`
- :ref:`qcm_trigger`
* - :ref:`qcm_SYNQ`
- :ref:`qcm_LINQ`
* - :ref:`qcm_Q1_sequencers`
- :ref:`qcm_marker_output_channels`
* - :ref:`qcm_sequencer_multiplexer`
- :ref:`qcm_digital_offset`
* - :ref:`qcm_DAC`
- :ref:`qcm_offset_DAC`
.. _qcm_features:
Features
--------
.. _qcm_10MHz_reference:
1. 10MHz Reference
^^^^^^^^^^^^^^^^^^
Alongside all modules available, the QCM baseband module operates with respect
to a 10MHz reference provided by the cluster.
.. _qcm_trigger:
2. Trigger
^^^^^^^^^^
The trigger of the QCM is connected to the cluster and allows for fast
synchronization between modules.
.. _qcm_SYNQ:
3. SYNQ
^^^^^^^^^^^^^^^^^
The Qblox SYNQ technology enables simple and quick synchronization over multiple
instruments, allowing for modules to be started synchronously << 1ns.
See section :ref:`synchronization`
for more information.
.. _qcm_LINQ:
4. LINQ
^^^^^^^
The Qblox LINQ technology allows for the results of measurements to be shared
between devices, distributing outcomes in < 320ns.
.. _qcm_Q1_sequencers:
5. Q1 Sequencers
^^^^^^^^^^^^^^^^
The Q1 sequencers are the heart(s) of the QCM instrument. They orchestrate the
experiment using a custom low-latency sequence processor specifically designed
for quantum experiments. Furthermore, they each achieve that by controlling a
dedicated AWG path and, in the case of a QCM/QCM-RF, an acquisition path, which enables
parametrized pulse generation and readout. Each instrument has 6 of these
sequencers to target multiple qubits with one instrument. See section
:ref:`sequence_processor` for more information on how to program and
control them.
Each Q1 sequencer has a dedicated numerically controlled oscillator (NCO).
This NCO can be used to track the qubit phase (at a fixed frequency) in real-time.
This NCO can be swept from -500MHz to 500MHz.
The frequency of the NCO and phase can be statically controlled using the
:meth:`Sequencer.nco_freq` and :meth:`Sequencer.nco_phase_offs`
parameters. However, the frequency and phase of the NCO can also be dynamically controlled
using the `set_freq`, `reset_ph`, `set_ph` and `set_ph_delta` instructions of
the sequence processor, which enables
pulse parametrization and execution of virtual Z-gates
(see section :ref:`sequence_processor_operation_instructions`). The static and dynamic phase
control is complementary. The modulation is enabled using the
:meth:`Sequencer.mod_en_awg` parameter. The demodulation is enabled using the
:meth:`Sequencer.demod_en_acq` parameter.
Each sequencer has a dedicated gain step for both path 0 and 1, which can be
statically configured using the :meth:`Sequencer.gain_awg_path0` parameters.
However, the gain can also be dynamically controlled using the `set_awg_gain`
instruction of the sequence processor which enables pulse parametrization
(see section :ref:`sequence_processor_operation_instructions`). The static and dynamic
gain controls are complementary.
.. note::
If modulated IQ signals are used for an output pair, the gain
:meth:`Sequencer.gain_awg_path0` has to be the same for both paths.
.. _qcm_marker_output_channels:
6. Marker Output Channels
^^^^^^^^^^^^^^^^^^^^^^^^^
Each sequencer has control over the four marker output channels, with the
control of each sequencer being OR'ed to create the final marker outputs.
The markers can be dynamically controlled with the `set_mrk` instruction of the
sequence processor (see section :ref:`sequence_processor_operation_instructions`), but can
also be overwritten with the static marker overwrite parameters
:meth:`Sequencer.marker_ovr_en` and :meth:`Sequencer.marker_ovr_value`.
The marker output range is 0-3.3 V TTL. In RF modules `set_mrk` is also used to
toggle the switches before the outputs/inputs to enable the respective
output/input.
6.1 Setting Markers as Active HIGH/LOW
**************************************
The default state of marker is active high `(OFF = 0V, ON = 3.3V)`. Users
have the ability to change the marker output from active HIGH to active LOW `( OFF = 3.3 V, ON = 0V)`. It can be done
using the parameter :meth:`QCM.marker0_inv_en`. This inversion of marker default states is possible for all marker
channels.
.. _qcm_sequencer_multiplexer:
7. Sequencer Multiplexer
^^^^^^^^^^^^^^^^^^^^^^^^
A multiplexer that allows any sequencer to be connected to any output.
Multiple sequencers can also be connected to a single output. This, in
combination with the dedicated NCO per sequencer and an external IQ mixer circuit, enables easy and
flexible targeting of multiple qubits on a single channel.
See :ref:`sequence_processor_multiplexing` for more details.
.. note::
The output of each sequencer is complimentary. Be aware of potential output
clipping when connecting multiple sequencers to a single output.
.. _qcm_digital_offset:
8. Digital Offset
^^^^^^^^^^^^^^^^^
Each sequencer has a dedicated offset step for both path 0 and 1, which can be
statically configured using the :meth:`Sequencer.offset_awg_path0` parameters.
However, the offset can also be dynamically controlled using the `set_awg_offs`
instruction of the sequence processor which enables pulse parametrization.
(see section :ref:`sequence_processor_operation_instructions`). The static and dynamic offset
controls are complementary.
.. note::
This offset is applied to the signals before the mixer and cannot be used
for DC offset correction if the mixer is enabled.
9. Real Time Predistortions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Each QCM output has real time predistortion filters that can be used to correct for distortions
in the components leading to the device under test (see section :ref:`rtp`).
.. _qcm_DAC:
9. DAC
^^^^^^
The dynamic output range of the QCM's DACs is 5 Vpp and 50 Ω terminated at
1GBps.
.. _qcm_offset_DAC:
10. Offset DAC
^^^^^^^^^^^^^^
The offset DAC allows users to apply a DC offset to the output signal
without the risk of clipping the signal at the DAC.
.. _qcm_applications:
Applications
----------------
The Qubit control module (QCM) is designed to be utilized for the control of qubits.
The experimental setup will vary depending on the device being controlled:
Superconducting Qubits
^^^^^^^^^^^^^^^^^^^^^^
The QCM can be utilized to generate superconducting qubit drive frequencies or to generate signals to tune
qubit transition frequencies. QCM modules can be utilized to drive SQUID loops both with and without
an extra DC source. An external RF mixing circuit (e.g. IQ mixer etc.) will be required
to convert signals in the baseband of the QCM (0-400MHz) to the desired drive signal.
The details of such a setup are provided here: |qcm_superconducting_qubits|.
.. |qcm_superconducting_qubits| raw:: html
Superconducting Qubits
Spin Qubits
^^^^^^^^^^^
The QCM module can be used to generate control signals for GaAs, Si and Ge spin qubits.
To do this an external RF mixing circuit will be required to convert from the QCM
baseband (0-400MHz) to the qubit frequency. SPI DC sources can be coupled with QCM baseband
modules via bias tees and connected to gates for tuning barrier potentials and fast gate sweeps.
Details of potential setups and applications are available here:
|qcm_spin_qubits|.
.. |qcm_spin_qubits| raw:: html
Spin Qubits
NV-centers/Spins in Diamonds
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The QCM module can be used to generate control pulses for spins in diamond. An external
RF mixing circuit will be required to convert from the QCM baseband (0-400MHz) to
the desired qubit frequency. Details of potential setups and
applications are available here :
|qcm_nv_qubits|.
.. |qcm_nv_qubits| raw:: html
NV-centers
.. _qcm_Abs_max_rat:
Absolute Maximum Ratings
------------------------
.. warning::
This section shows the absolute maximum ratings of the cluster QCM module. Operation beyond these values can damage the module and cluster!
+-----------------------------+----------------+-----+-------+--------+
| Parameter | Condition | Min | Typ | Max |
+=============================+================+=====+=======+========+
| Voltage applied to output | | -5V | | +5V |
+-----------------------------+----------------+-----+-------+--------+
| Marker load impedance | | 66Ω | | |
+-----------------------------+----------------+-----+-------+--------+
.. _qcm_specs:
Specifications
--------------
Outputs
^^^^^^^
+-----------------------------+----------------+-----+-------+--------+
| Parameter | Condition | Min | Typ | Max |
+=============================+================+=====+=======+========+
| Number of channels | | | 4 | |
+-----------------------------+----------------+-----+-------+--------+
| Output coupling | | | DC | |
+-----------------------------+----------------+-----+-------+--------+
| Resolution | | | 16bits| |
+-----------------------------+----------------+-----+-------+--------+
| Output impedance | | | 50Ω | |
+-----------------------------+----------------+-----+-------+--------+
| Output range | In 50Ω load | | | +-2.5V |
+-----------------------------+----------------+-----+-------+--------+
| Analog offset voltage range | | | | +-80mV|
+-----------------------------+----------------+-----+-------+--------+
Marker Outputs
^^^^^^^^^^^^^^
+-----------------------------+----------------+-----+------+--------+
| Parameter | Condition | Min | Typ | Max |
+=============================+================+=====+======+========+
| Number of markers | | | 4 | |
+-----------------------------+----------------+-----+------+--------+
| High voltage |in high Z load | | 3.3V | |
+-----------------------------+----------------+-----+------+--------+
| Low voltage | | | 0.0V | |
+-----------------------------+----------------+-----+------+--------+
.. _qcm_typical:
Typical Performance
-------------------
Output
^^^^^^
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Parameter | Value | Test specifics |
+=====================================+================+==============================================================================================+
| Voltage range | +-2.5 V | Measured with a 1MHz block wave in 50Ω load |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Rise time | <1.4 ns | Measured with a 1V step in 50Ω load, 10% - 90% |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Settling time | <8 ns | Measured with a 1V step in 50Ω load, settled to +-1% |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Overshoot | <1% | Measured with a 1V step in 50Ω load |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Crosstalk step | <-65 dB | Measured with a 5V step in 50Ω load at 100 MHz |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Crosstalk sine | <-70 dB | Measured with a 5Vpp sine wave in 50Ω load at 100 MHz |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Output bandwidth | >215 MHz | -3dB point |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| | >400 MHz | -9dB point |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Output RMS noise | <100 uVrms | Based on the bandwidth of 220 MHz at -3dB point |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Wideband noise | <6.5 nV/sqrtHz | Noise measured at 121Mhz with 1kHz band and 0V output |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Signal to noise ratio | >80 dB | Based on the output RMS noise voltage |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Total harmonic distortion (HD) | <0.006 | Measured at 100MHz sine wave up to the fifth harmonic, over the full output voltage swing |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| HD2 | <-45 dBc | Measured at 100MHz sine wave up to the fifth harmonic, over the full output voltage swing |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| HD3 | <-50 dBc | Measured at 100MHz sine wave up to the fifth harmonic, over the full output voltage swing |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| Total harmonic distortion (HD) | <0.0015 | Measured at 100MHz sine wave up to the fifth harmonic, at 1Vpp output voltage |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| HD2 | <-65 dBc | Measured at 100MHz sine wave up to the fifth harmonic, at 1Vpp output voltage |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+
| HD3 | <-60 dBc | Measured at 100MHz sine wave up to the fifth harmonic, at 1Vpp output voltage |
+-------------------------------------+----------------+----------------------------------------------------------------------------------------------+