{ "cells": [ { "cell_type": "markdown", "id": "c349267a", "metadata": {}, "source": [ "Continuous waveform mode\n", "========================\n", "In this tutorial, we will showcase continuous waveform mode (see [Continuous waveform mode](https://qblox-qblox-instruments.readthedocs-hosted.com/en/main/cluster/q1_sequence_processor.html#continuous-waveform-mode)) by observing the output on an oscilloscope to illustrate the results.\n", "\n", "This tutorial is meant for a Cluster QCM, but can be applied also to a QRM module with the opportune modifications." ] }, { "cell_type": "markdown", "id": "f1f27ae4", "metadata": {}, "source": [ "Setup\n", "-----\n", "\n", "First, we are going to import the required packages." ] }, { "cell_type": "code", "execution_count": 1, "id": "c6463ee4", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:30:53.236455Z", "iopub.status.busy": "2024-03-28T14:30:53.235950Z", "iopub.status.idle": "2024-03-28T14:30:54.841908Z", "shell.execute_reply": "2024-03-28T14:30:54.840790Z" } }, "outputs": [], "source": [ "\n", "from __future__ import annotations\n", "\n", "import json\n", "import math\n", "from typing import TYPE_CHECKING, Callable\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import scipy.signal\n", "from qcodes.instrument import find_or_create_instrument\n", "\n", "from qblox_instruments import Cluster, ClusterType\n", "\n", "if TYPE_CHECKING:\n", " from qblox_instruments.qcodes_drivers.module import QcmQrm" ] }, { "cell_type": "markdown", "id": "d1a0eb90", "metadata": {}, "source": [ "### Scan For Clusters\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://qblox-qblox-instruments.readthedocs-hosted.com/en/main/api_reference/tools.html#api-pnp) for more info)." ] }, { "cell_type": "code", "execution_count": 2, "id": "015ab000", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:30:54.847343Z", "iopub.status.busy": "2024-03-28T14:30:54.846269Z", "iopub.status.idle": "2024-03-28T14:30:56.946200Z", "shell.execute_reply": "2024-03-28T14:30:56.944893Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Devices:\n", " - 10.10.200.13 via 192.168.207.146/24 (reconfiguration needed!): cluster_mm 0.6.2 with name \"QSE_1\" and serial number 00015_2321_005\n", " - 10.10.200.42 via 192.168.207.146/24 (reconfiguration needed!): cluster_mm 0.7.0 with name \"QAE-I\" and serial number 00015_2321_004\n", " - 10.10.200.43 via 192.168.207.146/24 (reconfiguration needed!): cluster_mm 0.6.2 with name \"QAE-2\" and serial number 00015_2206_003\n", " - 10.10.200.50 via 192.168.207.146/24 (reconfiguration needed!): cluster_mm 0.7.0 with name \"cluster-mm\" and serial number 00015_2219_003\n", " - 10.10.200.53 via 192.168.207.146/24 (reconfiguration needed!): cluster_mm 0.7.0 with name \"cluster-mm\" and serial number 00015_2320_004\n", " - 10.10.200.70 via 192.168.207.146/24 (reconfiguration needed!): cluster_mm 0.6.1 with name \"cluster-mm\" and serial number 123-456-789\n", " - 10.10.200.80 via 192.168.207.146/24 (reconfiguration needed!): cluster_mm 0.6.1 with name \"cluster-mm\" and serial number not_valid\n" ] } ], "source": [ "!qblox-pnp list" ] }, { "cell_type": "code", "execution_count": 3, "id": "81aa05c5", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:30:56.951055Z", "iopub.status.busy": "2024-03-28T14:30:56.950054Z", "iopub.status.idle": "2024-03-28T14:30:56.961795Z", "shell.execute_reply": "2024-03-28T14:30:56.960329Z" } }, "outputs": [], "source": [ "cluster_ip = \"10.10.200.42\"\n", "cluster_name = \"cluster0\"" ] }, { "cell_type": "markdown", "id": "8e909621", "metadata": {}, "source": [ "### Connect to Cluster\n", "\n", "We now make a connection with the Cluster." ] }, { "cell_type": "code", "execution_count": 4, "id": "f4e69239", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:30:56.966011Z", "iopub.status.busy": "2024-03-28T14:30:56.966011Z", "iopub.status.idle": "2024-03-28T14:30:57.894057Z", "shell.execute_reply": "2024-03-28T14:30:57.893056Z" }, "lines_to_next_cell": 2 }, "outputs": [], "source": [ "\n", "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": "9668c353", "metadata": { "lines_to_next_cell": 2 }, "source": [ "#### Get connected modules" ] }, { "cell_type": "code", "execution_count": 5, "id": "1fcc63c6", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:30:57.899063Z", "iopub.status.busy": "2024-03-28T14:30:57.899063Z", "iopub.status.idle": "2024-03-28T14:30:57.910037Z", "shell.execute_reply": "2024-03-28T14:30:57.909031Z" } }, "outputs": [], "source": [ "def get_connected_modules(cluster: Cluster, filter_fn: Callable | None = None) -> dict[int, QcmQrm]:\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": 6, "id": "c9b388e1", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:30:57.915624Z", "iopub.status.busy": "2024-03-28T14:30:57.914046Z", "iopub.status.idle": "2024-03-28T14:30:58.017135Z", "shell.execute_reply": "2024-03-28T14:30:58.016073Z" } }, "outputs": [ { "data": { "text/plain": [ "{2: ,\n", " 4: }" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# QCM or QRM baseband modules\n", "modules = get_connected_modules(cluster, lambda mod: not mod.is_rf_type)\n", "modules" ] }, { "cell_type": "code", "execution_count": 7, "id": "0f00caa8", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:30:58.023110Z", "iopub.status.busy": "2024-03-28T14:30:58.022104Z", "iopub.status.idle": "2024-03-28T14:30:58.033302Z", "shell.execute_reply": "2024-03-28T14:30:58.031777Z" } }, "outputs": [], "source": [ "module = modules[4]" ] }, { "cell_type": "markdown", "id": "fd642cab", "metadata": {}, "source": [ "### Reset the Cluster\n", "\n", "We reset the Cluster to enter a well-defined state. Note that resetting will clear all stored parameters, so resetting between experiments is usually not desirable." ] }, { "cell_type": "code", "execution_count": 8, "id": "663e09de", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:30:58.039092Z", "iopub.status.busy": "2024-03-28T14:30:58.038100Z", "iopub.status.idle": "2024-03-28T14:31:01.478227Z", "shell.execute_reply": "2024-03-28T14:31:01.478227Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status: OKAY, Flags: NONE, Slot flags: NONE\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "c:\\work\\code\\qblox_instruments_install\\qblox_instruments\\native\\generic_func.py:1033: FutureWarning: \n", " After June 2024, this feature is subject to removal in future releases.\n", " Transition to an alternative is advised.\n", " See https://qblox-qblox-instruments.readthedocs-hosted.com/en/main/getting_started/deprecated.html\n", " \n", " warnings.warn(\n", "c:\\work\\code\\qblox_instruments_install\\qblox_instruments\\native\\generic_func.py:77: FutureWarning: \n", " After June 2024, this feature is subject to removal in future releases.\n", " Transition to an alternative is advised.\n", " See https://qblox-qblox-instruments.readthedocs-hosted.com/en/main/getting_started/deprecated.html\n", " \n", " self._deprecation_warning()\n", "c:\\work\\code\\qblox_instruments_install\\qblox_instruments\\native\\generic_func.py:129: FutureWarning: \n", " After June 2024, this feature is subject to removal in future releases.\n", " Transition to an alternative is advised.\n", " See https://qblox-qblox-instruments.readthedocs-hosted.com/en/main/getting_started/deprecated.html\n", " \n", " self._deprecation_warning()\n" ] } ], "source": [ "cluster.reset()\n", "print(cluster.get_system_status())" ] }, { "cell_type": "markdown", "id": "8edff80e", "metadata": { "tags": [] }, "source": [ "Generate waveforms\n", "------------------\n", "\n", "Next, we are going to generate a couple of waveforms that we are going to upload to the instrument in the next step." ] }, { "cell_type": "code", "execution_count": 9, "id": "ce25c67a", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:31:01.483586Z", "iopub.status.busy": "2024-03-28T14:31:01.482601Z", "iopub.status.idle": "2024-03-28T14:31:01.495205Z", "shell.execute_reply": "2024-03-28T14:31:01.493504Z" } }, "outputs": [], "source": [ "# Waveform parameters\n", "waveform_length = 120 # nanoseconds (needs to be a minimum of 4 ns)\n", "\n", "# Waveform dictionary (data will hold the samples and index will be used to select the waveforms in the instrument).\n", "waveforms = {\n", " \"gaussian\": {\n", " \"data\": scipy.signal.windows.gaussian(waveform_length, std=0.12 * waveform_length).tolist(),\n", " \"index\": 0,\n", " },\n", " \"sine\": {\n", " \"data\": [math.sin((2 * math.pi / waveform_length) * i) for i in range(0, waveform_length)],\n", " \"index\": 1,\n", " },\n", " \"sawtooth\": {\n", " \"data\": [(1.0 / (waveform_length)) * i for i in range(0, waveform_length)],\n", " \"index\": 2,\n", " },\n", " \"block\": {\"data\": [1.0 for i in range(0, waveform_length)], \"index\": 3},\n", "}" ] }, { "cell_type": "markdown", "id": "6732e07a", "metadata": {}, "source": [ "Let's plot the waveforms to see what we have created." ] }, { "cell_type": "code", "execution_count": 10, "id": "efb61803", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:31:01.500784Z", "iopub.status.busy": "2024-03-28T14:31:01.499749Z", "iopub.status.idle": "2024-03-28T14:31:01.739950Z", "shell.execute_reply": "2024-03-28T14:31:01.739445Z" } }, "outputs": [ { "data": { "image/png": "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jhw5Ynz++edG7dq1jeeee86yjWJb+Z0+fdrYvXu3sXv3bgMwXn31VWP37t2WynmliWHXrl2NqKgoIzEx0di8ebPRtGlT4/7777fXKckFl4ptdna2cccddxh169Y19uzZY/V9Kisry7KPyhBbJWJOZM6cOUb9+vUNDw8Po23btsZ3331n7yZJGQHFPt5//33LNufOnTOeeOIJo1atWka1atWMXr16GSdOnLBfo+WKFE7EFFfHtGzZMuPaa681PD09jfDwcOPtt9+2Wp+Xl2eMHTvWCA4ONjw9PY3Y2FgjKSnJTq2V0kpPTzeefPJJo379+oaXl5fRuHFj48UXX7T6EqfYVn7r168v9v/UAQMGGIZRuhj+9ddfxv3332/UqFHD8PHxMR588EHj9OnTdjgbKehSsT1y5EiJ36fWr19v2UdliK3JMApMEy8iIiIiIiIVTveIiYiIiIiI2JgSMRERERERERtTIiYiIiIiImJjSsRERERERERsTImYiIiIiIiIjSkRExERERERsTElYiIiIiIiIjamRExERERERMTGlIiJiEiVMnDgQHr27Gm34/fr148pU6aUy76ys7Np2LAhO3bsKJf9iYiI7ZgMwzDs3QgREZHyYDKZLrl+/PjxPPXUUxiGgZ+fn20aVcDevXvp3LkzR48epUaNGuWyz7lz5/LFF1+wdu3actmfiIjYhhIxERFxGsnJyZafP/30U8aNG0dSUpJlWY0aNcotAboSjzzyCG5ubrz55pvlts+///6bkJAQdu3aRcuWLcttvyIiUrE0NFFERJxGSEiI5eHr64vJZLJaVqNGjSJDEzt16sSwYcMYMWIEtWrVIjg4mHfeeYeMjAwefPBBatasyTXXXMPKlSutjvX999/TrVs3atSoQXBwMP369ePPP/8ssW25ubksXryYHj16WC1v2LAhU6ZM4aGHHqJmzZrUr1+ft99+27I+OzuboUOHEhoaipeXFw0aNGDq1KmW9bVq1aJDhw588sknV3n1RETElpSIiYhIlTd//nxq167Ntm3bGDZsGI8//jj33HMP7du3Z9euXXTp0oV+/fpx9uxZAE6dOkXnzp2Jiopix44drFq1ipMnT3LvvfeWeIx9+/aRlpZGmzZtiqybOXMmbdq0Yffu3TzxxBM8/vjjlp682bNns3TpUj777DOSkpJYuHAhDRs2tHp927Zt+eabb8rvgoiISIVTIiYiIlVe69atGTNmDE2bNuX555/Hy8uL2rVrM2jQIJo2bcq4ceP466+/2LdvH2C+LysqKoopU6YQHh5OVFQU7733HuvXr+enn34q9hhHjx7F1dWVoKCgIuu6d+/OE088wTXXXMOoUaOoXbs269evB+DYsWM0bdqUjh070qBBAzp27Mj9999v9fqwsDCOHj1azldFREQqkhIxERGp8lq1amX52dXVlYCAACIjIy3LgoODAUhJSQHMRTfWr19vueesRo0ahIeHA3D48OFij3Hu3Dk8PT2LLShS8Pj5wynzjzVw4ED27NlD8+bNGT58OGvWrCnyem9vb0tvnYiIOAY3ezdARETE3tzd3a2em0wmq2X5yVNeXh4AZ86coUePHkyfPr3IvkJDQ4s9Ru3atTl79izZ2dl4eHhc9vj5x4qOjubIkSOsXLmSr7/+mnvvvZe4uDgWL15s2T41NZXAwMDSnq6IiFQCSsRERETKKDo6mv/7v/+jYcOGuLmV7r/S6667DoAff/zR8nNp+fj4cN9993Hfffdx991307VrV1JTU/H39wfMhUOioqLKtE8REbEvDU0UEREpoyFDhpCamsr999/P9u3bOXz4MKtXr+bBBx8kNze32NcEBgYSHR3N5s2by3SsV199lY8//piDBw/y008/sWjRIkJCQqzmQfvmm2/o0qXL1ZySiIjYmBIxERGRMgoLC2PLli3k5ubSpUsXIiMjGTFiBH5+fri4lPxf6yOPPMLChQvLdKyaNWsyY8YM2rRpww033MCvv/7KihUrLMfZunUraWlp3H333Vd1TiIiYlua0FlERMRGzp07R/Pmzfn000+JiYkpl33ed999tG7dmhdeeKFc9iciIrahHjEREREb8fb2ZsGCBZec+LkssrOziYyM5KmnniqX/YmIiO2oR0xERERERMTG1CMmIiIiIiJiY0rEREREREREbEyJmIiIiIiIiI0pERMREREREbExJWIiIiIiIiI2pkRMRERERETExpSIiYiIiIiI2JgSMRERERERERtTIiYiIiIiImJj/w8oDVXdzrpcAAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "time = np.arange(0, max(map(lambda d: len(d[\"data\"]), waveforms.values())), 1)\n", "fig, ax = plt.subplots(1, 1, figsize=(10, 10 / 1.61))\n", "\n", "for wf, d in waveforms.items():\n", " ax.plot(time[: len(d[\"data\"])], d[\"data\"], \".-\", linewidth=0.5, label=wf)\n", "\n", "ax.legend(loc=4)\n", "ax.grid(alpha=1 / 10)\n", "ax.set_ylabel(\"Waveform primitive amplitude\")\n", "ax.set_xlabel(\"Time (ns)\")\n", "\n", "plt.draw()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "798e6642", "metadata": {}, "source": [ "Upload waveforms\n", "----------------\n", "\n", "Now that we know that the waveforms are what we expect them to be, let's upload them to the instrument.\n", "To do this we need to store the waveforms in a JSON file together with a Q1ASM program for the sequence\n", "processor. Since we are going to use continuous waveform mode, the sequence processor will be bypassed\n", "and the Q1ASM program can be trivial (i.e. `stop`)." ] }, { "cell_type": "code", "execution_count": 11, "id": "a2ccc8ad", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:31:01.743895Z", "iopub.status.busy": "2024-03-28T14:31:01.743895Z", "iopub.status.idle": "2024-03-28T14:31:01.757431Z", "shell.execute_reply": "2024-03-28T14:31:01.755039Z" } }, "outputs": [], "source": [ "# Sequence program.\n", "seq_prog = \"stop\"\n", "\n", "# Check waveform length.\n", "for name in waveforms:\n", " assert (\n", " len(waveforms[name][\"data\"]) % 4\n", " ) == 0, \"In continuous waveform mode the length of a waveform must be a multiple of 4!\"\n", "\n", "# Add sequence program and waveforms to single dictionary and write to JSON file.\n", "sequence = {\n", " \"waveforms\": waveforms,\n", " \"weights\": {},\n", " \"acquisitions\": {},\n", " \"program\": seq_prog,\n", "}\n", "with open(\"cont_wave_mode_sequence.json\", \"w\", encoding=\"utf-8\") as file:\n", " json.dump(sequence, file, indent=4)\n", " file.close()" ] }, { "cell_type": "markdown", "id": "b99c85fb", "metadata": {}, "source": [ "Let's write the JSON file to the instruments. We will use sequencer 0 and 1, which will drive outputs $\\text{O}^{[1-2]}$ and $\\text{O}^{[3-4]}$ respectively." ] }, { "cell_type": "code", "execution_count": 12, "id": "065333df", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:31:01.761024Z", "iopub.status.busy": "2024-03-28T14:31:01.761024Z", "iopub.status.idle": "2024-03-28T14:31:01.908072Z", "shell.execute_reply": "2024-03-28T14:31:01.906993Z" } }, "outputs": [], "source": [ "# Upload sequence.\n", "module.sequencer0.sequence(\"cont_wave_mode_sequence.json\")\n", "module.sequencer1.sequence(\"cont_wave_mode_sequence.json\")" ] }, { "cell_type": "markdown", "id": "88672786", "metadata": {}, "source": [ "Play waveforms\n", "--------------\n", "\n", "The waveforms have been uploaded to the instrument. Now we need to configure the instrument to run in continuous waveform mode. We\n", "do this by setting the following parameters of the sequencers." ] }, { "cell_type": "code", "execution_count": 13, "id": "72827e2b", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:31:01.912234Z", "iopub.status.busy": "2024-03-28T14:31:01.911234Z", "iopub.status.idle": "2024-03-28T14:31:02.078116Z", "shell.execute_reply": "2024-03-28T14:31:02.076818Z" } }, "outputs": [], "source": [ "# Configure the sequencers to run in continuous waveform mode.\n", "for sequencer in [module.sequencer0, module.sequencer1]:\n", " sequencer.cont_mode_en_awg_path0(True)\n", " sequencer.cont_mode_en_awg_path1(True)\n", "\n", "# Map sequencers to specific outputs (but first disable all sequencer connections).\n", "module.disconnect_outputs()\n", "\n", "# If it is a QRM, we only map sequencer 0 to the outputs.\n", "module.sequencer0.connect_sequencer(\"out0_1\")\n", "if module.is_qcm_type:\n", " module.sequencer1.connect_sequencer(\"out2_3\")\n", "\n", "# Set specific waveform to specific output.\n", "module.sequencer0.cont_mode_waveform_idx_awg_path0(0) # Gaussian on O1\n", "module.sequencer0.cont_mode_waveform_idx_awg_path1(1) # Sine on O2\n", "module.sequencer1.cont_mode_waveform_idx_awg_path0(2) # Sawtooth on 03\n", "module.sequencer1.cont_mode_waveform_idx_awg_path1(3) # DC on O4" ] }, { "cell_type": "markdown", "id": "73eb8c89", "metadata": {}, "source": [ "Now let's start playback." ] }, { "cell_type": "code", "execution_count": 14, "id": "9d532363", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:31:02.083422Z", "iopub.status.busy": "2024-03-28T14:31:02.082393Z", "iopub.status.idle": "2024-03-28T14:31:02.124239Z", "shell.execute_reply": "2024-03-28T14:31:02.123002Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status: STOPPED, Flags: NONE\n", "Status: STOPPED, Flags: NONE\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "c:\\work\\code\\qblox_instruments_install\\qblox_instruments\\native\\generic_func.py:2414: FutureWarning: \n", " After June 2024, this feature is subject to removal in future releases.\n", " Transition to an alternative is advised.\n", " See https://qblox-qblox-instruments.readthedocs-hosted.com/en/main/getting_started/deprecated.html\n", " \n", " warnings.warn(\n", "c:\\work\\code\\qblox_instruments_install\\qblox_instruments\\native\\generic_func.py:85: FutureWarning: \n", " After June 2024, this feature is subject to removal in future releases.\n", " Transition to an alternative is advised.\n", " See https://qblox-qblox-instruments.readthedocs-hosted.com/en/main/getting_started/deprecated.html\n", " \n", " self._deprecation_warning()\n" ] } ], "source": [ "# Arm and start both sequencers.\n", "module.arm_sequencer(0)\n", "module.arm_sequencer(1)\n", "module.start_sequencer()\n", "\n", "# Print status of both sequencers (should now say Q1 stopped, because of the stop instruction).\n", "print(module.get_sequencer_status(0))\n", "print(module.get_sequencer_status(1))" ] }, { "cell_type": "markdown", "id": "ba859b06", "metadata": {}, "source": [ "Check waveforms\n", "---------------\n", "\n", "The instrument is now running in continuous waveform mode. Now let's connect an oscilloscope and check the outputs.\n", "We connect all output channels of the QXM to two/four channels of an oscilloscope.\n", "On the scope we are able to see that all waveforms are being generated correctly:\n", "\n", "[![continuous waveform mode scope image](cont_waveform_scope.png)](cont_waveform_scope.png)\n", "\n", "Outputs: Yellow=$\\text{O}^{1}$, Blue=$\\text{O}^{2}$, Purple=$\\text{O}^{3}$ and Green=$\\text{O}^{4}$" ] }, { "cell_type": "markdown", "id": "f5a98190", "metadata": {}, "source": [ "Stop\n", "----\n", "\n", "Finally, let's stop the sequencers if they haven't already and close the instrument connection. One can also display a detailed snapshot containing the instrument parameters before\n", "closing the connection by uncommenting the corresponding lines." ] }, { "cell_type": "code", "execution_count": 15, "id": "6e3e416b", "metadata": { "execution": { "iopub.execute_input": "2024-03-28T14:31:02.128837Z", "iopub.status.busy": "2024-03-28T14:31:02.128837Z", "iopub.status.idle": "2024-03-28T14:31:11.884466Z", "shell.execute_reply": "2024-03-28T14:31:11.882480Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status: STOPPED, Flags: FORCED_STOP\n", "Snapshot:\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "cluster0_module4:\n", "\tparameter value\n", "--------------------------------------------------------------------------------\n", "in0_gain :\t-6 (dB)\n", "in0_offset :\t0 (V)\n", "in1_gain :\t-6 (dB)\n", "in1_offset :\t0 (V)\n", "marker0_inv_en :\tFalse \n", "marker1_inv_en :\tFalse \n", "marker2_inv_en :\tFalse \n", "marker3_inv_en :\tFalse \n", "out0_offset :\t0 (V)\n", "out1_offset :\t0 (V)\n", "present :\tTrue \n", "scope_acq_avg_mode_en_path0 :\tFalse \n", "scope_acq_avg_mode_en_path1 :\tFalse \n", "scope_acq_sequencer_select :\t0 \n", "scope_acq_trigger_level_path0 :\t0 \n", "scope_acq_trigger_level_path1 :\t0 \n", "scope_acq_trigger_mode_path0 :\tsequencer \n", "scope_acq_trigger_mode_path1 :\tsequencer \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "cluster0_module4_sequencer0:\n", "\tparameter value\n", "--------------------------------------------------------------------------------\n", "connect_acq_I :\tin0 \n", "connect_acq_Q :\tin1 \n", "connect_out0 :\tI \n", "connect_out1 :\tQ \n", "cont_mode_en_awg_path0 :\tTrue \n", "cont_mode_en_awg_path1 :\tTrue \n", "cont_mode_waveform_idx_awg_path0 :\t0 \n", "cont_mode_waveform_idx_awg_path1 :\t1 \n", "demod_en_acq :\tFalse \n", "gain_awg_path0 :\t1 \n", "gain_awg_path1 :\t1 \n", "integration_length_acq :\t1024 \n", "marker_ovr_en :\tFalse \n", "marker_ovr_value :\t0 \n", "mixer_corr_gain_ratio :\t1 \n", "mixer_corr_phase_offset_degree :\t-0 \n", "mod_en_awg :\tFalse \n", "nco_freq :\t0 (Hz)\n", "nco_phase_offs :\t0 (Degrees)\n", "nco_prop_delay_comp :\t0 (ns)\n", "nco_prop_delay_comp_en :\tFalse (ns)\n", "offset_awg_path0 :\t0 \n", "offset_awg_path1 :\t0 \n", "sync_en :\tFalse \n", "thresholded_acq_marker_address :\t1 \n", "thresholded_acq_marker_en :\tFalse \n", "thresholded_acq_marker_invert :\tFalse \n", "thresholded_acq_rotation :\t0 (Degrees)\n", "thresholded_acq_threshold :\t0 \n", "thresholded_acq_trigger_address :\t1 \n", "thresholded_acq_trigger_en :\tFalse \n", "thresholded_acq_trigger_invert :\tFalse \n", "trigger10_count_threshold :\t1 \n", "trigger10_threshold_invert :\tFalse \n", "trigger11_count_threshold :\t1 \n", "trigger11_threshold_invert :\tFalse \n", "trigger12_count_threshold :\t1 \n", "trigger12_threshold_invert :\tFalse \n", "trigger13_count_threshold :\t1 \n", "trigger13_threshold_invert :\tFalse \n", "trigger14_count_threshold :\t1 \n", "trigger14_threshold_invert :\tFalse \n", "trigger15_count_threshold :\t1 \n", "trigger15_threshold_invert :\tFalse \n", "trigger1_count_threshold :\t1 \n", "trigger1_threshold_invert :\tFalse \n", "trigger2_count_threshold :\t1 \n", "trigger2_threshold_invert :\tFalse \n", "trigger3_count_threshold :\t1 \n", "trigger3_threshold_invert :\tFalse \n", "trigger4_count_threshold :\t1 \n", "trigger4_threshold_invert :\tFalse \n", "trigger5_count_threshold :\t1 \n", "trigger5_threshold_invert :\tFalse \n", "trigger6_count_threshold :\t1 \n", "trigger6_threshold_invert :\tFalse \n", "trigger7_count_threshold :\t1 \n", "trigger7_threshold_invert :\tFalse \n", "trigger8_count_threshold :\t1 \n", "trigger8_threshold_invert :\tFalse \n", "trigger9_count_threshold :\t1 \n", "trigger9_threshold_invert :\tFalse \n", "ttl_acq_auto_bin_incr_en :\tFalse \n", "ttl_acq_input_select :\t0 \n", "ttl_acq_threshold :\t0 \n", "upsample_rate_awg_path0 :\t0 \n", "upsample_rate_awg_path1 :\t0 \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "cluster0_module4_sequencer1:\n", "\tparameter value\n", "--------------------------------------------------------------------------------\n", "connect_acq_I :\tin0 \n", "connect_acq_Q :\tin1 \n", "connect_out0 :\toff \n", "connect_out1 :\toff \n", "cont_mode_en_awg_path0 :\tTrue \n", "cont_mode_en_awg_path1 :\tTrue \n", "cont_mode_waveform_idx_awg_path0 :\t2 \n", "cont_mode_waveform_idx_awg_path1 :\t3 \n", "demod_en_acq :\tFalse \n", "gain_awg_path0 :\t1 \n", "gain_awg_path1 :\t1 \n", "integration_length_acq :\t1024 \n", "marker_ovr_en :\tFalse \n", "marker_ovr_value :\t0 \n", "mixer_corr_gain_ratio :\t1 \n", "mixer_corr_phase_offset_degree :\t-0 \n", "mod_en_awg :\tFalse \n", "nco_freq :\t0 (Hz)\n", "nco_phase_offs :\t0 (Degrees)\n", "nco_prop_delay_comp :\t0 (ns)\n", "nco_prop_delay_comp_en :\tFalse (ns)\n", "offset_awg_path0 :\t0 \n", "offset_awg_path1 :\t0 \n", "sync_en :\tFalse \n", "thresholded_acq_marker_address :\t1 \n", "thresholded_acq_marker_en :\tFalse \n", "thresholded_acq_marker_invert :\tFalse \n", "thresholded_acq_rotation :\t0 (Degrees)\n", "thresholded_acq_threshold :\t0 \n", "thresholded_acq_trigger_address :\t1 \n", "thresholded_acq_trigger_en :\tFalse \n", "thresholded_acq_trigger_invert :\tFalse \n", "trigger10_count_threshold :\t1 \n", "trigger10_threshold_invert :\tFalse \n", "trigger11_count_threshold :\t1 \n", "trigger11_threshold_invert :\tFalse \n", "trigger12_count_threshold :\t1 \n", "trigger12_threshold_invert :\tFalse \n", "trigger13_count_threshold :\t1 \n", "trigger13_threshold_invert :\tFalse \n", "trigger14_count_threshold :\t1 \n", "trigger14_threshold_invert :\tFalse \n", "trigger15_count_threshold :\t1 \n", "trigger15_threshold_invert :\tFalse \n", "trigger1_count_threshold :\t1 \n", "trigger1_threshold_invert :\tFalse \n", "trigger2_count_threshold :\t1 \n", "trigger2_threshold_invert :\tFalse \n", "trigger3_count_threshold :\t1 \n", "trigger3_threshold_invert :\tFalse \n", "trigger4_count_threshold :\t1 \n", "trigger4_threshold_invert :\tFalse \n", "trigger5_count_threshold :\t1 \n", "trigger5_threshold_invert :\tFalse \n", "trigger6_count_threshold :\t1 \n", "trigger6_threshold_invert :\tFalse \n", "trigger7_count_threshold :\t1 \n", "trigger7_threshold_invert :\tFalse \n", "trigger8_count_threshold :\t1 \n", "trigger8_threshold_invert :\tFalse \n", "trigger9_count_threshold :\t1 \n", "trigger9_threshold_invert :\tFalse \n", "ttl_acq_auto_bin_incr_en :\tFalse \n", "ttl_acq_input_select :\t0 \n", "ttl_acq_threshold :\t0 \n", "upsample_rate_awg_path0 :\t0 \n", "upsample_rate_awg_path1 :\t0 \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "cluster0_module4_sequencer2:\n", "\tparameter value\n", "--------------------------------------------------------------------------------\n", "connect_acq_I :\tin0 \n", "connect_acq_Q :\tin1 \n", "connect_out0 :\toff \n", "connect_out1 :\toff \n", "cont_mode_en_awg_path0 :\tFalse \n", "cont_mode_en_awg_path1 :\tFalse \n", "cont_mode_waveform_idx_awg_path0 :\t0 \n", "cont_mode_waveform_idx_awg_path1 :\t0 \n", "demod_en_acq :\tFalse \n", "gain_awg_path0 :\t1 \n", "gain_awg_path1 :\t1 \n", "integration_length_acq :\t1024 \n", "marker_ovr_en :\tFalse \n", "marker_ovr_value :\t0 \n", "mixer_corr_gain_ratio :\t1 \n", "mixer_corr_phase_offset_degree :\t-0 \n", "mod_en_awg :\tFalse \n", "nco_freq :\t0 (Hz)\n", "nco_phase_offs :\t0 (Degrees)\n", "nco_prop_delay_comp :\t0 (ns)\n", "nco_prop_delay_comp_en :\tFalse (ns)\n", "offset_awg_path0 :\t0 \n", "offset_awg_path1 :\t0 \n", "sync_en :\tFalse \n", "thresholded_acq_marker_address :\t1 \n", "thresholded_acq_marker_en :\tFalse \n", "thresholded_acq_marker_invert :\tFalse \n", "thresholded_acq_rotation :\t0 (Degrees)\n", "thresholded_acq_threshold :\t0 \n", "thresholded_acq_trigger_address :\t1 \n", "thresholded_acq_trigger_en :\tFalse \n", "thresholded_acq_trigger_invert :\tFalse \n", "trigger10_count_threshold :\t1 \n", "trigger10_threshold_invert :\tFalse \n", "trigger11_count_threshold :\t1 \n", "trigger11_threshold_invert :\tFalse \n", "trigger12_count_threshold :\t1 \n", "trigger12_threshold_invert :\tFalse \n", "trigger13_count_threshold :\t1 \n", "trigger13_threshold_invert :\tFalse \n", "trigger14_count_threshold :\t1 \n", "trigger14_threshold_invert :\tFalse \n", "trigger15_count_threshold :\t1 \n", "trigger15_threshold_invert :\tFalse \n", "trigger1_count_threshold :\t1 \n", "trigger1_threshold_invert :\tFalse \n", "trigger2_count_threshold :\t1 \n", "trigger2_threshold_invert :\tFalse \n", "trigger3_count_threshold :\t1 \n", "trigger3_threshold_invert :\tFalse \n", "trigger4_count_threshold :\t1 \n", "trigger4_threshold_invert :\tFalse \n", "trigger5_count_threshold :\t1 \n", "trigger5_threshold_invert :\tFalse \n", "trigger6_count_threshold :\t1 \n", "trigger6_threshold_invert :\tFalse \n", "trigger7_count_threshold :\t1 \n", "trigger7_threshold_invert :\tFalse \n", "trigger8_count_threshold :\t1 \n", "trigger8_threshold_invert :\tFalse \n", "trigger9_count_threshold :\t1 \n", "trigger9_threshold_invert :\tFalse \n", "ttl_acq_auto_bin_incr_en :\tFalse \n", "ttl_acq_input_select :\t0 \n", "ttl_acq_threshold :\t0 \n", "upsample_rate_awg_path0 :\t0 \n", "upsample_rate_awg_path1 :\t0 \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "cluster0_module4_sequencer3:\n", "\tparameter value\n", "--------------------------------------------------------------------------------\n", "connect_acq_I :\tin0 \n", "connect_acq_Q :\tin1 \n", "connect_out0 :\toff \n", "connect_out1 :\toff \n", "cont_mode_en_awg_path0 :\tFalse \n", "cont_mode_en_awg_path1 :\tFalse \n", "cont_mode_waveform_idx_awg_path0 :\t0 \n", "cont_mode_waveform_idx_awg_path1 :\t0 \n", "demod_en_acq :\tFalse \n", "gain_awg_path0 :\t1 \n", "gain_awg_path1 :\t1 \n", "integration_length_acq :\t1024 \n", "marker_ovr_en :\tFalse \n", "marker_ovr_value :\t0 \n", "mixer_corr_gain_ratio :\t1 \n", "mixer_corr_phase_offset_degree :\t-0 \n", "mod_en_awg :\tFalse \n", "nco_freq :\t0 (Hz)\n", "nco_phase_offs :\t0 (Degrees)\n", "nco_prop_delay_comp :\t0 (ns)\n", "nco_prop_delay_comp_en :\tFalse (ns)\n", "offset_awg_path0 :\t0 \n", "offset_awg_path1 :\t0 \n", "sync_en :\tFalse \n", "thresholded_acq_marker_address :\t1 \n", "thresholded_acq_marker_en :\tFalse \n", "thresholded_acq_marker_invert :\tFalse \n", "thresholded_acq_rotation :\t0 (Degrees)\n", "thresholded_acq_threshold :\t0 \n", "thresholded_acq_trigger_address :\t1 \n", "thresholded_acq_trigger_en :\tFalse \n", "thresholded_acq_trigger_invert :\tFalse \n", "trigger10_count_threshold :\t1 \n", "trigger10_threshold_invert :\tFalse \n", "trigger11_count_threshold :\t1 \n", "trigger11_threshold_invert :\tFalse \n", "trigger12_count_threshold :\t1 \n", "trigger12_threshold_invert :\tFalse \n", "trigger13_count_threshold :\t1 \n", "trigger13_threshold_invert :\tFalse \n", "trigger14_count_threshold :\t1 \n", "trigger14_threshold_invert :\tFalse \n", "trigger15_count_threshold :\t1 \n", "trigger15_threshold_invert :\tFalse \n", "trigger1_count_threshold :\t1 \n", "trigger1_threshold_invert :\tFalse \n", "trigger2_count_threshold :\t1 \n", "trigger2_threshold_invert :\tFalse \n", "trigger3_count_threshold :\t1 \n", "trigger3_threshold_invert :\tFalse \n", "trigger4_count_threshold :\t1 \n", "trigger4_threshold_invert :\tFalse \n", "trigger5_count_threshold :\t1 \n", "trigger5_threshold_invert :\tFalse \n", "trigger6_count_threshold :\t1 \n", "trigger6_threshold_invert :\tFalse \n", "trigger7_count_threshold :\t1 \n", "trigger7_threshold_invert :\tFalse \n", "trigger8_count_threshold :\t1 \n", "trigger8_threshold_invert :\tFalse \n", "trigger9_count_threshold :\t1 \n", "trigger9_threshold_invert :\tFalse \n", "ttl_acq_auto_bin_incr_en :\tFalse \n", "ttl_acq_input_select :\t0 \n", "ttl_acq_threshold :\t0 \n", "upsample_rate_awg_path0 :\t0 \n", "upsample_rate_awg_path1 :\t0 \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "cluster0_module4_sequencer4:\n", "\tparameter value\n", "--------------------------------------------------------------------------------\n", "connect_acq_I :\tin0 \n", "connect_acq_Q :\tin1 \n", "connect_out0 :\toff \n", "connect_out1 :\toff \n", "cont_mode_en_awg_path0 :\tFalse \n", "cont_mode_en_awg_path1 :\tFalse \n", "cont_mode_waveform_idx_awg_path0 :\t0 \n", "cont_mode_waveform_idx_awg_path1 :\t0 \n", "demod_en_acq :\tFalse \n", "gain_awg_path0 :\t1 \n", "gain_awg_path1 :\t1 \n", "integration_length_acq :\t1024 \n", "marker_ovr_en :\tFalse \n", "marker_ovr_value :\t0 \n", "mixer_corr_gain_ratio :\t1 \n", "mixer_corr_phase_offset_degree :\t-0 \n", "mod_en_awg :\tFalse \n", "nco_freq :\t0 (Hz)\n", "nco_phase_offs :\t0 (Degrees)\n", "nco_prop_delay_comp :\t0 (ns)\n", "nco_prop_delay_comp_en :\tFalse (ns)\n", "offset_awg_path0 :\t0 \n", "offset_awg_path1 :\t0 \n", "sync_en :\tFalse \n", "thresholded_acq_marker_address :\t1 \n", "thresholded_acq_marker_en :\tFalse \n", "thresholded_acq_marker_invert :\tFalse \n", "thresholded_acq_rotation :\t0 (Degrees)\n", "thresholded_acq_threshold :\t0 \n", "thresholded_acq_trigger_address :\t1 \n", "thresholded_acq_trigger_en :\tFalse \n", "thresholded_acq_trigger_invert :\tFalse \n", "trigger10_count_threshold :\t1 \n", "trigger10_threshold_invert :\tFalse \n", "trigger11_count_threshold :\t1 \n", "trigger11_threshold_invert :\tFalse \n", "trigger12_count_threshold :\t1 \n", "trigger12_threshold_invert :\tFalse \n", "trigger13_count_threshold :\t1 \n", "trigger13_threshold_invert :\tFalse \n", "trigger14_count_threshold :\t1 \n", "trigger14_threshold_invert :\tFalse \n", "trigger15_count_threshold :\t1 \n", "trigger15_threshold_invert :\tFalse \n", "trigger1_count_threshold :\t1 \n", "trigger1_threshold_invert :\tFalse \n", "trigger2_count_threshold :\t1 \n", "trigger2_threshold_invert :\tFalse \n", "trigger3_count_threshold :\t1 \n", "trigger3_threshold_invert :\tFalse \n", "trigger4_count_threshold :\t1 \n", "trigger4_threshold_invert :\tFalse \n", "trigger5_count_threshold :\t1 \n", "trigger5_threshold_invert :\tFalse \n", "trigger6_count_threshold :\t1 \n", "trigger6_threshold_invert :\tFalse \n", "trigger7_count_threshold :\t1 \n", "trigger7_threshold_invert :\tFalse \n", "trigger8_count_threshold :\t1 \n", "trigger8_threshold_invert :\tFalse \n", "trigger9_count_threshold :\t1 \n", "trigger9_threshold_invert :\tFalse \n", "ttl_acq_auto_bin_incr_en :\tFalse \n", "ttl_acq_input_select :\t0 \n", "ttl_acq_threshold :\t0 \n", "upsample_rate_awg_path0 :\t0 \n", "upsample_rate_awg_path1 :\t0 \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "cluster0_module4_sequencer5:\n", "\tparameter value\n", "--------------------------------------------------------------------------------\n", "connect_acq_I :\tin0 \n", "connect_acq_Q :\tin1 \n", "connect_out0 :\toff \n", "connect_out1 :\toff \n", "cont_mode_en_awg_path0 :\tFalse \n", "cont_mode_en_awg_path1 :\tFalse \n", "cont_mode_waveform_idx_awg_path0 :\t0 \n", "cont_mode_waveform_idx_awg_path1 :\t0 \n", "demod_en_acq :\tFalse \n", "gain_awg_path0 :\t1 \n", "gain_awg_path1 :\t1 \n", "integration_length_acq :\t1024 \n", "marker_ovr_en :\tFalse \n", "marker_ovr_value :\t0 \n", "mixer_corr_gain_ratio :\t1 \n", "mixer_corr_phase_offset_degree :\t-0 \n", "mod_en_awg :\tFalse \n", "nco_freq :\t0 (Hz)\n", "nco_phase_offs :\t0 (Degrees)\n", "nco_prop_delay_comp :\t0 (ns)\n", "nco_prop_delay_comp_en :\tFalse (ns)\n", "offset_awg_path0 :\t0 \n", "offset_awg_path1 :\t0 \n", "sync_en :\tFalse \n", "thresholded_acq_marker_address :\t1 \n", "thresholded_acq_marker_en :\tFalse \n", "thresholded_acq_marker_invert :\tFalse \n", "thresholded_acq_rotation :\t0 (Degrees)\n", "thresholded_acq_threshold :\t0 \n", "thresholded_acq_trigger_address :\t1 \n", "thresholded_acq_trigger_en :\tFalse \n", "thresholded_acq_trigger_invert :\tFalse \n", "trigger10_count_threshold :\t1 \n", "trigger10_threshold_invert :\tFalse \n", "trigger11_count_threshold :\t1 \n", "trigger11_threshold_invert :\tFalse \n", "trigger12_count_threshold :\t1 \n", "trigger12_threshold_invert :\tFalse \n", "trigger13_count_threshold :\t1 \n", "trigger13_threshold_invert :\tFalse \n", "trigger14_count_threshold :\t1 \n", "trigger14_threshold_invert :\tFalse \n", "trigger15_count_threshold :\t1 \n", "trigger15_threshold_invert :\tFalse \n", "trigger1_count_threshold :\t1 \n", "trigger1_threshold_invert :\tFalse \n", "trigger2_count_threshold :\t1 \n", "trigger2_threshold_invert :\tFalse \n", "trigger3_count_threshold :\t1 \n", "trigger3_threshold_invert :\tFalse \n", "trigger4_count_threshold :\t1 \n", "trigger4_threshold_invert :\tFalse \n", "trigger5_count_threshold :\t1 \n", "trigger5_threshold_invert :\tFalse \n", "trigger6_count_threshold :\t1 \n", "trigger6_threshold_invert :\tFalse \n", "trigger7_count_threshold :\t1 \n", "trigger7_threshold_invert :\tFalse \n", "trigger8_count_threshold :\t1 \n", "trigger8_threshold_invert :\tFalse \n", "trigger9_count_threshold :\t1 \n", "trigger9_threshold_invert :\tFalse \n", "ttl_acq_auto_bin_incr_en :\tFalse \n", "ttl_acq_input_select :\t0 \n", "ttl_acq_threshold :\t0 \n", "upsample_rate_awg_path0 :\t0 \n", "upsample_rate_awg_path1 :\t0 \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Status: OKAY, Flags: NONE, Slot flags: NONE\n" ] } ], "source": [ "# Stop both sequencers.\n", "module.stop_sequencer()\n", "\n", "# Print status of both sequencers (should now say it is stopped).\n", "print(module.get_sequencer_status(0))\n", "\n", "# Uncomment the following to print an overview of the instrument parameters.\n", "print(\"Snapshot:\")\n", "module.print_readable_snapshot(update=True)\n", "\n", "# Reset the cluster\n", "cluster.reset()\n", "print(cluster.get_system_status())" ] } ], "metadata": { "jupytext": { "formats": "ipynb,py:percent" }, "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.8.18" } }, "nbformat": 4, "nbformat_minor": 5 }