{ "cells": [ { "cell_type": "markdown", "id": "0a9a7735", "metadata": {}, "source": [ "# Reference design 2 — Two coupled transmons\n", "\n", "Two transmons, each with its own multiplexed readout resonator, joined by a meandered coplanar-waveguide coupling bus — the building block of a two-qubit gate.\n", "\n", "> **Reference design — attribution.** Adapted, with attribution, from the open-source [SQDMetal](https://github.com/sqdlab/SQDMetal) project (Apache-2.0) and its benchmark devices in D. Sommers, P. Pakkiam, Z. Degnan, C.-C. Chiu, D. Gautam, Y.-H. Chen, and A. Fedorov, *\"Open-Source Highly Parallel Electromagnetic Simulations for Superconducting Circuits,\"* [arXiv:2511.01220](https://arxiv.org/abs/2511.01220) (2025). Re-implemented here with stock Quantum Metal components." ] }, { "cell_type": "code", "execution_count": 1, "id": "134cc2be", "metadata": { "execution": { "iopub.execute_input": "2026-06-18T21:27:17.302619Z", "iopub.status.busy": "2026-06-18T21:27:17.302439Z", "iopub.status.idle": "2026-06-18T21:27:17.306253Z", "shell.execute_reply": "2026-06-18T21:27:17.305148Z" } }, "outputs": [], "source": [ "# In Colab / Binder, uncomment to install Quantum Metal (lite, no Qt):\n", "# !pip install -q quantum-metal" ] }, { "cell_type": "code", "execution_count": 2, "id": "add83f69", "metadata": { "execution": { "iopub.execute_input": "2026-06-18T21:27:17.308231Z", "iopub.status.busy": "2026-06-18T21:27:17.308063Z", "iopub.status.idle": "2026-06-18T21:27:19.361806Z", "shell.execute_reply": "2026-06-18T21:27:19.360487Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "09:27PM 19s INFO [_start_renderers]: Renderer=gmsh skipped: runtime dependency not installed (renderer_gmsh requires gmsh. Install with: pip install 'quantum-metal[mesh]' (or the legacy alias 'quantum-metal[fem]')).\n" ] } ], "source": [ "import qiskit_metal as qm\n", "from qiskit_metal import Dict, designs\n", "from qiskit_metal.qlibrary.qubits.transmon_pocket import TransmonPocket\n", "from qiskit_metal.qlibrary.tlines.meandered import RouteMeander\n", "from qiskit_metal.qlibrary.tlines.pathfinder import RoutePathfinder\n", "from qiskit_metal.qlibrary.couplers.coupled_line_tee import CoupledLineTee\n", "from qiskit_metal.qlibrary.terminations.launchpad_wb import LaunchpadWirebond\n", "\n", "design = designs.DesignPlanar()\n", "design.overwrite_enabled = True" ] }, { "cell_type": "code", "execution_count": 3, "id": "806dd9a7", "metadata": { "execution": { "iopub.execute_input": "2026-06-18T21:27:19.363928Z", "iopub.status.busy": "2026-06-18T21:27:19.363718Z", "iopub.status.idle": "2026-06-18T21:27:19.368449Z", "shell.execute_reply": "2026-06-18T21:27:19.367523Z" } }, "outputs": [], "source": [ "def feed(a, ap, b, bp, name):\n", " \"\"\"Auto-route a coplanar-waveguide feedline segment between two pins.\"\"\"\n", " RoutePathfinder(\n", " design,\n", " name,\n", " options=dict(\n", " fillet=\"90um\",\n", " pin_inputs=Dict(\n", " start_pin=Dict(component=a, pin=ap), end_pin=Dict(component=b, pin=bp)\n", " ),\n", " ),\n", " )\n", "\n", "\n", "def readout(clt, q, name, length):\n", " \"\"\"Meandered lambda/4 readout resonator: coupled-line tee -> qubit readout pad.\"\"\"\n", " RouteMeander(\n", " design,\n", " name,\n", " options=dict(\n", " fillet=\"90um\",\n", " total_length=length,\n", " lead=Dict(start_straight=\"100um\", end_straight=\"100um\"),\n", " pin_inputs=Dict(\n", " start_pin=Dict(component=clt, pin=\"second_end\"),\n", " end_pin=Dict(component=q, pin=\"readout\"),\n", " ),\n", " ),\n", " )" ] }, { "cell_type": "markdown", "id": "62588bde", "metadata": {}, "source": [ "## 1. Two transmons\n", "\n", "Each transmon gets a `readout` pad (top, outward) and a `coupler` pad (bottom, facing its neighbour)." ] }, { "cell_type": "code", "execution_count": 4, "id": "40d21413", "metadata": { "execution": { "iopub.execute_input": "2026-06-18T21:27:19.370318Z", "iopub.status.busy": "2026-06-18T21:27:19.370136Z", "iopub.status.idle": "2026-06-18T21:27:19.473597Z", "shell.execute_reply": "2026-06-18T21:27:19.472415Z" } }, "outputs": [ { "data": { "text/plain": [ "\u001b[95m\u001b[1mname: \u001b[94m\u001b[1mQ2\u001b[0m\n", "\u001b[95m\u001b[1mclass: \u001b[94m\u001b[1mTransmonPocket \u001b[0m\n", "\u001b[95m\u001b[1moptions: \u001b[0m\n", " 'pos_x' : '2.5mm', \n", " 'pos_y' : '-1.5mm', \n", " 'orientation' : '0.0', \n", " 'chip' : 'main', \n", " 'layer' : '1', \n", " \u001b[1m'connection_pads' \u001b[0m: {\n", " \u001b[1m'readout' \u001b[0m: {\n", " 'pad_gap' : '15um', \n", " 'pad_width' : '125um', \n", " 'pad_height' : '30um', \n", " 'pad_cpw_shift' : '5um', \n", " 'pad_cpw_extent' : '25um', \n", " 'cpw_width' : 'cpw_width', \n", " 'cpw_gap' : 'cpw_gap', \n", " 'cpw_extend' : '100um', \n", " 'pocket_extent' : '5um', \n", " 'pocket_rise' : '65um', \n", " 'loc_W' : 1, \n", " 'loc_H' : 1, \n", " },\n", " \u001b[1m'coupler' \u001b[0m: {\n", " 'pad_gap' : '15um', \n", " 'pad_width' : '125um', \n", " 'pad_height' : '30um', \n", " 'pad_cpw_shift' : '5um', \n", " 'pad_cpw_extent' : '25um', \n", " 'cpw_width' : 'cpw_width', \n", " 'cpw_gap' : 'cpw_gap', \n", " 'cpw_extend' : '100um', \n", " 'pocket_extent' : '5um', \n", " 'pocket_rise' : '65um', \n", " 'loc_W' : -1, \n", " 'loc_H' : -1, \n", " },\n", " },\n", " 'pad_gap' : '30um', \n", " 'inductor_width' : '20um', \n", " 'pad_width' : '425um', \n", " 'pad_height' : '90um', \n", " 'pocket_width' : '650um', \n", " 'pocket_height' : '650um', \n", " 'hfss_wire_bonds' : False, \n", " 'q3d_wire_bonds' : False, \n", " 'aedt_q3d_wire_bonds': False, \n", " 'aedt_hfss_wire_bonds': False, \n", " 'hfss_inductance' : '10nH', \n", " 'hfss_capacitance' : 0, \n", " 'hfss_resistance' : 0, \n", " 'hfss_mesh_kw_jj' : 7e-06, \n", " 'q3d_inductance' : '10nH', \n", " 'q3d_capacitance' : 0, \n", " 'q3d_resistance' : 0, \n", " 'q3d_mesh_kw_jj' : 7e-06, \n", " 'gds_cell_name' : 'my_other_junction', \n", " 'aedt_q3d_inductance': 1e-08, \n", " 'aedt_q3d_capacitance': 0, \n", " 'aedt_hfss_inductance': 1e-08, \n", " 'aedt_hfss_capacitance': 0, \n", "\u001b[95m\u001b[1mmodule: \u001b[94m\u001b[1mqiskit_metal.qlibrary.qubits.transmon_pocket\u001b[0m\n", "\u001b[95m\u001b[1mid: \u001b[94m\u001b[1m2\u001b[0m" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TransmonPocket(\n", " design,\n", " \"Q1\",\n", " options=dict(\n", " pos_x=\"-2.5mm\",\n", " pos_y=\"-1.5mm\",\n", " pad_width=\"425um\",\n", " pocket_height=\"650um\",\n", " connection_pads=dict(\n", " readout=dict(loc_W=-1, loc_H=1), coupler=dict(loc_W=1, loc_H=-1)\n", " ),\n", " ),\n", ")\n", "TransmonPocket(\n", " design,\n", " \"Q2\",\n", " options=dict(\n", " pos_x=\"2.5mm\",\n", " pos_y=\"-1.5mm\",\n", " pad_width=\"425um\",\n", " pocket_height=\"650um\",\n", " connection_pads=dict(\n", " readout=dict(loc_W=1, loc_H=1), coupler=dict(loc_W=-1, loc_H=-1)\n", " ),\n", " ),\n", ")" ] }, { "cell_type": "markdown", "id": "882839a7", "metadata": {}, "source": [ "## 2. Shared feedline + two readout resonators\n", "\n", "One feedline, two coupled-line tees, two resonators of slightly different length (frequency-multiplexed readout)." ] }, { "cell_type": "code", "execution_count": 5, "id": "e357691e", "metadata": { "execution": { "iopub.execute_input": "2026-06-18T21:27:19.475938Z", "iopub.status.busy": "2026-06-18T21:27:19.475746Z", "iopub.status.idle": "2026-06-18T21:27:19.656884Z", "shell.execute_reply": "2026-06-18T21:27:19.655653Z" } }, "outputs": [], "source": [ "CoupledLineTee(\n", " design,\n", " \"clt1\",\n", " options=dict(\n", " pos_x=\"-2.5mm\",\n", " pos_y=\"1.5mm\",\n", " coupling_length=\"350um\",\n", " down_length=\"300um\",\n", " fillet=\"90um\",\n", " open_termination=False,\n", " ),\n", ")\n", "CoupledLineTee(\n", " design,\n", " \"clt2\",\n", " options=dict(\n", " pos_x=\"2.5mm\",\n", " pos_y=\"1.5mm\",\n", " coupling_length=\"350um\",\n", " down_length=\"300um\",\n", " fillet=\"90um\",\n", " open_termination=False,\n", " ),\n", ")\n", "LaunchpadWirebond(\n", " design, \"LP1\", options=dict(pos_x=\"-6mm\", pos_y=\"1.5mm\", orientation=\"0\")\n", ")\n", "LaunchpadWirebond(\n", " design, \"LP2\", options=dict(pos_x=\"6mm\", pos_y=\"1.5mm\", orientation=\"180\")\n", ")\n", "feed(\"LP1\", \"tie\", \"clt1\", \"prime_start\", \"feed_L\")\n", "feed(\"clt1\", \"prime_end\", \"clt2\", \"prime_start\", \"feed_M\")\n", "feed(\"clt2\", \"prime_end\", \"LP2\", \"tie\", \"feed_R\")\n", "readout(\"clt1\", \"Q1\", \"read1\", \"7.0mm\")\n", "readout(\"clt2\", \"Q2\", \"read2\", \"7.2mm\")" ] }, { "cell_type": "markdown", "id": "753604bb", "metadata": {}, "source": [ "## 3. Qubit-qubit coupling bus\n", "\n", "A meandered CPW between the two `coupler` pads sets the exchange coupling." ] }, { "cell_type": "code", "execution_count": 6, "id": "c1a15ae2", "metadata": { "execution": { "iopub.execute_input": "2026-06-18T21:27:19.659469Z", "iopub.status.busy": "2026-06-18T21:27:19.659139Z", "iopub.status.idle": "2026-06-18T21:27:19.716235Z", "shell.execute_reply": "2026-06-18T21:27:19.714997Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "09:27PM 19s WARNING [check_lengths]: For path table, component=coupler_bus, key=trace has short segments that could cause issues with fillet. Values in (37-38) are index(es) in shapely geometry.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "09:27PM 19s WARNING [check_lengths]: For path table, component=coupler_bus, key=cut has short segments that could cause issues with fillet. Values in (37-38) are index(es) in shapely geometry.\n" ] }, { "data": { "text/plain": [ "\u001b[95m\u001b[1mname: \u001b[94m\u001b[1mcoupler_bus\u001b[0m\n", "\u001b[95m\u001b[1mclass: \u001b[94m\u001b[1mRouteMeander \u001b[0m\n", "\u001b[95m\u001b[1moptions: \u001b[0m\n", " 'chip' : 'main', \n", " 'layer' : '1', \n", " \u001b[1m'pin_inputs' \u001b[0m: {\n", " \u001b[1m'start_pin' \u001b[0m: {\n", " 'component' : 'Q1', \n", " 'pin' : 'coupler', \n", " },\n", " \u001b[1m'end_pin' \u001b[0m: {\n", " 'component' : 'Q2', \n", " 'pin' : 'coupler', \n", " },\n", " },\n", " 'fillet' : '90um', \n", " \u001b[1m'lead' \u001b[0m: {\n", " 'start_straight' : '150um', \n", " 'end_straight' : '150um', \n", " 'start_jogged_extension': '', \n", " 'end_jogged_extension': '', \n", " },\n", " 'total_length' : '8mm', \n", " 'trace_width' : 'cpw_width', \n", " \u001b[1m'meander' \u001b[0m: {\n", " 'spacing' : '200um', \n", " 'asymmetry' : '200um', \n", " },\n", " 'snap' : 'true', \n", " 'prevent_short_edges': 'true', \n", " 'hfss_wire_bonds' : False, \n", " 'q3d_wire_bonds' : False, \n", " 'aedt_q3d_wire_bonds': False, \n", " 'aedt_hfss_wire_bonds': False, \n", " 'trace_gap' : 'cpw_gap', \n", " '_actual_length' : '7.898275863494531 mm', \n", "\u001b[95m\u001b[1mmodule: \u001b[94m\u001b[1mqiskit_metal.qlibrary.tlines.meandered\u001b[0m\n", "\u001b[95m\u001b[1mid: \u001b[94m\u001b[1m12\u001b[0m" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "RouteMeander(\n", " design,\n", " \"coupler_bus\",\n", " options=dict(\n", " fillet=\"90um\",\n", " total_length=\"8mm\",\n", " lead=Dict(start_straight=\"150um\", end_straight=\"150um\"),\n", " meander=Dict(asymmetry=\"200um\"),\n", " pin_inputs=Dict(\n", " start_pin=Dict(component=\"Q1\", pin=\"coupler\"),\n", " end_pin=Dict(component=\"Q2\", pin=\"coupler\"),\n", " ),\n", " ),\n", ")" ] }, { "cell_type": "markdown", "id": "1b527d31", "metadata": {}, "source": [ "## 4. Visualize" ] }, { "cell_type": "markdown", "id": "14ac4481", "metadata": {}, "source": [ "## Next steps\n", "\n", "- **Inspect** the design tree: `design.components.keys()` and `design.qgeometry.tables`.\n", "- **Export GDS** for fabrication: `design.renderers.gds.export_to_gds('chip.gds')` (Quantum Metal uses the modern `gdstk` backend).\n", "- **Simulate**: render to Ansys HFSS/Q3D (the validation gold standard) or to the open-source FEM path (Gmsh + Elmer today; AWS Palace on the roadmap) to extract eigenmodes, *Q*, and the capacitance matrix.\n", "- **Tweak**: every dimension above is a parameter — change `total_length` to retune resonator frequencies, or `pos_x`/`pos_y` to relayout." ] }, { "cell_type": "code", "execution_count": 7, "id": "51565fbd", "metadata": { "execution": { "iopub.execute_input": "2026-06-18T21:27:19.718193Z", "iopub.status.busy": "2026-06-18T21:27:19.717997Z", "iopub.status.idle": "2026-06-18T21:27:19.722356Z", "shell.execute_reply": "2026-06-18T21:27:19.721484Z" } }, "outputs": [ { "data": { "text/plain": [ "['Q1',\n", " 'Q2',\n", " 'clt1',\n", " 'clt2',\n", " 'LP1',\n", " 'LP2',\n", " 'feed_L',\n", " 'feed_M',\n", " 'feed_R',\n", " 'read1',\n", " 'read2',\n", " 'coupler_bus']" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "design.components.keys()" ] }, { "cell_type": "code", "execution_count": 8, "id": "18ef97e0", "metadata": { "execution": { "iopub.execute_input": "2026-06-18T21:27:19.724134Z", "iopub.status.busy": "2026-06-18T21:27:19.723948Z", "iopub.status.idle": "2026-06-18T21:27:19.885363Z", "shell.execute_reply": "2026-06-18T21:27:19.884537Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = qm.view(design)\n", "qm.show_inline(fig)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.11.15" } }, "nbformat": 4, "nbformat_minor": 5 }