A QCoDeS driver for QICK. Usable but still under active development. Pull requests are welcomed!
- This should be a thin wrapper that directly exposes all features of QICK.
- Pulses ("
instructions
") and pulse sequences ("protocols
") should be parameterized such that they can be fully reproduced based on the QCoDeS snapshot that gets saved with every dataset.
- Clone or copy this repository to a local PC.
pip install -e path\to\repository
- Start the Pyro4 nameserver (see here, use port 8888) and the QICK server (see here) on a Xilinx board.
- Check the connection and the channel number assignment:
from qcodes_qick import QickInstrument qick_instrument = QickInstrument("QickInstrument", "ip.address.of.board") print(qick_instrument.soccfg)
- Copy the scripts in the folder
example_scripts
into your folder. - Edit
header.py
:- Specify the IP address of the board by editing the line like
qick_instrument = QickInstrument("QickInstrument", "ip.address.of.board")
- Specify DAC/ADC channel numbers by editing the lines like
readout_dac = qick_instrument.dacs[channel_number]
- Specify the IP address of the board by editing the line like
- Run the example scripts:
meas_s21_vs_adc_trig_offset.py
: Optimize the ADC trigger offsetmeas_resonator.py
: Measure S21 vs frequencymeas_punchout.py
: Measure S21 vs frequency and amplitudemeas_pulse_probe_2d.py
: Pulse probe spectroscopy of a qubit dispersively coupled to a resonatormeas_pi_pulse_gain_sweep.py
: Optimize the amplitude of a pi pulse (play 10 pi pulses and readout)meas_resonator_vs_qubit_state.py
: Measure resonator spectra with the qubit in the ground and excited statesmeas_t1.py
: Measure the T1 of the qubit