{ "cells": [ { "cell_type": "markdown", "id": "e1d04b1b", "metadata": {}, "source": [ "# Qblox basic sequencing" ] }, { "cell_type": "markdown", "id": "0ff4da48", "metadata": {}, "source": [ "This tutorial outputs the same waveforms as in the [Basic Sequencing](https://docs.qblox.com/en/main/tutorials/q1asm_tutorials/QRM/010_basic_sequencing.html) tutorial, but using quantify instead." ] }, { "cell_type": "markdown", "id": "ebb01fae", "metadata": {}, "source": [ "Quantify allows a either a gate or pulse to be played from a qblox instrument. Gates are performed on qubits (see [Operations and Qubits](https://quantify-os.org/docs/quantify-scheduler/tutorials/Operations%20and%20Qubits.html)) and pulses are played on ports (see [Schedules and Pulses](https://quantify-os.org/docs/quantify-scheduler/tutorials/Schedules%20and%20Pulses.html)).\n", "\n", "In this tutorial, we will play both gates and pulses." ] }, { "cell_type": "markdown", "id": "d128c8e1", "metadata": {}, "source": [ "First we set the data directory." ] }, { "cell_type": "code", "execution_count": 1, "id": "b70d4994", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:10.175377Z", "iopub.status.busy": "2025-05-07T16:55:10.174991Z", "iopub.status.idle": "2025-05-07T16:55:11.858060Z", "shell.execute_reply": "2025-05-07T16:55:11.856599Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Data will be saved in:\n", "/root/quantify-data\n" ] } ], "source": [ "from __future__ import annotations\n", "\n", "from typing import TYPE_CHECKING, Callable\n", "\n", "import numpy as np\n", "from qcodes.instrument import find_or_create_instrument\n", "from scipy.signal.windows import gaussian\n", "\n", "from qblox_instruments import Cluster, ClusterType\n", "from quantify_core.data import handling as dh\n", "from quantify_scheduler import (\n", " BasicTransmonElement,\n", " ClockResource,\n", " InstrumentCoordinator,\n", " QuantumDevice,\n", " Schedule,\n", ")\n", "from quantify_scheduler.backends.graph_compilation import SerialCompiler\n", "from quantify_scheduler.helpers.mock_instruments import MockLocalOscillator\n", "from quantify_scheduler.instrument_coordinator.components.qblox import ClusterComponent\n", "from quantify_scheduler.operations import NumericalPulse, SquarePulse, X\n", "\n", "if TYPE_CHECKING:\n", " from qblox_instruments.qcodes_drivers.module import Module\n", "dh.set_datadir()" ] }, { "cell_type": "markdown", "id": "54734f95", "metadata": {}, "source": [ "## Connections\n", "\n", "First, we define a quantum device with one transmon (qubit).\n", "\n", "The transmon here is a device element (typically a type of qubit) and is only necessary when using a gate operation, since the same gate can be implemented differently on different types of device elements. Take for example the `Measure` operation. The state of a transmon is determined by measuring a signal sent to a resonator coupled to it, but the state of a spin qubit is determined by measuring a current." ] }, { "cell_type": "code", "execution_count": 2, "id": "86344dfd", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:11.863014Z", "iopub.status.busy": "2025-05-07T16:55:11.861964Z", "iopub.status.idle": "2025-05-07T16:55:11.871384Z", "shell.execute_reply": "2025-05-07T16:55:11.870424Z" } }, "outputs": [], "source": [ "single_transmon_device = find_or_create_instrument(QuantumDevice, recreate=True, name=\"DUT\")\n", "transmon = find_or_create_instrument(BasicTransmonElement, recreate=True, name=\"transmon\")\n", "single_transmon_device.add_element(transmon)" ] }, { "cell_type": "markdown", "id": "173cf688", "metadata": {}, "source": [ "We will assume the transmon is already calibrated, and that we know the frequency of the qubit and the parameters for a $\\pi$-pulse. We can assign this known frequency and $\\pi$-pulse parameters to the transmon." ] }, { "cell_type": "code", "execution_count": 3, "id": "153943c3", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:11.874509Z", "iopub.status.busy": "2025-05-07T16:55:11.874328Z", "iopub.status.idle": "2025-05-07T16:55:11.878355Z", "shell.execute_reply": "2025-05-07T16:55:11.877425Z" } }, "outputs": [], "source": [ "transmon.clock_freqs.f01(5e9) # The |0> <=> |1> transition frequency is at 5 GHz.\n", "transmon.rxy.amp180(0.3) # The amplitude of a pi pulse is 0.3" ] }, { "cell_type": "markdown", "id": "9f2e69d2", "metadata": {}, "source": [ "Next, we define the module(s) that are connected to the quantum device.\n", "\n", "In this case, one Qblox Cluster with a QCM (or QRM) in slot 4.\n", "\n", "We will use three outputs of the QCM for the tutorial to showcase both real and complex output signals. Please make appropriate modifications if using a QRM which only has two outputs.\n", "\n", "We scan for the available devices connected via ethernet using the Plug & Play functionality of the Qblox Instruments package (see [Plug & Play](https://docs.qblox.com/en/main/api_reference/tools.html#api-pnp) for more info)." ] }, { "cell_type": "markdown", "id": "6daa628d", "metadata": {}, "source": [ "`!qblox-pnp list`" ] }, { "cell_type": "code", "execution_count": 4, "id": "01641354", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:11.881976Z", "iopub.status.busy": "2025-05-07T16:55:11.881373Z", "iopub.status.idle": "2025-05-07T16:55:11.885080Z", "shell.execute_reply": "2025-05-07T16:55:11.884133Z" } }, "outputs": [], "source": [ "cluster_ip = \"10.10.200.42\"\n", "cluster_name = \"cluster0\"" ] }, { "cell_type": "markdown", "id": "9b1362b7", "metadata": {}, "source": [ "### Connect to Cluster\n", "\n", "We now make a connection with the Cluster." ] }, { "cell_type": "code", "execution_count": 5, "id": "943acb3d", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:11.888429Z", "iopub.status.busy": "2025-05-07T16:55:11.887748Z", "iopub.status.idle": "2025-05-07T16:55:12.763347Z", "shell.execute_reply": "2025-05-07T16:55:12.762030Z" }, "lines_to_next_cell": 2 }, "outputs": [], "source": [ "cluster = find_or_create_instrument(\n", " Cluster,\n", " recreate=True,\n", " name=cluster_name,\n", " identifier=cluster_ip,\n", " dummy_cfg=(\n", " {\n", " 2: ClusterType.CLUSTER_QCM,\n", " 4: ClusterType.CLUSTER_QRM,\n", " 6: ClusterType.CLUSTER_QCM_RF,\n", " 8: ClusterType.CLUSTER_QRM_RF,\n", " }\n", " if cluster_ip is None\n", " else None\n", " ),\n", ")" ] }, { "cell_type": "markdown", "id": "b6ace06f", "metadata": { "lines_to_next_cell": 2 }, "source": [ "#### Get connected modules" ] }, { "cell_type": "code", "execution_count": 6, "id": "8b619660", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.767068Z", "iopub.status.busy": "2025-05-07T16:55:12.766866Z", "iopub.status.idle": "2025-05-07T16:55:12.771890Z", "shell.execute_reply": "2025-05-07T16:55:12.770909Z" } }, "outputs": [], "source": [ "def get_connected_modules(cluster: Cluster, filter_fn: Callable | None = None) -> dict[int, Module]:\n", " def checked_filter_fn(mod: ClusterType) -> bool:\n", " if filter_fn is not None:\n", " return filter_fn(mod)\n", " return True\n", "\n", " return {\n", " mod.slot_idx: mod for mod in cluster.modules if mod.present() and checked_filter_fn(mod)\n", " }" ] }, { "cell_type": "code", "execution_count": 7, "id": "a36f09d0", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.774936Z", "iopub.status.busy": "2025-05-07T16:55:12.774762Z", "iopub.status.idle": "2025-05-07T16:55:12.797332Z", "shell.execute_reply": "2025-05-07T16:55:12.796415Z" } }, "outputs": [ { "data": { "text/plain": [ "{4: }" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# QRM baseband modules\n", "modules = get_connected_modules(cluster, lambda mod: mod.is_qrm_type and not mod.is_rf_type)\n", "modules" ] }, { "cell_type": "code", "execution_count": 8, "id": "d10e9a83", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.800564Z", "iopub.status.busy": "2025-05-07T16:55:12.799936Z", "iopub.status.idle": "2025-05-07T16:55:12.803700Z", "shell.execute_reply": "2025-05-07T16:55:12.802783Z" } }, "outputs": [], "source": [ "module = modules[4]" ] }, { "cell_type": "code", "execution_count": 9, "id": "6d74bd4b", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.806878Z", "iopub.status.busy": "2025-05-07T16:55:12.806306Z", "iopub.status.idle": "2025-05-07T16:55:12.810335Z", "shell.execute_reply": "2025-05-07T16:55:12.809422Z" } }, "outputs": [], "source": [ "slot_no = module.slot_idx\n", "if module.is_qcm_type:\n", " module_type = \"QCM\"\n", "elif module.is_qrm_type:\n", " module_type = \"QRM\"\n", "else:\n", " raise ValueError(\"Unknown module type\")" ] }, { "cell_type": "markdown", "id": "86bc5323", "metadata": {}, "source": [ "Create a dummy Local Oscillator with the same name as in the hardware config. This can be replaced with a microwave generator in an actual situation" ] }, { "cell_type": "code", "execution_count": 10, "id": "62853d8b", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.813459Z", "iopub.status.busy": "2025-05-07T16:55:12.812858Z", "iopub.status.idle": "2025-05-07T16:55:12.816974Z", "shell.execute_reply": "2025-05-07T16:55:12.816028Z" } }, "outputs": [], "source": [ "lo1 = find_or_create_instrument(MockLocalOscillator, recreate=True, name=\"lo1\")" ] }, { "cell_type": "markdown", "id": "22d9d662", "metadata": {}, "source": [ "Now we define the connections between the quantum device and the qblox instrument(s). For this we define a hardware config according to the [Qblox backend](https://quantify-os.org/docs/quantify-scheduler/reference/qblox/index.html) tutorial." ] }, { "cell_type": "code", "execution_count": 11, "id": "6e37acd4", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.820295Z", "iopub.status.busy": "2025-05-07T16:55:12.819830Z", "iopub.status.idle": "2025-05-07T16:55:12.826780Z", "shell.execute_reply": "2025-05-07T16:55:12.825681Z" } }, "outputs": [], "source": [ "hardware_config = {\n", " \"backend\": \"quantify_scheduler.backends.qblox_backend.hardware_compile\", # Use the Qblox backend\n", " \"cluster0\": { # The first instrument is named \"cluster0\"\n", " \"instrument_type\": \"Cluster\", # The instrument is a Qblox Cluster\n", " \"ref\": \"internal\", # Use the internal reference clock\n", " f\"cluster0_module{slot_no}\": { # This is the module in slot of the cluster. (slot 0 has the CMM)\n", " \"instrument_type\": f\"{module_type}\", # The module is either a QCM or QRM module\n", " \"complex_output_0\": { # The module will output a real signal from output 0 (O1)\n", " \"lo_name\": \"lo1\", # output 0 and 1 (O1 and O2) are connected to the I and Q ports of an IQ mixer with a LocalOscillator by the name lo1\n", " \"portclock_configs\": [ # Each output can contain upto 6 portclocks. We will use only one for this tutorial\n", " {\n", " \"port\": \"transmon:mw\", # This output is connected to the microwave line of qubit 0\n", " \"clock\": \"transmon.01\", # This clock tracks the |0> <=> |1> transition of the transmon\n", " },\n", " ],\n", " },\n", " },\n", " },\n", " \"lo1\": {\n", " \"instrument_type\": \"LocalOscillator\",\n", " \"frequency\": 4.9e9,\n", " \"power\": 20,\n", " }, # lo1 has a frequency of 4.9 GHz and is set to a power level of 20 (can be dBm)\n", "}" ] }, { "cell_type": "code", "execution_count": 12, "id": "771821a6", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.830135Z", "iopub.status.busy": "2025-05-07T16:55:12.829666Z", "iopub.status.idle": "2025-05-07T16:55:12.835170Z", "shell.execute_reply": "2025-05-07T16:55:12.834029Z" } }, "outputs": [], "source": [ "if module_type == \"QCM\":\n", " hardware_config[\"cluster0\"][f\"cluster0_module{slot_no}\"][\"real_output_2\"] = (\n", " { # The QCM will output a real signal from output 2\n", " \"portclock_configs\": [\n", " {\n", " \"port\": \"transmon:fl\", # This output is connected to the flux line of qubit 2\n", " \"clock\": \"cl0.baseband\", # This default value (clock with zero frequency) is used if a clock is not provided.\n", " },\n", " ]\n", " },\n", " )" ] }, { "cell_type": "code", "execution_count": 13, "id": "faf7e6b6", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.838710Z", "iopub.status.busy": "2025-05-07T16:55:12.837949Z", "iopub.status.idle": "2025-05-07T16:55:12.842808Z", "shell.execute_reply": "2025-05-07T16:55:12.841675Z" } }, "outputs": [], "source": [ "single_transmon_device.hardware_config(hardware_config)" ] }, { "cell_type": "markdown", "id": "fc83d239", "metadata": {}, "source": [ "## Schedule" ] }, { "cell_type": "markdown", "id": "8d396211", "metadata": {}, "source": [ "We can now create a `Schedule` of pulses or gates to play." ] }, { "cell_type": "code", "execution_count": 14, "id": "47b43d3f", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.846355Z", "iopub.status.busy": "2025-05-07T16:55:12.845885Z", "iopub.status.idle": "2025-05-07T16:55:12.850739Z", "shell.execute_reply": "2025-05-07T16:55:12.849614Z" } }, "outputs": [], "source": [ "sched = Schedule(\n", " \"Basic sequencing\", repetitions=2**27\n", ") # The schedule will be played repeatedly 2^27 times" ] }, { "cell_type": "markdown", "id": "1861b318", "metadata": {}, "source": [ "Let's create the control portion of an experiment.\n", "\n", "First we specify an arbitrary numerical pulse to be played on the microwave port of the transmon.\n", "\n", "Here we play a gaussian pulse constructed from the scipy library." ] }, { "cell_type": "code", "execution_count": 15, "id": "2f86bd75", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.854054Z", "iopub.status.busy": "2025-05-07T16:55:12.853579Z", "iopub.status.idle": "2025-05-07T16:55:12.860722Z", "shell.execute_reply": "2025-05-07T16:55:12.859548Z" } }, "outputs": [], "source": [ "t = np.arange(0, 48.5e-9, 1e-9)\n", "\n", "gaussian_pulse = sched.add(\n", " NumericalPulse(\n", " samples=0.2 * gaussian(len(t), std=0.12 * len(t))\n", " - 1j * gaussian(len(t), std=0.12 * len(t)), # Numerical pulses can be complex as well.\n", " t_samples=t,\n", " port=\"transmon:mw\",\n", " clock=\"transmon.01\",\n", " ),\n", " ref_pt=\"start\",\n", " rel_time=0e-9,\n", ")" ] }, { "cell_type": "markdown", "id": "2631abda", "metadata": {}, "source": [ "Next, we apply a square pulse to the flux port of the transmon at the same time as the Gaussian Pulse" ] }, { "cell_type": "code", "execution_count": 16, "id": "88d3d3d3", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.864686Z", "iopub.status.busy": "2025-05-07T16:55:12.863824Z", "iopub.status.idle": "2025-05-07T16:55:12.869482Z", "shell.execute_reply": "2025-05-07T16:55:12.868304Z" } }, "outputs": [], "source": [ "if module_type == \"QCM\":\n", " square_pulse = sched.add(\n", " SquarePulse(amp=0.4, duration=32e-9, port=\"transmon:fl\", clock=\"cl0.baseband\"),\n", " ref_pt=\"start\", # Play at the start of\n", " ref_op=gaussian_pulse, # the gaussian pulse\n", " rel_time=0e-9, # Delay the pulse by 0 ns\n", " )" ] }, { "cell_type": "markdown", "id": "92a4bae6", "metadata": {}, "source": [ "Finally, we apply an X gate to the transmon. This uses the stored parameters in the `transmon` object." ] }, { "cell_type": "code", "execution_count": 17, "id": "ad212c5b", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.872918Z", "iopub.status.busy": "2025-05-07T16:55:12.872289Z", "iopub.status.idle": "2025-05-07T16:55:12.879119Z", "shell.execute_reply": "2025-05-07T16:55:12.877825Z" } }, "outputs": [], "source": [ "pi_pulse = sched.add(X(qubit=transmon.name), ref_op=gaussian_pulse)\n", "\n", "sched.add_resource(\n", " ClockResource(name=\"transmon.01\", freq=transmon.clock_freqs.f01())\n", ") # A ClockResource is necessary for the schedule to know the frequency of the transmon." ] }, { "cell_type": "markdown", "id": "5dbc680c", "metadata": {}, "source": [ "## Compilation" ] }, { "cell_type": "markdown", "id": "15ab1fd3", "metadata": {}, "source": [ "We then compile the schedule to produce instructions for the instruments.\n", "\n", "We use the `SerialCompiler` here, which first converts all gates to pulses, then all pulses to instrument instructions." ] }, { "cell_type": "code", "execution_count": 18, "id": "8089c0cd", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:12.882950Z", "iopub.status.busy": "2025-05-07T16:55:12.882343Z", "iopub.status.idle": "2025-05-07T16:55:13.396202Z", "shell.execute_reply": "2025-05-07T16:55:13.395747Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/builds/qblox/packages/software/qblox_instruments_docs/.venv/lib/python3.9/site-packages/quantify_scheduler/backends/qblox/helpers.py:1476: FutureWarning: The hardware configuration dictionary is deprecated and will not be supported in quantify-scheduler >= 1.0.0. Please use a `HardwareCompilationConfig` instead. For more information on how to migrate from old- to new-style hardware specification, please visit https://quantify-os.org/docs/quantify-scheduler/dev/examples/hardware_config_migration.html in the documentation.\n", " warnings.warn(\n" ] }, { "data": { "text/plain": [ "(
,\n", " )" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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PlU7XKpbS5YswdSpU7F3716UlJTolmu1WiQlJeGdd97BkCFDqt0vhIyLi4tDjx49qmySUm758uUYOXIkTp06hbKyMt1yjUaDixcvYtiwYZgzZ85TDVNOxkVFRSE6OrrS+WkKCgqwcOFCtGzZUveLJa8h88Zrx7QGDhyIDRs24OLFixVGfCwqKsLq1avh5OSkm0eS14/pREVFYcuWLTh+/HiFm/yysjJs2bIFiYmJ6N69O4BH/QfXrVuH7777Tq/ZqiAISE9Px4QJE+Dv789BR+pIaWkpLC0tK13XoUMH+Pj4YOLEiUhPT9e71goLC7F9+3asX78es2fPrvHxJQLHbK33VCoVli9fjn379uklbE5OTnjllVfw0UcfPXV/D6o9n3zyCRwdHfH+++/rlsXFxWHRokW4cuWK7gtZKpXC09MT48aNw/vvv88bmVr25ZdfYtasWUYng5XL5Th79iw8PDwAAEePHsWKFSuQmJiou6mRy+Xw8fHBtGnTMHjw4Cqf0lHVBEHAF198gU2bNiE7O1vvj6C9vT369euHjz76SK/pKq8h8zFlyhS88cYb6NWrl24Zrx3T2rNnD1auXIk7d+7oJQUKhQK9e/fGkiVL0KRJE91yXj+mc/78ecybNw/Xrl3T+/HCysoKXbt2xYoVK3RP1gAgKSkJCxYswLlz53TNwyUSCdzc3PD2229j6tSpsLa2Nvl5NAQhISFGmxQXFxdj/fr12LFjB7KysnR/q+zt7dGpUycsXbq00kF8nhaTNSIiIiIiIjPEZpBERERERERmiMkaERERERGRGWKyRkREREREZIaYrBEREREREZkhJmtERERERERmiMkaERERERGRGWKyRkREREREZIaYrBEREREREZkhJmtERERERERmyELsAIiIiMg4tVoNpVIJAHB2doZCoRAtFkEQkJGRAUEQYG9vD0dHR9FiISKq7/hkjYiIzM53330HiURS7deKFSt0+3j33XdhZWWFffv2iXgmtWPatGnw9vaGt7c3+vTpI2osW7ZsgZeXF7y9veHl5SVqLERE9R2frBERkdl59dVX8dlnn0EQBL3l9+7dw5IlSzB58mQ0b968wna9e/fW/fvEiRMoLS3FuXPn0K9fvzqPuS7l5eXh1VdfxbRp0xAYGChqLG+99Rbc3Nzw119/Yd68eaLGQkRU3zFZIyIis9O0aVN8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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "compiler = SerialCompiler(name=\"compiler\")\n", "compiled_sched = compiler.compile(\n", " schedule=sched, config=single_transmon_device.generate_compilation_config()\n", ")\n", "\n", "compiled_sched.plot_pulse_diagram()" ] }, { "cell_type": "markdown", "id": "2b3ec60f", "metadata": {}, "source": [ "We can view the compiled sequencer instructions sent to the QCM module. This may be compared to the program in the [Basic Sequencing](https://docs.qblox.com/en/main/tutorials/q1asm_tutorials/QRM/010_basic_sequencing.html) tutorial. Notice the extra instructions here that set the gain for each waveform played and the automatically calculated wait times." ] }, { "cell_type": "code", "execution_count": 19, "id": "63ecbf8a", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:13.398816Z", "iopub.status.busy": "2025-05-07T16:55:13.397998Z", "iopub.status.idle": "2025-05-07T16:55:13.401578Z", "shell.execute_reply": "2025-05-07T16:55:13.401146Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " set_mrk 0 # set markers to 0 (init)\n", " wait_sync 4 \n", " upd_param 4 \n", " wait 4 # latency correction of 4 + 0 ns\n", " move 134217728,R0 # iterator for loop with label start\n", "start: \n", " reset_ph \n", " upd_param 4 \n", " set_awg_gain 6554,-32768 # setting gain for NumericalPulse\n", " play 0,0,4 # play NumericalPulse (48 ns)\n", " wait 44 # auto generated wait (44 ns)\n", " set_awg_gain 9821,0 # setting gain for X transmon\n", " play 1,1,4 # play X transmon (20 ns)\n", " wait 16 # auto generated wait (16 ns)\n", " loop R0,@start \n", " stop \n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_25512/1447131421.py:2: FutureWarning: Function quantify_scheduler.backends.types.qblox.SequencerSettings.__getitem__() is deprecated and will be removed in quantify-scheduler-0.25. SequencerCompiler.compile returns the SequencerSettings instead of a dictionary, please use settings.attribute instead of settings[\"attribute\"]\n", " compiled_sched.compiled_instructions[\"cluster0\"][f\"cluster0_module{slot_no}\"][\"sequencers\"][\n" ] } ], "source": [ "print(\n", " compiled_sched.compiled_instructions[\"cluster0\"][f\"cluster0_module{slot_no}\"][\"sequencers\"][\n", " \"seq0\"\n", " ][\"sequence\"][\"program\"]\n", ")" ] }, { "cell_type": "markdown", "id": "a639d87d", "metadata": {}, "source": [ "## Instrument coordinator\n", "\n", "We create and instrument coordinator to prepare and run the schedule" ] }, { "cell_type": "code", "execution_count": 20, "id": "0e0f3042", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:13.402914Z", "iopub.status.busy": "2025-05-07T16:55:13.402770Z", "iopub.status.idle": "2025-05-07T16:55:13.407787Z", "shell.execute_reply": "2025-05-07T16:55:13.407357Z" } }, "outputs": [], "source": [ "instrument_coordinator = find_or_create_instrument(\n", " InstrumentCoordinator, recreate=True, name=\"instrument_coordinator\"\n", ")\n", "instrument_coordinator.add_component(ClusterComponent(cluster))" ] }, { "cell_type": "code", "execution_count": 21, "id": "d96aa6e7", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:13.409069Z", "iopub.status.busy": "2025-05-07T16:55:13.408924Z", "iopub.status.idle": "2025-05-07T16:55:13.708657Z", "shell.execute_reply": "2025-05-07T16:55:13.708226Z" } }, "outputs": [], "source": [ "# Set the qcodes parameters and upload the schedule program\n", "instrument_coordinator.prepare(compiled_sched)" ] }, { "cell_type": "markdown", "id": "1c01825e", "metadata": {}, "source": [ "We can now start the playback of the schedule. If you wish to view the signals on an oscilloscope, you can make the necessary connections and set up the oscilloscope accordingly." ] }, { "cell_type": "code", "execution_count": 22, "id": "3b83eea3", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:13.710336Z", "iopub.status.busy": "2025-05-07T16:55:13.710192Z", "iopub.status.idle": "2025-05-07T16:55:13.721446Z", "shell.execute_reply": "2025-05-07T16:55:13.721045Z" } }, "outputs": [], "source": [ "# Start the hardware execution\n", "instrument_coordinator.start()" ] }, { "cell_type": "code", "execution_count": 23, "id": "e599a188", "metadata": { "execution": { "iopub.execute_input": "2025-05-07T16:55:13.722959Z", "iopub.status.busy": "2025-05-07T16:55:13.722813Z", "iopub.status.idle": "2025-05-07T16:55:13.989050Z", "shell.execute_reply": "2025-05-07T16:55:13.988637Z" } }, "outputs": [], "source": [ "instrument_coordinator.stop()" ] } ], "metadata": { "jupytext": { "notebook_metadata_filter": "variants" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.20" }, "variants": [ "QRM" ] }, "nbformat": 4, "nbformat_minor": 5 }