Welcome to spinQICK, an open-source extension to the Quantum Instrumentation Control Kit (QICK) designed to control electrostatically confined solid-state spin-qubits! SpinQICK enables researchers to use low-cost off-the-shelf Xilinx Radio Frequency System-on-Chip (RFSoC) Field Programmable Gate Arrays (FPGAs) to rapidly develop novel application specific experimental hardware and software for controlling spin-qubits.
This package utilizes both the standard QICK API and modified low-level QICK assembly to implement standard measurement and control methods that are unique to electrostatically confined spin-qubit systems. These methods currently accomodate single-spin (Loss-DiVincenzo) qubits and include charge-stability and electrostatic tune-up, initialization and parity readout, single-spin coherent control and characterization (T1, T2*, T2-Echo, Ramsey, All-XY), exchange calibration, and two-qubit gates. In addition to these facilities, this package also provides features for parameter-management, plotting, and demonstrations to help get started with spinQICK.
- ZCU216 RFSoC
- LMH5401 DC Coupled Differential Amplifiers
- PMOD level shifter to buffer the trigger pulses for improved stability
- Precision DC bias (QDevil QDAC, Basel LNHR, etc)
- Support hardware including DC supplies for amplifiers, control computer, etc.
- Python 3.10, specific packages can be found in the dev_environment.yml file
- QICK version 0.2.260 (later versions will be checked for compatibility)
- Pynq 2.7 bootloader, QICK standard boot can be found here
- Pyro4 must also be installed on the ZCU216 board, see QICK demo for information on running Pyro server on the RFSoC
All code for the API can be found in src/spinqick
with demo notebooks illustrating the use of the API and resources for getting started found in demo_notebooks
. The spinQICK API is organized into four folders as follows.
High-level experimental code, including the general dot_experiment
class inherited by subsequent experiments. Experiments are organized into exchange only (eo_single_qubit
) and ld single (ld_single_qubit
) and two qubit (ld_2_qubit
), electrostatic tune-up (tune_electrostatic
), and calibration experiments (system_calibrations
). The readout functionality for Pauli-spin blockade can be found in psb_setup
, and routines for taking noise using QICK's DSO functionality can be found in measure_noise
.
Inside the helper_function
directory is functionality to help manage data files (file_manager
), hardware maps (hardware_manager
), and plotting (plot_tools
), as well as routines for generating common dac pulse shapes (dac_pulses
).
The models directory contains PyDantic models for various experimental config types. Using PyDantic allows for efficient type checking of experimental parameters among many other features. To see how to use these models and experimental configs see demo_notebooks\00_getting_started.ipynb
.
The qick_code
directory represents the collection of underlying QICK API code used by experiments. This code is written in the native QICK API or in QICK assembly, and represents the custom functions required for spin-qubit experiments.
In addition to the above four directories, the settings.py
file contains a user-defined pydantic object with directories for data and config files. Default directories are all located in C:/Data/QICK/
path.
SpinQICK is under active development. As such there may be changes that break existing code built on this package. SpinQICK follows Semantic Versioning, with patches and minor versions being backwards compatible, and major version revisions representing changes that break existing API implementation.
Current implementation of the spinQICK API is built on the QICK tProc 1 V4 instruction set. Later revisions will move to tProc 2, released in QICK version 0.2.285.
Abigail Wessels1, Andrew E. Oriani1
1: HRL Laboratories, LLC, 3011 Malibu Canyon Road, Malibu, California 90265, USA
This software was created by HRL under Army Research Office (ARO) Award Number: W911NF‐24‐1‐0020. ARO, as the Federal awarding agency, reserves a royalty‐ free, nonexclusive and irrevocable right to reproduce, publish, or otherwise use this software for Federal purposes, and to authorize others to do so in accordance with 2 CFR 200.315(b). We would like to thank Sho Uemura, Sara Sussman and the QICK team on their continued support in developing this package. We would like to acknowledge the help of Joe Broz, Edwin Acuna, and support of Jason Petta for the creation of this package.