QCCS System Control
The Zurich Instruments QCCS follows a modular system control approach. This means that different instruments can be combined and controlled as a single system depending on the setup size and on the qubit technology. The type and number of components within a QCCS can be adjusted to changing requirements while remaining synchronized and controlled as a single system through one software interface. This approach reduces setup complexity and control efforts, enabling users to concentrate on their quantum computing research as they need to set aside less time for implementation, system calibration and programming of individual hardware settings. Another significant advantage of this system control approach is the ability to parallelize and queue tasks within the control software for maximum uptime of the quantum device in use.
With the QCCS, users can
- Start from a circuit-level and gate-level software development kit (SDK) and have a pathway to dock their quantum computer to application software making it available on a remote computer, within the local network of a research facility and in the cloud.
- Use pulse-level and sample-level access for individual quantum information processing experiments such as error correction protocols, surface code or randomized benchmarking.
Both approaches are supported by the LabOne QCCS software architecture, which enables fast bring-up, frequent calibration and customization.
Full Quantum Stack
The quantum stack combines hardware and software into one model. Users of a quantum computer have different entry points to this stack. A quantum chemist's entry level is most likely at the very top, a theoretical physicist could be more interested in the code of the quantum compiler and assembler, whereas an experimental physicist may want to know how these algorithms are implemeted on the hardware and how results are processed back to the users. The information flow of hardware settings, timing and data within the quantum stack must be organized and controlled carefully to guarantee concurrency and parallelism as well as an ideal user experience where the right information is provided at each entry point to the stack.
The Quantum Computing Control System (QCCS) combines Zurich Instruments software and hardware into one system to efficiently connect high-level quantum algorithms with the analog signals from the physical system. The QCCS consists of:
- The PQSC Programmable Quantum System Controller synchronizes and controls up to 18 HDAWGs.
- The UHFQA Quantum Analyzer reads out up to 10 qubits simultaneously thanks to its state-of-the-art filter technology.
- The HDAWG Arbitrary Waveform Generator is a compact 8-channel, high-density AWG suitable for qubit control.
- The SHFSG Signal Generator outputs low-noise microwave pulses for high-fidelity qubit control without mixer calibration.
- The SHFQA Quantum Analyzer offers a full real-time readout setup for up to 64 superconducting or spin qubits.
- The HDIQ IQ Modulator converts signals from external intermediate-frequency sources to the microwave frequency range.
- The LabOne control software comes with APIs for Python, C, MATLAB®, LabVIEW™ and .NET.
The Zurich Instruments QCCS software gives users pulse-level access as the base abstraction layer and entry point to the system as a whole. Pulse-level abstraction enables parametric control of pulses, dynamic pulse updates in real time and near time, and call-back to user-defined pulse libraries on a higher level. Single quantum gates and full quantum circuits can be expressed with combinations of individual user-defined and optimized pulses as templates and can be reused for multiple quantum information processing experiments.
The quantum information processing experiments can be expressed at the QCCS software interface in a domain specific language (DSL) in Python or directly in a language-independent data format (JSON). The QCCS software interface has a declarative format in Python and JSON instead of an imperative one to clearly separate Zurich Instruments' and customer software and thus facilitate debugging. The QCCS software backend takes care of the programming and synchronization of individual Zurich Instruments products and third-party devices, the execution of the experiment and the retrieval of measurement results.
Transitions to gate-level control, fast bring-up and calibration experiments with the Zurich Instruments quantum computing control electronics are guaranteed by a rich set of examples in Python Jupyter notebooks and JSON schemata.
Interface with Other Quantum Frameworks
Interfacing with other quantum frameworks is crucial to realizing the full potential of a quantum computer. Zurich Instruments is dedicated to supporting such connectivity to the greatest extent possible. The pulse-level interface of the Zurich Instruments QCCS software constitutes the perfect interface for the implementation of application-specific frontends as it limits hardware details and yet allows for sample-by-sample control if required. Extensive documentation, code design and examples enable users to define dedicated links to other software easily.
Qiskit, QCoDeS and PycQED are examples of the growing set of quantum frameworks available today. With the QCCS software interfaces, users can directly benefit from these rich toolsets for coding, optimization and visualization of quantum circuits as they enable workflows across quantum and classical hardware and record results, instrument settings, environmental parameters and algorithms in a database.