Lawrence Berkeley National Laboratory, United States of America
Understanding and having access to the full electronics hardware and software stack of superconducting qubits control systems are essential to the system level optimization and scalability. We developed QubiC - an open source FPGA-based RF pulse generation, synchronization, and detection system for quantum computing. QubiC generates pulse sequences for gates and reads the responses from qubits, allowing for the implementation of arbitrary single and two-qubit gate sequences, including execution of randomized benchmarking and randomized compiling. The QubiC software runs on Linux host computer and communicates with FPGA gateware by register/buffer memory reading and writing via the user datagram protocol (UDP).
The software stack consists of four layers: direct buffer reading and writing, application programming interface (API), quantum experiment scripts, and a web-based graphical user interface (GUI). A pulse is defined by its envelope and a 128-bit command containing the carrier parameters together with the timing information. Direct access to IO buffers provides full control of the lower level hardware. We developed a portfolio of quantum chip characterization scripts allowing for the optimization and benchmarking of single-qubit gates and two-qubit gates automatically.
A Python 3-based API is being developed to eventually generate the 128-bit commands and pulse envelopes from arbitrary circuits designed by user or imported from TrueQ or OpenQASM etc. The GUI is being developed to streamline and simplify the standard tasks for high level user or routine tasks and also provide organized data management. The QubiC software is being tested at UC Berkeley Quantum Nanoelectronics Laboratory.