{ "cells": [ { "cell_type": "markdown", "id": "after-cambodia", "metadata": {}, "source": [ "# Save your chip design" ] }, { "cell_type": "code", "execution_count": 1, "id": "a3f58bb1", "metadata": {}, "outputs": [], "source": [ "## Design your chip\n", "from qiskit_metal import designs, MetalGUI\n", "\n", "design = designs.DesignPlanar()\n", "\n", "gui = MetalGUI(design)\n", "\n", "from qiskit_metal.qlibrary.qubits.transmon_pocket_cl import TransmonPocketCL \n", "options = {'pos_x': '0.7mm', 'pos_y': '0mm', 'connection_pads': {'readout': {'pad_gap': '15um', 'pad_width': '125um', 'pad_height': '30um', 'pad_cpw_shift': '5um', 'pad_cpw_extent': '25um', 'cpw_width': 'cpw_width', 'cpw_gap': 'cpw_gap', 'cpw_extend': '100um', 'pocket_extent': '5um', 'pocket_rise': '65um', 'loc_W': 1, 'loc_H': 1}, 'bus': {'pad_gap': '15um', 'pad_width': '125um', 'pad_height': '30um', 'pad_cpw_shift': '5um', 'pad_cpw_extent': '25um', 'cpw_width': 'cpw_width', 'cpw_gap': 'cpw_gap', 'cpw_extend': '100um', 'pocket_extent': '5um', 'pocket_rise': '65um', 'loc_W': -1, 'loc_H': -1}}, 'chip': 'main', 'pad_gap': '30um', 'inductor_width': '20um', 'pad_width': '425 um', 'pad_height': '90um', 'pocket_width': '650um', 'pocket_height': '650um', 'orientation': '0', 'make_CL': True, 'cl_gap': '6um', 'cl_width': '10um', 'cl_length': '20um', 'cl_ground_gap': '6um', 'cl_pocket_edge': '180', 'cl_off_center': '50um', 'hfss_wire_bonds': False, 'q3d_wire_bonds': False, 'hfss_inductance': '14nH', 'hfss_capacitance': 0, 'hfss_resistance': 0, 'hfss_mesh_kw_jj': 7e-06, 'q3d_inductance': '10nH', 'q3d_capacitance': 0, 'q3d_resistance': 0, 'q3d_mesh_kw_jj': 7e-06, 'gds_cell_name': 'FakeJunction_01'}\n", "Q1 = TransmonPocketCL(design, name='Q1', \n", "options=options,\n", "options_connection_pads={'readout': {'pad_gap': '15um', 'pad_width': '125um', 'pad_height': '30um', 'pad_cpw_shift': '5um', 'pad_cpw_extent': '25um', 'cpw_width': 'cpw_width', 'cpw_gap': 'cpw_gap', 'cpw_extend': '100um', 'pocket_extent': '5um', 'pocket_rise': '65um', 'loc_W': 1, 'loc_H': 1}, 'bus': {'pad_gap': '15um', 'pad_width': '125um', 'pad_height': '30um', 'pad_cpw_shift': '5um', 'pad_cpw_extent': '25um', 'cpw_width': 'cpw_width', 'cpw_gap': 'cpw_gap', 'cpw_extend': '100um', 'pocket_extent': '5um', 'pocket_rise': '65um', 'loc_W': -1, 'loc_H': -1}},\n", "make=True)\n", "Q1.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.qubits.transmon_pocket_cl import TransmonPocketCL \n", "options = {'pos_x': '-0.7mm', 'pos_y': '0mm', 'connection_pads': {'readout': {'pad_gap': '15um', 'pad_width': '125um', 'pad_height': '30um', 'pad_cpw_shift': '5um', 'pad_cpw_extent': '25um', 'cpw_width': 'cpw_width', 'cpw_gap': 'cpw_gap', 'cpw_extend': '100um', 'pocket_extent': '5um', 'pocket_rise': '65um', 'loc_W': 1, 'loc_H': 1}, 'bus': {'pad_gap': '15um', 'pad_width': '125um', 'pad_height': '30um', 'pad_cpw_shift': '5um', 'pad_cpw_extent': '25um', 'cpw_width': 'cpw_width', 'cpw_gap': 'cpw_gap', 'cpw_extend': '100um', 'pocket_extent': '5um', 'pocket_rise': '65um', 'loc_W': -1, 'loc_H': -1}}, 'chip': 'main', 'pad_gap': '30um', 'inductor_width': '20um', 'pad_width': '425 um', 'pad_height': '90um', 'pocket_width': '650um', 'pocket_height': '650um', 'orientation': '180', 'make_CL': True, 'cl_gap': '6um', 'cl_width': '10um', 'cl_length': '20um', 'cl_ground_gap': '6um', 'cl_pocket_edge': '180', 'cl_off_center': '50um', 'hfss_wire_bonds': False, 'q3d_wire_bonds': False, 'hfss_inductance': '12nH', 'hfss_capacitance': 0, 'hfss_resistance': 0, 'hfss_mesh_kw_jj': 7e-06, 'q3d_inductance': '10nH', 'q3d_capacitance': 0, 'q3d_resistance': 0, 'q3d_mesh_kw_jj': 7e-06, 'gds_cell_name': 'FakeJunction_02'}\n", "Q2 = TransmonPocketCL(design, name='Q2', \n", "options=options,\n", "options_connection_pads={'readout': {'pad_gap': '15um', 'pad_width': '125um', 'pad_height': '30um', 'pad_cpw_shift': '5um', 'pad_cpw_extent': '25um', 'cpw_width': 'cpw_width', 'cpw_gap': 'cpw_gap', 'cpw_extend': '100um', 'pocket_extent': '5um', 'pocket_rise': '65um', 'loc_W': 1, 'loc_H': 1}, 'bus': {'pad_gap': '15um', 'pad_width': '125um', 'pad_height': '30um', 'pad_cpw_shift': '5um', 'pad_cpw_extent': '25um', 'cpw_width': 'cpw_width', 'cpw_gap': 'cpw_gap', 'cpw_extend': '100um', 'pocket_extent': '5um', 'pocket_rise': '65um', 'loc_W': -1, 'loc_H': -1}},\n", "make=True)\n", "Q2.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.tlines.pathfinder import RoutePathfinder \n", "options = {'pin_inputs': {'start_pin': {'component': 'Q1', 'pin': 'bus'}, 'end_pin': {'component': 'Q2', 'pin': 'bus'}}, 'fillet': '99um', 'lead': {'start_straight': '0mm', 'end_straight': '250um', 'start_jogged_extension': '', 'end_jogged_extension': ''}, 'total_length': '7mm', 'chip': 'main', 'layer': '1', 'trace_width': 'cpw_width', 'anchors': {}, 'advanced': {'avoid_collision': 'true'}, 'step_size': '0.25mm', 'hfss_wire_bonds': False, 'q3d_wire_bonds': False, 'trace_gap': 'cpw_gap', '_actual_length': '0.8550176727053895 mm'}\n", "Bus_Q1_Q2 = RoutePathfinder(design, \n", "name='Bus_Q1_Q2',\n", "options=options,\n", "type='CPW')\n", "Bus_Q1_Q2.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.lumped.cap_3_interdigital import Cap3Interdigital \n", "options = {'layer': '1', 'trace_width': '10um', 'finger_length': '40um', 'pocket_buffer_width_x': '10um', 'pocket_buffer_width_y': '30um', 'pos_x': '2.5mm', 'pos_y': '0.25mm', 'orientation': '90'}\n", "Cap_Q1 = Cap3Interdigital(design, \n", "name='Cap_Q1', \n", "options=options, \n", "component_template=None,\n", "make=True)\n", "Cap_Q1.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.lumped.cap_3_interdigital import Cap3Interdigital \n", "options = {'layer': '1', 'trace_width': '10um', 'finger_length': '40um', 'pocket_buffer_width_x': '10um', 'pocket_buffer_width_y': '30um', 'pos_x': '-2.5mm', 'pos_y': '-0.25mm', 'orientation': '-90'}\n", "Cap_Q2 = Cap3Interdigital(design, \n", "name='Cap_Q2', \n", "options=options, \n", "component_template=None,\n", "make=True)\n", "Cap_Q2.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.tlines.meandered import RouteMeander \n", "options = {'pin_inputs': {'start_pin': {'component': 'Q1', 'pin': 'readout'}, 'end_pin': {'component': 'Cap_Q1', 'pin': 'a'}}, 'fillet': '99um', 'lead': {'start_straight': '0.325mm', 'end_straight': '125um', 'start_jogged_extension': '', 'end_jogged_extension': ''}, 'total_length': '5mm', 'chip': 'main', 'layer': '1', 'trace_width': 'cpw_width', 'meander': {'spacing': '200um', 'asymmetry': '-50um'}, 'snap': 'true', 'prevent_short_edges': 'true', 'hfss_wire_bonds': False, 'q3d_wire_bonds': False, 'trace_gap': 'cpw_gap', '_actual_length': '5.000000000000001 mm'}\n", "Readout_Q1 = RouteMeander(design, \n", "name='Readout_Q1',\n", "options=options,\n", "type='CPW')\n", "Readout_Q1.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.tlines.meandered import RouteMeander \n", "options = {'pin_inputs': {'start_pin': {'component': 'Q2', 'pin': 'readout'}, 'end_pin': {'component': 'Cap_Q2', 'pin': 'a'}}, 'fillet': '99um', 'lead': {'start_straight': '0.325mm', 'end_straight': '125um', 'start_jogged_extension': '', 'end_jogged_extension': ''}, 'total_length': '6mm', 'chip': 'main', 'layer': '1', 'trace_width': 'cpw_width', 'meander': {'spacing': '200um', 'asymmetry': '-50um'}, 'snap': 'true', 'prevent_short_edges': 'true', 'hfss_wire_bonds': False, 'q3d_wire_bonds': False, 'trace_gap': 'cpw_gap', '_actual_length': '5.999999999999999 mm'}\n", "Readout_Q2 = RouteMeander(design, \n", "name='Readout_Q2',\n", "options=options,\n", "type='CPW')\n", "Readout_Q2.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.terminations.launchpad_wb import LaunchpadWirebond \n", "options = {'layer': '1', 'trace_width': 'cpw_width', 'trace_gap': 'cpw_gap', 'lead_length': '25um', 'pos_x': '3.5mm', 'pos_y': '0um', 'orientation': '180'}\n", "Launch_Q1_Read = LaunchpadWirebond(design, \n", "name='Launch_Q1_Read', \n", "options=options, \n", "component_template=None,\n", "make=True)\n", "Launch_Q1_Read.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.terminations.launchpad_wb import LaunchpadWirebond \n", "options = {'layer': '1', 'trace_width': 'cpw_width', 'trace_gap': 'cpw_gap', 'lead_length': '25um', 'pos_x': '-3.5mm', 'pos_y': '0um', 'orientation': '0'}\n", "Launch_Q2_Read = LaunchpadWirebond(design, \n", "name='Launch_Q2_Read', \n", "options=options, \n", "component_template=None,\n", "make=True)\n", "Launch_Q2_Read.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.terminations.launchpad_wb import LaunchpadWirebond \n", "options = {'layer': '1', 'trace_width': 'cpw_width', 'trace_gap': 'cpw_gap', 'lead_length': '25um', 'pos_x': '1.35mm', 'pos_y': '-2.5mm', 'orientation': '90'}\n", "Launch_Q1_CL = LaunchpadWirebond(design, \n", "name='Launch_Q1_CL', \n", "options=options, \n", "component_template=None,\n", "make=True)\n", "Launch_Q1_CL.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.terminations.launchpad_wb import LaunchpadWirebond \n", "options = {'layer': '1', 'trace_width': 'cpw_width', 'trace_gap': 'cpw_gap', 'lead_length': '25um', 'pos_x': '-1.35mm', 'pos_y': '2.5mm', 'orientation': '-90'}\n", "Launch_Q2_CL = LaunchpadWirebond(design, \n", "name='Launch_Q2_CL', \n", "options=options, \n", "component_template=None,\n", "make=True)\n", "Launch_Q2_CL.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.tlines.pathfinder import RoutePathfinder \n", "options = {'pin_inputs': {'start_pin': {'component': 'Launch_Q1_Read', 'pin': 'tie'}, 'end_pin': {'component': 'Cap_Q1', 'pin': 'b'}}, 'fillet': '99um', 'lead': {'start_straight': '0mm', 'end_straight': '150um', 'start_jogged_extension': '', 'end_jogged_extension': ''}, 'total_length': '7mm', 'chip': 'main', 'layer': '1', 'trace_width': 'cpw_width', 'anchors': {}, 'advanced': {'avoid_collision': 'true'}, 'step_size': '0.25mm', 'hfss_wire_bonds': False, 'q3d_wire_bonds': False, 'trace_gap': 'cpw_gap', '_actual_length': '1.0750176727053897 mm'}\n", "TL_Q1 = RoutePathfinder(design, \n", "name='TL_Q1',\n", "options=options,\n", "type='CPW')\n", "TL_Q1.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.tlines.pathfinder import RoutePathfinder \n", "options = {'pin_inputs': {'start_pin': {'component': 'Launch_Q2_Read', 'pin': 'tie'}, 'end_pin': {'component': 'Cap_Q2', 'pin': 'b'}}, 'fillet': '99um', 'lead': {'start_straight': '0mm', 'end_straight': '150um', 'start_jogged_extension': '', 'end_jogged_extension': ''}, 'total_length': '7mm', 'chip': 'main', 'layer': '1', 'trace_width': 'cpw_width', 'anchors': {}, 'advanced': {'avoid_collision': 'true'}, 'step_size': '0.25mm', 'hfss_wire_bonds': False, 'q3d_wire_bonds': False, 'trace_gap': 'cpw_gap', '_actual_length': '1.0750176727053897 mm'}\n", "TL_Q2 = RoutePathfinder(design, \n", "name='TL_Q2',\n", "options=options,\n", "type='CPW')\n", "TL_Q2.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.tlines.pathfinder import RoutePathfinder \n", "options = {'pin_inputs': {'start_pin': {'component': 'Launch_Q1_CL', 'pin': 'tie'}, 'end_pin': {'component': 'Q1', 'pin': 'Charge_Line'}}, 'fillet': '99um', 'lead': {'start_straight': '0mm', 'end_straight': '150um', 'start_jogged_extension': '', 'end_jogged_extension': ''}, 'total_length': '7mm', 'chip': 'main', 'layer': '1', 'trace_width': 'cpw_width', 'anchors': {}, 'advanced': {'avoid_collision': 'true'}, 'step_size': '0.25mm', 'hfss_wire_bonds': False, 'q3d_wire_bonds': False, 'trace_gap': 'cpw_gap', '_actual_length': '2.610508836352695 mm'}\n", "TL_Q1_CL = RoutePathfinder(design, \n", "name='TL_Q1_CL',\n", "options=options,\n", "type='CPW')\n", "TL_Q1_CL.meta = {}\n", " \n", " \n", "from qiskit_metal.qlibrary.tlines.pathfinder import RoutePathfinder \n", "options = {'pin_inputs': {'start_pin': {'component': 'Launch_Q2_CL', 'pin': 'tie'}, 'end_pin': {'component': 'Q2', 'pin': 'Charge_Line'}}, 'fillet': '99um', 'lead': {'start_straight': '0mm', 'end_straight': '150um', 'start_jogged_extension': '', 'end_jogged_extension': ''}, 'total_length': '7mm', 'chip': 'main', 'layer': '1', 'trace_width': 'cpw_width', 'anchors': {}, 'advanced': {'avoid_collision': 'true'}, 'step_size': '0.25mm', 'hfss_wire_bonds': False, 'q3d_wire_bonds': False, 'trace_gap': 'cpw_gap', '_actual_length': '2.610508836352695 mm'}\n", "TL_Q2_CL = RoutePathfinder(design, \n", "name='TL_Q2_CL',\n", "options=options,\n", "type='CPW')\n", "TL_Q2_CL.meta = {}\n", " \n", " \n", "gui.rebuild()" ] }, { "cell_type": "code", "execution_count": 2, "id": "760009da", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\"\\nfrom qiskit_metal.qlibrary.lumped.cap_3_interdigital import Cap3Interdigital\\n\\nfrom qiskit_metal.qlibrary.tlines.pathfinder import RoutePathfinder\\n\\nfrom qiskit_metal.qlibrary.qubits.transmon_pocket_cl import TransmonPocketCL\\n\\nfrom qiskit_metal.qlibrary.tlines.meandered import RouteMeander\\n\\nfrom qiskit_metal.qlibrary.terminations.launchpad_wb import LaunchpadWirebond\\n\\nfrom qiskit_metal import designs, MetalGUI\\n\\ndesign = designs.DesignPlanar()\\n\\ngui = MetalGUI(design)\\n\\n\\n \\n # WARNING\\n#options_connection_pads failed to have a value\\nQ1 = TransmonPocketCL(\\ndesign, \\nname='Q1',\\noptions={'cl_pocket_edge': '180',\\n 'connection_pads': {'bus': {'cpw_extend': '100um',\\n 'cpw_gap': 'cpw_gap',\\n 'cpw_width': 'cpw_width',\\n 'loc_H': -1,\\n 'loc_W': -1,\\n 'pad_cpw_extent': '25um',\\n 'pad_cpw_shift': '5um',\\n 'pad_gap': '15um',\\n 'pad_height': '30um',\\n 'pad_width': '125um',\\n 'pocket_extent': '5um',\\n 'pocket_rise': '65um'},\\n 'readout': {'cpw_extend': '100um',\\n 'cpw_gap': 'cpw_gap',\\n 'cpw_width': 'cpw_width',\\n 'loc_H': 1,\\n 'loc_W': 1,\\n 'pad_cpw_extent': '25um',\\n 'pad_cpw_shift': '5um',\\n 'pad_gap': '15um',\\n 'pad_height': '30um',\\n 'pad_width': '125um',\\n 'pocket_extent': '5um',\\n 'pocket_rise': '65um'}},\\n 'gds_cell_name': 'FakeJunction_01',\\n 'hfss_inductance': '14nH',\\n 'pad_width': '425 um',\\n 'pos_x': '0.7mm',\\n 'pos_y': '0mm'}\\n)\\n\\n\\n\\n\\n \\n # WARNING\\n#options_connection_pads failed to have a value\\nQ2 = TransmonPocketCL(\\ndesign, \\nname='Q2',\\noptions={'cl_pocket_edge': '180',\\n 'connection_pads': {'bus': {'cpw_extend': '100um',\\n 'cpw_gap': 'cpw_gap',\\n 'cpw_width': 'cpw_width',\\n 'loc_H': -1,\\n 'loc_W': -1,\\n 'pad_cpw_extent': '25um',\\n 'pad_cpw_shift': '5um',\\n 'pad_gap': '15um',\\n 'pad_height': '30um',\\n 'pad_width': '125um',\\n 'pocket_extent': '5um',\\n 'pocket_rise': '65um'},\\n 'readout': {'cpw_extend': '100um',\\n 'cpw_gap': 'cpw_gap',\\n 'cpw_width': 'cpw_width',\\n 'loc_H': 1,\\n 'loc_W': 1,\\n 'pad_cpw_extent': '25um',\\n 'pad_cpw_shift': '5um',\\n 'pad_gap': '15um',\\n 'pad_height': '30um',\\n 'pad_width': '125um',\\n 'pocket_extent': '5um',\\n 'pocket_rise': '65um'}},\\n 'gds_cell_name': 'FakeJunction_02',\\n 'hfss_inductance': '12nH',\\n 'orientation': '180',\\n 'pad_width': '425 um',\\n 'pos_x': '-0.7mm',\\n 'pos_y': '0mm'}\\n)\\n\\n\\n\\n\\nBus_Q1_Q2 = RoutePathfinder(\\ndesign, \\nname='Bus_Q1_Q2',\\noptions={'_actual_length': '0.8550176727053895 '\\n 'mm',\\n 'fillet': '99um',\\n 'lead': {'end_jogged_extension': '',\\n 'end_straight': '250um',\\n 'start_jogged_extension': '',\\n 'start_straight': '0mm'},\\n 'pin_inputs': {'end_pin': {'component': 'Q2',\\n 'pin': 'bus'},\\n 'start_pin': {'component': 'Q1',\\n 'pin': 'bus'}},\\n 'trace_gap': 'cpw_gap'},\\n\\ntype='CPW',\\n)\\n\\n\\n\\n\\nCap_Q1 = Cap3Interdigital(\\ndesign, \\nname='Cap_Q1',\\noptions={'finger_length': '40um',\\n 'orientation': '90',\\n 'pos_x': '2.5mm',\\n 'pos_y': '0.25mm'},\\n\\ncomponent_template=None,\\n)\\n\\n\\n\\n\\nCap_Q2 = Cap3Interdigital(\\ndesign, \\nname='Cap_Q2',\\noptions={'finger_length': '40um',\\n 'orientation': '-90',\\n 'pos_x': '-2.5mm',\\n 'pos_y': '-0.25mm'},\\n\\ncomponent_template=None,\\n)\\n\\n\\n\\n\\nReadout_Q1 = RouteMeander(\\ndesign, \\nname='Readout_Q1',\\noptions={'_actual_length': '5.000000000000001 '\\n 'mm',\\n 'fillet': '99um',\\n 'lead': {'end_jogged_extension': '',\\n 'end_straight': '125um',\\n 'start_jogged_extension': '',\\n 'start_straight': '0.325mm'},\\n 'meander': {'asymmetry': '-50um',\\n 'spacing': '200um'},\\n 'pin_inputs': {'end_pin': {'component': 'Cap_Q1',\\n 'pin': 'a'},\\n 'start_pin': {'component': 'Q1',\\n 'pin': 'readout'}},\\n 'total_length': '5mm',\\n 'trace_gap': 'cpw_gap'},\\n\\ntype='CPW',\\n)\\n\\n\\n\\n\\nReadout_Q2 = RouteMeander(\\ndesign, \\nname='Readout_Q2',\\noptions={'_actual_length': '5.999999999999999 '\\n 'mm',\\n 'fillet': '99um',\\n 'lead': {'end_jogged_extension': '',\\n 'end_straight': '125um',\\n 'start_jogged_extension': '',\\n 'start_straight': '0.325mm'},\\n 'meander': {'asymmetry': '-50um',\\n 'spacing': '200um'},\\n 'pin_inputs': {'end_pin': {'component': 'Cap_Q2',\\n 'pin': 'a'},\\n 'start_pin': {'component': 'Q2',\\n 'pin': 'readout'}},\\n 'total_length': '6mm',\\n 'trace_gap': 'cpw_gap'},\\n\\ntype='CPW',\\n)\\n\\n\\n\\n\\nLaunch_Q1_Read = LaunchpadWirebond(\\ndesign, \\nname='Launch_Q1_Read',\\noptions={'orientation': '180', 'pos_x': '3.5mm'},\\n\\ncomponent_template=None,\\n)\\n\\n\\n\\n\\nLaunch_Q2_Read = LaunchpadWirebond(\\ndesign, \\nname='Launch_Q2_Read',\\noptions={'pos_x': '-3.5mm'},\\n\\ncomponent_template=None,\\n)\\n\\n\\n\\n\\nLaunch_Q1_CL = LaunchpadWirebond(\\ndesign, \\nname='Launch_Q1_CL',\\noptions={'orientation': '90',\\n 'pos_x': '1.35mm',\\n 'pos_y': '-2.5mm'},\\n\\ncomponent_template=None,\\n)\\n\\n\\n\\n\\nLaunch_Q2_CL = LaunchpadWirebond(\\ndesign, \\nname='Launch_Q2_CL',\\noptions={'orientation': '-90',\\n 'pos_x': '-1.35mm',\\n 'pos_y': '2.5mm'},\\n\\ncomponent_template=None,\\n)\\n\\n\\n\\n\\nTL_Q1 = RoutePathfinder(\\ndesign, \\nname='TL_Q1',\\noptions={'_actual_length': '1.0750176727053897 '\\n 'mm',\\n 'fillet': '99um',\\n 'lead': {'end_jogged_extension': '',\\n 'end_straight': '150um',\\n 'start_jogged_extension': '',\\n 'start_straight': '0mm'},\\n 'pin_inputs': {'end_pin': {'component': 'Cap_Q1',\\n 'pin': 'b'},\\n 'start_pin': {'component': 'Launch_Q1_Read',\\n 'pin': 'tie'}},\\n 'trace_gap': 'cpw_gap'},\\n\\ntype='CPW',\\n)\\n\\n\\n\\n\\nTL_Q2 = RoutePathfinder(\\ndesign, \\nname='TL_Q2',\\noptions={'_actual_length': '1.0750176727053897 '\\n 'mm',\\n 'fillet': '99um',\\n 'lead': {'end_jogged_extension': '',\\n 'end_straight': '150um',\\n 'start_jogged_extension': '',\\n 'start_straight': '0mm'},\\n 'pin_inputs': {'end_pin': {'component': 'Cap_Q2',\\n 'pin': 'b'},\\n 'start_pin': {'component': 'Launch_Q2_Read',\\n 'pin': 'tie'}},\\n 'trace_gap': 'cpw_gap'},\\n\\ntype='CPW',\\n)\\n\\n\\n\\n\\nTL_Q1_CL = RoutePathfinder(\\ndesign, \\nname='TL_Q1_CL',\\noptions={'_actual_length': '2.610508836352695 '\\n 'mm',\\n 'fillet': '99um',\\n 'lead': {'end_jogged_extension': '',\\n 'end_straight': '150um',\\n 'start_jogged_extension': '',\\n 'start_straight': '0mm'},\\n 'pin_inputs': {'end_pin': {'component': 'Q1',\\n 'pin': 'Charge_Line'},\\n 'start_pin': {'component': 'Launch_Q1_CL',\\n 'pin': 'tie'}},\\n 'trace_gap': 'cpw_gap'},\\n\\ntype='CPW',\\n)\\n\\n\\n\\n\\nTL_Q2_CL = RoutePathfinder(\\ndesign, \\nname='TL_Q2_CL',\\noptions={'_actual_length': '2.610508836352695 '\\n 'mm',\\n 'fillet': '99um',\\n 'lead': {'end_jogged_extension': '',\\n 'end_straight': '150um',\\n 'start_jogged_extension': '',\\n 'start_straight': '0mm'},\\n 'pin_inputs': {'end_pin': {'component': 'Q2',\\n 'pin': 'Charge_Line'},\\n 'start_pin': {'component': 'Launch_Q2_CL',\\n 'pin': 'tie'}},\\n 'trace_gap': 'cpw_gap'},\\n\\ntype='CPW',\\n)\\n\\n\\n\\ngui.rebuild()\\ngui.autoscale()\\n \"" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## get script:\n", "design.to_python_script()" ] }, { "cell_type": "code", "execution_count": 3, "id": "e614c57e", "metadata": {}, "outputs": [], "source": [ "## Copy the script printed above here. Comment out all other code and run." ] }, { "cell_type": "code", "execution_count": null, "id": "d002af93", "metadata": {}, "outputs": [], "source": [] } ], "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.7.8" } }, "nbformat": 4, "nbformat_minor": 5 }