Skip to content

aalto-qcd/qcodes_qick

Repository files navigation

qcodes_qick

A QCoDeS driver for QICK. Usable but still under active development. Pull requests are welcome!

Supports Python 3.9+

Development goals

  • 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.

Status between tProc v1 and v2

Currently, tProc v1 is under maintenance mode where only bug fixes will be implemented. tProc v2 is what you should be using.

At some point, tProc v1 will be deprecated. If you find some bugs, please do report them in the issue tracker.

Getting started

  1. Clone or copy this repository to a local PC.
  2. pip install -e path\to\repository
  3. Start the Pyro4 nameserver (see here, use port 8888) and the QICK server (see here) on a Xilinx board.
  4. Check the connection and the channel number assignment:
    from qcodes_qick import QickInstrument
    qick_instrument = QickInstrument("ip.address.of.board")
    print(qick_instrument.soccfg)
  5. Copy the scripts in the folder example_scripts into your folder.
  6. Edit header.py:
    • Specify the IP address of the board by editing the line like
      qick_instrument = QickInstrument("ip.address.of.board")
    • Specify DAC/ADC channel numbers by editing the lines like
      readout_dac = qick_instrument.dacs[channel_number]
  7. Run the example scripts:

About

QCoDeS driver for QICK-based FPGA boards like the AMD Xilinx RFSoC.

Resources

License

Stars

Watchers

Forks

Contributors