From 02236608063351992f7c4ef9468c0ba87941bb9e Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Fri, 14 Jun 2024 12:19:31 +0400 Subject: [PATCH 01/17] New platform and runcard for controlling 3 qubits of Spinq10q chip with the ZCU111 --- spinq10q_12_zcu111/parameters.json | 256 +++++++++++++++++++++++++++++ spinq10q_12_zcu111/platform.py | 88 ++++++++++ 2 files changed, 344 insertions(+) create mode 100644 spinq10q_12_zcu111/parameters.json create mode 100644 spinq10q_12_zcu111/platform.py diff --git a/spinq10q_12_zcu111/parameters.json b/spinq10q_12_zcu111/parameters.json new file mode 100644 index 00000000..8d0a0837 --- /dev/null +++ b/spinq10q_12_zcu111/parameters.json @@ -0,0 +1,256 @@ +{ + "nqubits": 3, + "description": "qubits 1-3 of spinq10q controlled by a Xilinx ZCU111 board", + "settings": { + "nshots": 1000, + "relaxation_time": 200000 + }, + "qubits": [ + 1, + 2, + 3 + ], + "topology": [ + [ + 1, + 2 + ], + [ + 2, + 3 + ] + ], + "instruments": { + "LO": { + "frequency": 7385000000, + "power": 11 + } + "twpa_pump0": { + "power": -2.21, + "frequency": 6803000000 + }, + }, + + "native_gates": { + "single_qubit": { + "1": { + "RX": { + "duration": 40, + "amplitude": 0.535, + "shape": "Gaussian(2)", + "frequency": 4940357493, + "relative_start": 0, + "phase": 0, + "type": "qd" + }, + "MZ": { + "duration": 4000, + "amplitude": 0.105, + "shape": "Rectangular()", + "frequency": 6952316555, + "relative_start": 0, + "phase": 0, + "type": "ro" + } + }, + "2": { + "RX": { + "duration": 40, + "amplitude": 0.551, + "shape": "Gaussian(2)", + "frequency": 5755933959, + "relative_start": 0, + "phase": 0, + "type": "qd" + }, + "MZ": { + "duration": 4000, + "amplitude": 0.14, + "shape": "Rectangular()", + "frequency": 7110360000, + "relative_start": 0, + "phase": 0, + "type": "ro" + } + }, + "3": { + "RX": { + "duration": 40, + "amplitude": 0.696, + "shape": "Gaussian(2)", + "frequency": 6075205000, + "relative_start": 0, + "phase": 0, + "type": "qd" + }, + "MZ": { + "duration": 4000, + "amplitude": 0.1, + "shape": "Rectangular()", + "frequency": 7342853000, + "relative_start": 0, + "phase": 0, + "type": "ro" + } + } + }, + "two_qubit": { + "1-2": { + "CZ": [ + { + "duration": 30, + "amplitude": 0.055, + "shape": "Rectangular()", + "qubit": "D2", + "relative_start": 0, + "type": "qf" + }, + { + "type": "virtual_z", + "phase": 0.0, + "qubit": "D2" + }, + { + "type": "virtual_z", + "phase": 0.0, + "qubit": "D1" + } + ] + }, + "2-3": { + "CZ": [ + { + "duration": 30, + "amplitude": 0.207, + "shape": "Rectangular()", + "qubit": "D3", + "relative_start": 0, + "type": "qf" + }, + { + "type": "virtual_z", + "phase": 0.0, + "qubit": "D3" + }, + { + "type": "virtual_z", + "phase": 0.0, + "qubit": "D1" + } + ] + } + } + }, + "characterization": { + "single_qubit": { + "1": { + "bare_resonator_frequency": 0, + "readout_frequency": 6952500000, + "drive_frequency": 4940357493, + "anharmonicity": 0.0, + "sweetspot": -0.037, + "asymmetry": 0.0, + "crosstalk_matrix": {}, + "Ec": 0.0, + "Ej": 0.0, + "g": 0.0, + "assignment_fidelity": 0.0, + "readout_fidelity": 0.0, + "effective_temperature": 0.0, + "peak_voltage": 0, + "pi_pulse_amplitude": 0, + "T1": 8752.985976351081, + "T2": 0.0, + "T2_spin_echo": 0, + "state0_voltage": 0, + "state1_voltage": 0, + "mean_gnd_states": [ + 2.7928963953488375, + 0.38721744186046514 + ], + "mean_exc_states": [ + 3.1822208720930236, + 2.6839408139534884 + ], + "threshold": 2.0384892421724587, + "iq_angle": -1.4028795254342719, + "mixer_drive_g": 0.0, + "mixer_drive_phi": 0.0, + "mixer_readout_g": 0.0, + "mixer_readout_phi": 0.0 + }, + "2": { + "bare_resonator_frequency": 0, + "readout_frequency": 7110500000, + "drive_frequency": 5756009488, + "anharmonicity": 0, + "sweetspot": -0.1105, + "asymmetry": 0.0, + "crosstalk_matrix": {}, + "Ec": 0.0, + "Ej": 0.0, + "g": 0.0, + "assignment_fidelity": 0.0, + "readout_fidelity": 0.0, + "effective_temperature": 0.0, + "peak_voltage": 0, + "pi_pulse_amplitude": 0, + "T1": 9648.473025473866, + "T2": 0.0, + "T2_spin_echo": 0, + "state0_voltage": 0, + "state1_voltage": 0, + "mean_gnd_states": [ + 2.1203863372093026, + 2.590681220930233 + ], + "mean_exc_states": [ + 2.6019945348837212, + 4.65872796511628 + ], + "threshold": 4.698395737427324, + "iq_angle": -1.3419936877473289, + "mixer_drive_g": 0.0, + "mixer_drive_phi": 0.0, + "mixer_readout_g": 0.0, + "mixer_readout_phi": 0.0 + }, + "3": { + "bare_resonator_frequency": 0, + "readout_frequency": 7344300000, + "drive_frequency": 6074344432, + "anharmonicity": 286200000, + "sweetspot": 0.003, + "asymmetry": 0.0, + "crosstalk_matrix": {}, + "Ec": 0.0, + "Ej": 0.0, + "g": 0.0, + "assignment_fidelity": 0.0, + "readout_fidelity": 0.0, + "effective_temperature": 0.0, + "peak_voltage": 0, + "pi_pulse_amplitude": 0, + "T1": 6610.395234920448, + "T2": 0.0, + "T2_spin_echo": 0, + "state0_voltage": 0, + "state1_voltage": 0, + "mean_gnd_states": [ + 5.178576337209302, + -3.008574593023256 + ], + "mean_exc_states": [ + 6.798567093023257, + -1.307816627906977 + ], + "threshold": 2.7122263573716805, + "iq_angle": -0.8097153567616061, + "mixer_drive_g": 0.0, + "mixer_drive_phi": 0.0, + "mixer_readout_g": 0.0, + "mixer_readout_phi": 0.0 + } + } + } +} diff --git a/spinq10q_12_zcu111/platform.py b/spinq10q_12_zcu111/platform.py new file mode 100644 index 00000000..ee8e9d20 --- /dev/null +++ b/spinq10q_12_zcu111/platform.py @@ -0,0 +1,88 @@ +import pathlib + +from qibolab.channels import Channel, ChannelMap +from qibolab.instruments.rohde_schwarz import SGS100A +from qibolab.instruments.rfsoc import RFSoC +from qibolab.platform import Platform +from qibolab.serialize import ( + load_instrument_settings, + load_qubits, + load_runcard, + load_settings, +) + +NAME = "spinq10q_12__zcu111" +ADDRESS = "192.168.1.81" +PORT = 6000 +LO_ADDRESS = "192.168.0.34" +TWPA_ADDRESS = "192.168.0.37" +FOLDER = pathlib.Path(__file__).parent + + +def create(): + """Platform for qubits 1,2,3 on spinq10q chip using the ZCU111 board running qibosoq. + + IPs and other instrument related parameters are hardcoded in. + """ + + # Instantiate QICK instruments + controller = RFSoC(str(FOLDER), ADDRESS, PORT, sampling_rate=6.144) + controller.cfg.adc_trig_offset = 200 + controller.cfg.repetition_duration = 100 + + #TWPA + twpa_pump0 = SGS100A(name="twpa_pump0", address=TWPA_ADDRESS) + + # Create channel objects + channels = ChannelMap() + channels |= Channel("L3-20_ro", port=controller.ports(6)) # probe dac6 + # QUBIT 1 + channels |= Channel("L1-1-RO_0", port=controller.ports(0)) # feedback adc0 + channels |= Channel("L6-1_qd", port=controller.ports(3)) # drive dac3 + channels |= Channel("L6-39_fl", port=controller.ports(0)) # flux dac0 + # QUBIT 2 + channels |= Channel("L1-1-RO_1", port=controller.ports(1)) # feedback adc1 + channels |= Channel("L6-2_qd", port=controller.ports(4)) # drive dac4 + channels |= Channel("L6-40-fl", port=controller.ports(1)) # flux dac1 + # QUBIT 3 + channels |= Channel("L1-1-RO_2", port=controller.ports(2)) # feedback adc2 + channels |= Channel("L6-3_qd", port=controller.ports(5)) # drive dac5 + channels |= Channel("L6-41_fl", port=controller.ports(2)) # flux dac2 + + # Readout local oscillator + local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) + channels["L3-30_ro"].local_oscillator = local_oscillator + + # create qubit objects + runcard = load_runcard(FOLDER) + qubits, couplers, pairs = load_qubits(runcard) + # assign channels to qubits + qubits[1].readout = channels["L3-20_ro"] + qubits[1].feedback = channels["L1-1-RO_0"] + qubits[1].drive = channels["L6-1_qd"] + qubits[1].flux = channels["L6-39_fl"] + qubits[1].twpa = channels["L3-10"] + channels["L6-39_fl"].qubit = qubits[1] + + qubits[2].readout = channels["L3-20_ro"] + qubits[2].feedback = channels["L1-1-RO_1"] + qubits[2].drive = channels["L6-2_qd"] + qubits[2].flux = channels["L6-40_fl"] + qubits[2].twpa = channels["L3-10"] + channels["L6-40_fl"].qubit = qubits[2] + + qubits[3].readout = channels["L3-20_ro"] + qubits[3].feedback = channels["L1-1-RO_2"] + qubits[3].drive = channels["L6-3_qd"] + qubits[3].flux = channels["L6-41_fl"] + qubits[3].twpa = channels["L3-10"] + channels["L6-41_fl"].qubit = qubits[3] + + instruments = {controller.name: controller, + twpa_pump0.name: twpa_pump0, + local_oscillator.name: local_oscillator} + settings = load_settings(runcard) + instruments = load_instrument_settings(runcard, instruments) + return Platform( + str(FOLDER), qubits, pairs, instruments, settings, resonator_type="2D" + ) From 4277cdf2d4696f830ae6bf515e169377301e58a2 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Thu, 4 Jul 2024 16:26:15 +0400 Subject: [PATCH 02/17] statrting again --- spinq10q.yml | 274 +++++++++++++++++++++++++++++ spinq10q_12_zcu111/parameters.json | 22 +-- spinq10q_12_zcu111/platform.py | 16 +- spinq10q_qblox.py | 116 ++++++++++++ 4 files changed, 409 insertions(+), 19 deletions(-) create mode 100644 spinq10q.yml create mode 100644 spinq10q_qblox.py diff --git a/spinq10q.yml b/spinq10q.yml new file mode 100644 index 00000000..6059c511 --- /dev/null +++ b/spinq10q.yml @@ -0,0 +1,274 @@ +nqubits: 10 +settings: {nshots: 1024, sampling_rate: 1_000_000_000, relaxation_time: 50_000} +qubits: [6, 7, 8, 9, 10] +topology: +- [6, 7] +- [7, 8] +- [8, 9] +- [9, 10] +instruments: + twpa_pump1: {power: 2, frequency: 6300000000} # not calibrated + qrm_rf1: # q6, q7, q8, q9, q10 + o1: + attenuation: 36 + lo_frequency: 7_640_000_000 + i1: + acquisition_hold_off: 500 + acquisition_duration: 2500 + + # qcm_rf2: + # o1: + # attenuation: 60 + # lo_frequency: 4_288_807_000 # q5 + # o2: + # attenuation: 20 + # lo_frequency: 4_994_000_000 # q6, + # qcm_rf3: + # o1: + # attenuation: 20 + # lo_frequency: 4_327_000_000 # q7, + # o2: + # attenuation: 20 + # lo_frequency: 4_931_000_000 # q8, + # qcm_rf4: + # o1: + # attenuation: 20 + # lo_frequency: 4_029_000_000 # q9, + # o2: + # attenuation: 20 + # lo_frequency: 4_564_000_000 # q10, + + # qcm_bb1: + # o1: + # offset: 0.0 # q5 + # o2: + # offset: 0.0 # q6 + # o3: + # offset: 0.0 # q7 + # o4: + # offset: 0.0 # q8 + # qcm_bb2: + # o1: + # offset: 0.0 # + # o2: + # offset: 0.0 # + # o3: + # offset: 0.0 # q9 + # o4: + # offset: 0.0 # q10 + +native_gates: + single_qubit: + 6: + RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 4807000000, + relative_start: 0, phase: 0, type: qd} + MZ: {duration: 2500, amplitude: 0.1, shape: Rectangular(), frequency: 7492871912, + relative_start: 0, phase: 0, type: ro} + 7: + RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 4138000000, + relative_start: 0, phase: 0, type: qd} + MZ: {duration: 2500, amplitude: 0.05, shape: Rectangular(), frequency: 7552523695, + relative_start: 0, phase: 0, type: ro} + 8: + RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 4740000000, + relative_start: 0, phase: 0, type: qd} + MZ: {duration: 2500, amplitude: 0.1, shape: Rectangular(), frequency: 7582597778, + relative_start: 0, phase: 0, type: ro} + 9: + RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 3936000000, + relative_start: 0, phase: 0, type: qd} + MZ: {duration: 2500, amplitude: 0.1, shape: Rectangular(), frequency: 7439612987, + relative_start: 0, phase: 0, type: ro} + 10: + RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 4443000000, + relative_start: 0, phase: 0, type: qd} + MZ: {duration: 2500, amplitude: 0.1, shape: Rectangular(), frequency: 7625805244, + relative_start: 0, phase: 0, type: ro} + two_qubit: + 6-7: + CZ: + - {duration: 40, amplitude: 0.01, shape: Rectangular(), qubit: 6, relative_start: 0, + type: qf} + 7-8: + CZ: + - {duration: 40, amplitude: 0.01, shape: Rectangular(), qubit: 8, relative_start: 0, + type: qf} + 8-9: + CZ: + - {duration: 40, amplitude: 0.01, shape: Rectangular(), qubit: 8, relative_start: 0, + type: qf} + 9-10: + CZ: + - {duration: 40, amplitude: 0.01, shape: Rectangular(), qubit: 10, relative_start: 0, + type: qf} + +characterization: + single_qubit: + 6: + bare_resonator_frequency: 7492000000 + readout_frequency: 7492871912 + drive_frequency: 4807000000 + anharmonicity: 300000000 + # sweetspot: 0.0 # 0 + # sweetspot: -0.27 # all sweetspot + sweetspot: 0.04 # all sweetspot + # sweetspot: 0.208 # parking + flux_to_bias: 1.6665895049327701 + asymmetry: 0.5535122935186866 + bare_resonator_frequency_sweetspot: 7489207877 + ssf_brf: 0.0 + Ec: 0.001712748757440161 + Ej: 10.609527507376397 + g: 0.160394924514527 + assignment_fidelity: 0 + readout_fidelity: 0.0 + effective_temperature: 0.0 + peak_voltage: 0 + pi_pulse_amplitude: 0.5 + T1: 0 + T2: 0 + T2_spin_echo: 0 + state0_voltage: 0 + state1_voltage: 0 + mean_gnd_states: [0, 0] + mean_exc_states: [0, 0] + threshold: 0.0 + iq_angle: 0.0 + mixer_drive_g: 0.0 + mixer_drive_phi: 0.0 + mixer_readout_g: 0.0 + mixer_readout_phi: 0.0 + 7: + bare_resonator_frequency: 7551000000 + readout_frequency: 7552523695 + drive_frequency: 4138000000 + anharmonicity: 300000000 + # sweetspot: 0.0 # 0 + # sweetspot: 0.25 # all sweetspot + sweetspot: -0.01 # 1&2 ss rest parked + # sweetspot: 1 # parking + flux_to_bias: 0.3703033075501269 + asymmetry: 0.03846063238221964 + bare_resonator_frequency_sweetspot: 7551278196 + ssf_brf: 0.0 + Ec: 0.0009246451339489379 + Ej: 5.562311176695407 + g: 0.0916007392206866 + assignment_fidelity: 0 + readout_fidelity: 0.0 + effective_temperature: 0.0 + peak_voltage: 0 + pi_pulse_amplitude: 0.5 + T1: 0 + T2: 0 + T2_spin_echo: 0 + state0_voltage: 0 + state1_voltage: 0 + mean_gnd_states: [0, 0] + mean_exc_states: [0, 0] + threshold: 0.0 + iq_angle: 0.0 + mixer_drive_g: 0.0 + mixer_drive_phi: 0.0 + mixer_readout_g: 0.0 + mixer_readout_phi: 0.0 + 8: + bare_resonator_frequency: 7582000000 + readout_frequency: 7582597778 + drive_frequency: 4740000000 + anharmonicity: 300000000 + # sweetspot: 0.0 # 0 + # sweetspot: 0.27 # all sweetspot + sweetspot: 0.01 # 1&2 ss rest parked + # sweetspot: 1 # parking + flux_to_bias: 0.4995172960641154 + asymmetry: 0.2075344332925857 + bare_resonator_frequency_sweetspot: 7581851516 + ssf_brf: 0.0 + Ec: 0.33019201147898763 + Ej: 11.890449189962764 + g: 0.04231188420111357 + assignment_fidelity: 0 + readout_fidelity: 0.0 + effective_temperature: 0.0 + peak_voltage: 0 + pi_pulse_amplitude: 0.5 + T1: 0 + T2: 0 + T2_spin_echo: 0 + state0_voltage: 0 + state1_voltage: 0 + mean_gnd_states: [0, 0] + mean_exc_states: [0, 0] + threshold: 0.0 + iq_angle: 0.0 + mixer_drive_g: 0.0 + mixer_drive_phi: 0.0 + mixer_readout_g: 0.0 + mixer_readout_phi: 0.0 + 9: + bare_resonator_frequency: 7443000000 + readout_frequency: 7439612987 + drive_frequency: 3936000000 + anharmonicity: 300000000 + # sweetspot: 0.0 # 0 + # sweetspot: 0.28 # all sweetspot + sweetspot: 0.03 # 1&2 ss rest parked + flux_to_bias: 10.000130322312259 + asymmetry: 1.3920288326762917 + bare_resonator_frequency_sweetspot: 7436783114 + ssf_brf: 0.0 + Ec: 0.3031215235846714 + Ej: 11.98896584756633 + g: 0.10132930078089977 + assignment_fidelity: 0 + readout_fidelity: 0.0 + effective_temperature: 0.0 + peak_voltage: 0 + pi_pulse_amplitude: 0.5 + T1: 0 + T2: 0 + T2_spin_echo: 0 + state0_voltage: 0 + state1_voltage: 0 + mean_gnd_states: [0, 0] + mean_exc_states: [0, 0] + threshold: 0.0 + iq_angle: 0.0 + mixer_drive_g: 0.0 + mixer_drive_phi: 0.0 + mixer_readout_g: 0.0 + mixer_readout_phi: 0.0 + 10: + bare_resonator_frequency: 7626000000 + readout_frequency: 7625805244 + drive_frequency: 4443000000 + anharmonicity: 300000000 + # sweetspot: 0.0 # 0 + # sweetspot: -0.21 # all sweetspot + sweetspot: 0.11 # 1&2 ss rest parked + flux_to_bias: 10.000712581827976 + asymmetry: 0.017944091505718254 + bare_resonator_frequency_sweetspot: 7622592997 + ssf_brf: 0.0 + Ec: 0.3029667450053242 + Ej: 11.99519574096561 + g: 0.10837183302651561 + assignment_fidelity: 0 + readout_fidelity: 0.0 + effective_temperature: 0.0 + peak_voltage: 0 + pi_pulse_amplitude: 0.5 + T1: 0 + T2: 0 + T2_spin_echo: 0 + state0_voltage: 0 + state1_voltage: 0 + mean_gnd_states: [0, 0] + mean_exc_states: [0, 0] + threshold: 0.0 + iq_angle: 0.0 + mixer_drive_g: 0.0 + mixer_drive_phi: 0.0 + mixer_readout_g: 0.0 + mixer_readout_phi: 0.0 \ No newline at end of file diff --git a/spinq10q_12_zcu111/parameters.json b/spinq10q_12_zcu111/parameters.json index 8d0a0837..ff32326c 100644 --- a/spinq10q_12_zcu111/parameters.json +++ b/spinq10q_12_zcu111/parameters.json @@ -24,11 +24,11 @@ "LO": { "frequency": 7385000000, "power": 11 - } + }, "twpa_pump0": { "power": -2.21, "frequency": 6803000000 - }, + } }, "native_gates": { @@ -47,7 +47,7 @@ "duration": 4000, "amplitude": 0.105, "shape": "Rectangular()", - "frequency": 6952316555, + "frequency": 7432316555, "relative_start": 0, "phase": 0, "type": "ro" @@ -67,7 +67,7 @@ "duration": 4000, "amplitude": 0.14, "shape": "Rectangular()", - "frequency": 7110360000, + "frequency": 7510360000, "relative_start": 0, "phase": 0, "type": "ro" @@ -87,7 +87,7 @@ "duration": 4000, "amplitude": 0.1, "shape": "Rectangular()", - "frequency": 7342853000, + "frequency": 7547853000, "relative_start": 0, "phase": 0, "type": "ro" @@ -101,19 +101,19 @@ "duration": 30, "amplitude": 0.055, "shape": "Rectangular()", - "qubit": "D2", + "qubit": 2, "relative_start": 0, "type": "qf" }, { "type": "virtual_z", "phase": 0.0, - "qubit": "D2" + "qubit": 2 }, { "type": "virtual_z", "phase": 0.0, - "qubit": "D1" + "qubit": 1 } ] }, @@ -123,19 +123,19 @@ "duration": 30, "amplitude": 0.207, "shape": "Rectangular()", - "qubit": "D3", + "qubit": 3, "relative_start": 0, "type": "qf" }, { "type": "virtual_z", "phase": 0.0, - "qubit": "D3" + "qubit": 3 }, { "type": "virtual_z", "phase": 0.0, - "qubit": "D1" + "qubit": 1 } ] } diff --git a/spinq10q_12_zcu111/platform.py b/spinq10q_12_zcu111/platform.py index ee8e9d20..60309376 100644 --- a/spinq10q_12_zcu111/platform.py +++ b/spinq10q_12_zcu111/platform.py @@ -30,8 +30,6 @@ def create(): controller.cfg.adc_trig_offset = 200 controller.cfg.repetition_duration = 100 - #TWPA - twpa_pump0 = SGS100A(name="twpa_pump0", address=TWPA_ADDRESS) # Create channel objects channels = ChannelMap() @@ -43,7 +41,7 @@ def create(): # QUBIT 2 channels |= Channel("L1-1-RO_1", port=controller.ports(1)) # feedback adc1 channels |= Channel("L6-2_qd", port=controller.ports(4)) # drive dac4 - channels |= Channel("L6-40-fl", port=controller.ports(1)) # flux dac1 + channels |= Channel("L6-40_fl", port=controller.ports(1)) # flux dac1 # QUBIT 3 channels |= Channel("L1-1-RO_2", port=controller.ports(2)) # feedback adc2 channels |= Channel("L6-3_qd", port=controller.ports(5)) # drive dac5 @@ -51,8 +49,10 @@ def create(): # Readout local oscillator local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) - channels["L3-30_ro"].local_oscillator = local_oscillator - + channels["L3-20_ro"].local_oscillator = local_oscillator + #TWPA + twpa_pump0 = SGS100A(name="twpa_pump0", address=TWPA_ADDRESS) + #channels["L3-10"].twpa_pump0 = twpa_pump0 # create qubit objects runcard = load_runcard(FOLDER) qubits, couplers, pairs = load_qubits(runcard) @@ -61,21 +61,21 @@ def create(): qubits[1].feedback = channels["L1-1-RO_0"] qubits[1].drive = channels["L6-1_qd"] qubits[1].flux = channels["L6-39_fl"] - qubits[1].twpa = channels["L3-10"] + #qubits[1].twpa = channels["L3-10"] channels["L6-39_fl"].qubit = qubits[1] qubits[2].readout = channels["L3-20_ro"] qubits[2].feedback = channels["L1-1-RO_1"] qubits[2].drive = channels["L6-2_qd"] qubits[2].flux = channels["L6-40_fl"] - qubits[2].twpa = channels["L3-10"] + #qubits[2].twpa = channels["L3-10"] channels["L6-40_fl"].qubit = qubits[2] qubits[3].readout = channels["L3-20_ro"] qubits[3].feedback = channels["L1-1-RO_2"] qubits[3].drive = channels["L6-3_qd"] qubits[3].flux = channels["L6-41_fl"] - qubits[3].twpa = channels["L3-10"] + #qubits[3].twpa = channels["L3-10"] channels["L6-41_fl"].qubit = qubits[3] instruments = {controller.name: controller, diff --git a/spinq10q_qblox.py b/spinq10q_qblox.py new file mode 100644 index 00000000..ede32379 --- /dev/null +++ b/spinq10q_qblox.py @@ -0,0 +1,116 @@ +import pathlib + +from qibolab.channels import Channel, ChannelMap +from qibolab.instruments.qblox.cluster import ( + Cluster, + Cluster_Settings, + ReferenceClockSource, +) +from qibolab.instruments.qblox.cluster_qcm_bb import ClusterQCM_BB +from qibolab.instruments.qblox.cluster_qcm_rf import ClusterQCM_RF +from qibolab.instruments.qblox.cluster_qrm_rf import ClusterQRM_RF +from qibolab.instruments.qblox.controller import QbloxController +from qibolab.instruments.rohde_schwarz import SGS100A +from qibolab.platform import Platform +from qibolab.serialize import ( + load_instrument_settings, + load_qubits, + load_runcard, + load_settings, +) + +NAME = "qblox" +ADDRESS = "192.168.0.3" +RUNCARD = pathlib.Path(__file__).parent / "spinq10q.yml" + + +def create(runcard_path=RUNCARD): + """SpinQ 10q-chip controlled using qblox cluster 6. + + Args: + runcard_path (str): Path to the runcard file. + """ + runcard = load_runcard(runcard_path) + cluster = Cluster( + name="cluster", + address="192.168.0.3", + settings=Cluster_Settings(reference_clock_source=ReferenceClockSource.EXTERNAL), + ) + modules = { + "qrm_rf1": ClusterQRM_RF( + "qrm_rf1", f"{ADDRESS}:18", cluster + ), # qubits q6, q7, q8, q9, q10 + # "qcm_rf2": ClusterQCM_RF("qcm_rf2", f"{ADDRESS}:12", cluster), # qubits q5, q6 + # "qcm_rf3": ClusterQCM_RF("qcm_rf3", f"{ADDRESS}:14", cluster), # qubits q7, q8 + # "qcm_rf4": ClusterQCM_RF("qcm_rf4", f"{ADDRESS}:16", cluster), # qubits q9, q10 + # "qcm_bb1": ClusterQCM_BB( + # "qcm_bb1", f"{ADDRESS}:4", cluster + # ), # qubits q5, q6, q7, q8 + # "qcm_bb2": ClusterQCM_BB("qcm_bb2", f"{ADDRESS}:6", cluster), # qubits q9, q10 + } + controller = QbloxController("qblox_controller", cluster, modules) + twpa_pump1 = SGS100A(name="twpa_pump1", address="192.168.0.39") + + instruments = { + controller.name: controller, + twpa_pump1.name: twpa_pump1, + } + instruments.update(modules) + instruments = load_instrument_settings(runcard, instruments) + + # DEBUG: debug folder = report folder ################################################################### + # import os + # from datetime import datetime + + # QPU = "spinq10q" + # debug_folder = f"/home/users/alvaro.orgaz/reports/{datetime.now().strftime('%Y%m%d')}_{QPU}_/debug/" + # if not os.path.exists(debug_folder): + # os.makedirs(debug_folder) + # for name in modules: + # modules[name]._debug_folder = debug_folder + ######################################################################################################### + + # Create channel objects + channels = ChannelMap() + # Readout + channels |= Channel(name="L3-21", port=modules["qrm_rf1"].ports["o1"]) + + channels |= Channel(name="L2-17", port=modules["qrm_rf1"].ports["i1"]) + # # Drive + # channels |= Channel(name="L6-6", port=modules["qcm_rf2"].ports["o2"]) + # channels |= Channel(name="L6-7", port=modules["qcm_rf3"].ports["o1"]) + # channels |= Channel(name="L6-8", port=modules["qcm_rf3"].ports["o2"]) + # channels |= Channel(name="L6-9", port=modules["qcm_rf4"].ports["o1"]) + # channels |= Channel(name="L6-10", port=modules["qcm_rf4"].ports["o2"]) + # # Flux + # channels |= Channel(name="L6-44", port=modules["qcm_bb1"].ports["o2"]) + # channels |= Channel(name="L6-45", port=modules["qcm_bb1"].ports["o3"]) + # channels |= Channel(name="L6-46", port=modules["qcm_bb1"].ports["o4"]) + # channels |= Channel(name="L6-47", port=modules["qcm_bb2"].ports["o4"]) + # channels |= Channel(name="L6-48", port=modules["qcm_bb2"].ports["o3"]) + + # TWPA + channels |= Channel(name="L3-23", port=None) + channels["L3-23"].local_oscillator = twpa_pump1 + + # create qubit objects + qubits, couplers, pairs = load_qubits(runcard) + + # assign channels to qubits + for q in [6, 7, 8, 9, 10]: + qubits[q].readout = channels["L3-21"] + qubits[q].feedback = channels["L2-17"] + qubits[q].twpa = channels["L3-23"] + + # for q in range(6, 11): + # qubits[q].drive = channels[f"L6-{q}"] + # qubits[q].flux = channels[f"L6-{38+q}"] + # channels[f"L6-{38+q}"].qubit = qubits[q] + # # set maximum allowed bias + # qubits[q].flux.max_bias = 2.5 + + settings = load_settings(runcard) + + return Platform( + "spinq10q_qblox", qubits, pairs, instruments, settings, resonator_type="2D" + ) \ No newline at end of file From 51060721566cbb3d3d9034dee38d6cf1eb53a271 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Fri, 5 Jul 2024 13:19:31 +0400 Subject: [PATCH 03/17] Platform update --- spinq10q_12_zcu111/parameters.json | 8 ++++---- spinq10q_12_zcu111/platform.py | 28 ++++++++++++++++------------ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/spinq10q_12_zcu111/parameters.json b/spinq10q_12_zcu111/parameters.json index ff32326c..76ade8ec 100644 --- a/spinq10q_12_zcu111/parameters.json +++ b/spinq10q_12_zcu111/parameters.json @@ -25,8 +25,8 @@ "frequency": 7385000000, "power": 11 }, - "twpa_pump0": { - "power": -2.21, + "twpa": { + "power": -1.9, "frequency": 6803000000 } }, @@ -47,7 +47,7 @@ "duration": 4000, "amplitude": 0.105, "shape": "Rectangular()", - "frequency": 7432316555, + "frequency": 7432000000, "relative_start": 0, "phase": 0, "type": "ro" @@ -87,7 +87,7 @@ "duration": 4000, "amplitude": 0.1, "shape": "Rectangular()", - "frequency": 7547853000, + "frequency": 7547000000, "relative_start": 0, "phase": 0, "type": "ro" diff --git a/spinq10q_12_zcu111/platform.py b/spinq10q_12_zcu111/platform.py index 60309376..8e3e5d82 100644 --- a/spinq10q_12_zcu111/platform.py +++ b/spinq10q_12_zcu111/platform.py @@ -10,11 +10,12 @@ load_runcard, load_settings, ) +#from qibolab.kernels import Kernels NAME = "spinq10q_12__zcu111" -ADDRESS = "192.168.1.81" +ADDRESS = "192.168.0.81" PORT = 6000 -LO_ADDRESS = "192.168.0.34" +LO_ADDRESS = "192.168.0.31" TWPA_ADDRESS = "192.168.0.37" FOLDER = pathlib.Path(__file__).parent @@ -37,23 +38,26 @@ def create(): # QUBIT 1 channels |= Channel("L1-1-RO_0", port=controller.ports(0)) # feedback adc0 channels |= Channel("L6-1_qd", port=controller.ports(3)) # drive dac3 - channels |= Channel("L6-39_fl", port=controller.ports(0)) # flux dac0 + channels |= Channel("L6-39_fl", port=controller.ports(2)) # flux dac0 # QUBIT 2 channels |= Channel("L1-1-RO_1", port=controller.ports(1)) # feedback adc1 channels |= Channel("L6-2_qd", port=controller.ports(4)) # drive dac4 - channels |= Channel("L6-40_fl", port=controller.ports(1)) # flux dac1 + channels |= Channel("L6-40_fl", port=controller.ports(0)) # flux dac1 # QUBIT 3 channels |= Channel("L1-1-RO_2", port=controller.ports(2)) # feedback adc2 channels |= Channel("L6-3_qd", port=controller.ports(5)) # drive dac5 - channels |= Channel("L6-41_fl", port=controller.ports(2)) # flux dac2 + channels |= Channel("L6-41_fl", port=controller.ports(1)) # flux dac2 # Readout local oscillator local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) channels["L3-20_ro"].local_oscillator = local_oscillator + #TWPA - twpa_pump0 = SGS100A(name="twpa_pump0", address=TWPA_ADDRESS) - #channels["L3-10"].twpa_pump0 = twpa_pump0 - # create qubit objects + twpa = SGS100A(name="twpa", address=TWPA_ADDRESS) + channels |= Channel(name="twpa", port=None) + channels["twpa"].local_oscillator = twpa + + runcard = load_runcard(FOLDER) qubits, couplers, pairs = load_qubits(runcard) # assign channels to qubits @@ -61,25 +65,25 @@ def create(): qubits[1].feedback = channels["L1-1-RO_0"] qubits[1].drive = channels["L6-1_qd"] qubits[1].flux = channels["L6-39_fl"] - #qubits[1].twpa = channels["L3-10"] + qubits[1].twpa = channels["twpa"] channels["L6-39_fl"].qubit = qubits[1] qubits[2].readout = channels["L3-20_ro"] qubits[2].feedback = channels["L1-1-RO_1"] qubits[2].drive = channels["L6-2_qd"] qubits[2].flux = channels["L6-40_fl"] - #qubits[2].twpa = channels["L3-10"] + qubits[2].twpa = channels["twpa"] channels["L6-40_fl"].qubit = qubits[2] qubits[3].readout = channels["L3-20_ro"] qubits[3].feedback = channels["L1-1-RO_2"] qubits[3].drive = channels["L6-3_qd"] qubits[3].flux = channels["L6-41_fl"] - #qubits[3].twpa = channels["L3-10"] + qubits[3].twpa = channels["twpa"] channels["L6-41_fl"].qubit = qubits[3] instruments = {controller.name: controller, - twpa_pump0.name: twpa_pump0, + twpa.name: twpa, local_oscillator.name: local_oscillator} settings = load_settings(runcard) instruments = load_instrument_settings(runcard, instruments) From 40757b108d1d00a8328d8e1b517f6b8c5a3c4329 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Wed, 10 Jul 2024 09:50:53 +0400 Subject: [PATCH 04/17] Working with 2 qubits multiplexed --- spinq10q_12_zcu111/parameters.json | 108 +++++++++++++---------------- spinq10q_12_zcu111/platform.py | 2 +- 2 files changed, 49 insertions(+), 61 deletions(-) diff --git a/spinq10q_12_zcu111/parameters.json b/spinq10q_12_zcu111/parameters.json index 76ade8ec..063d324d 100644 --- a/spinq10q_12_zcu111/parameters.json +++ b/spinq10q_12_zcu111/parameters.json @@ -2,8 +2,8 @@ "nqubits": 3, "description": "qubits 1-3 of spinq10q controlled by a Xilinx ZCU111 board", "settings": { - "nshots": 1000, - "relaxation_time": 200000 + "nshots": 1024, + "relaxation_time": 50000 }, "qubits": [ 1, @@ -23,7 +23,7 @@ "instruments": { "LO": { "frequency": 7385000000, - "power": 11 + "power": 10 }, "twpa": { "power": -1.9, @@ -35,19 +35,19 @@ "single_qubit": { "1": { "RX": { - "duration": 40, + "duration": 80, "amplitude": 0.535, - "shape": "Gaussian(2)", - "frequency": 4940357493, + "shape": "Gaussian(5)", + "frequency": 4228357493, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { - "duration": 4000, + "duration": 2500, "amplitude": 0.105, "shape": "Rectangular()", - "frequency": 7432000000, + "frequency": 7433700000, "relative_start": 0, "phase": 0, "type": "ro" @@ -55,19 +55,19 @@ }, "2": { "RX": { - "duration": 40, - "amplitude": 0.551, - "shape": "Gaussian(2)", - "frequency": 5755933959, + "duration": 80, + "amplitude": 0.286, + "shape": "Gaussian(5)", + "frequency": 4866533959, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { - "duration": 4000, - "amplitude": 0.14, + "duration": 2500, + "amplitude": 0.2, "shape": "Rectangular()", - "frequency": 7510360000, + "frequency": 7511552000, "relative_start": 0, "phase": 0, "type": "ro" @@ -75,19 +75,19 @@ }, "3": { "RX": { - "duration": 40, - "amplitude": 0.696, - "shape": "Gaussian(2)", - "frequency": 6075205000, + "duration": 80, + "amplitude": 0.45, + "shape": "Gaussian(5)", + "frequency": 4188005000, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { - "duration": 4000, - "amplitude": 0.1, + "duration": 2500, + "amplitude": 0.2, "shape": "Rectangular()", - "frequency": 7547000000, + "frequency": 7548831000, "relative_start": 0, "phase": 0, "type": "ro" @@ -120,22 +120,22 @@ "2-3": { "CZ": [ { - "duration": 30, - "amplitude": 0.207, + "duration": 40, + "amplitude": 0.5, "shape": "Rectangular()", - "qubit": 3, + "qubit": 2, "relative_start": 0, "type": "qf" }, { "type": "virtual_z", - "phase": 0.0, - "qubit": 3 + "phase": -1.5, + "qubit": 2 }, { "type": "virtual_z", - "phase": 0.0, - "qubit": 1 + "phase": -1.5, + "qubit": 3 } ] } @@ -150,7 +150,7 @@ "anharmonicity": 0.0, "sweetspot": -0.037, "asymmetry": 0.0, - "crosstalk_matrix": {}, + "crosstalk_matrix": {"1": 1, "2": 0, "3": 0}, "Ec": 0.0, "Ej": 0.0, "g": 0.0, @@ -181,12 +181,12 @@ }, "2": { "bare_resonator_frequency": 0, - "readout_frequency": 7110500000, - "drive_frequency": 5756009488, + "readout_frequency": 7511552000, + "drive_frequency": 4866533959, "anharmonicity": 0, - "sweetspot": -0.1105, + "sweetspot": -0.14, "asymmetry": 0.0, - "crosstalk_matrix": {}, + "crosstalk_matrix": {"1": 0, "2": 1, "3": 0}, "Ec": 0.0, "Ej": 0.0, "g": 0.0, @@ -194,22 +194,16 @@ "readout_fidelity": 0.0, "effective_temperature": 0.0, "peak_voltage": 0, - "pi_pulse_amplitude": 0, + "pi_pulse_amplitude": 0.286, "T1": 9648.473025473866, "T2": 0.0, "T2_spin_echo": 0, "state0_voltage": 0, "state1_voltage": 0, - "mean_gnd_states": [ - 2.1203863372093026, - 2.590681220930233 - ], - "mean_exc_states": [ - 2.6019945348837212, - 4.65872796511628 - ], - "threshold": 4.698395737427324, - "iq_angle": -1.3419936877473289, + "mean_gnd_states": [-2.489, -0.445], + "mean_exc_states": [-1.537, -2.797], + "threshold": 1.03212, + "iq_angle": 1.186, "mixer_drive_g": 0.0, "mixer_drive_phi": 0.0, "mixer_readout_g": 0.0, @@ -217,12 +211,12 @@ }, "3": { "bare_resonator_frequency": 0, - "readout_frequency": 7344300000, - "drive_frequency": 6074344432, + "readout_frequency": 7548831000, + "drive_frequency": 4186934000, "anharmonicity": 286200000, - "sweetspot": 0.003, + "sweetspot": 0.193, "asymmetry": 0.0, - "crosstalk_matrix": {}, + "crosstalk_matrix": {"1": 0, "2": 0, "3": 1}, "Ec": 0.0, "Ej": 0.0, "g": 0.0, @@ -230,22 +224,16 @@ "readout_fidelity": 0.0, "effective_temperature": 0.0, "peak_voltage": 0, - "pi_pulse_amplitude": 0, + "pi_pulse_amplitude": 0.4, "T1": 6610.395234920448, "T2": 0.0, "T2_spin_echo": 0, "state0_voltage": 0, "state1_voltage": 0, - "mean_gnd_states": [ - 5.178576337209302, - -3.008574593023256 - ], - "mean_exc_states": [ - 6.798567093023257, - -1.307816627906977 - ], - "threshold": 2.7122263573716805, - "iq_angle": -0.8097153567616061, + "mean_gnd_states": [-1.773, 2.147], + "mean_exc_states": [-3.099, 1.369], + "threshold": 1.854602, + "iq_angle": 2.611, "mixer_drive_g": 0.0, "mixer_drive_phi": 0.0, "mixer_readout_g": 0.0, diff --git a/spinq10q_12_zcu111/platform.py b/spinq10q_12_zcu111/platform.py index 8e3e5d82..c65e8b4b 100644 --- a/spinq10q_12_zcu111/platform.py +++ b/spinq10q_12_zcu111/platform.py @@ -45,7 +45,7 @@ def create(): channels |= Channel("L6-40_fl", port=controller.ports(0)) # flux dac1 # QUBIT 3 channels |= Channel("L1-1-RO_2", port=controller.ports(2)) # feedback adc2 - channels |= Channel("L6-3_qd", port=controller.ports(5)) # drive dac5 + channels |= Channel("L6-3_qd", port=controller.ports(3 )) # drive dac5 channels |= Channel("L6-41_fl", port=controller.ports(1)) # flux dac2 # Readout local oscillator From d4020ff0ff2ea817967e7fe3167e5b2476d99183 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Wed, 10 Jul 2024 16:52:29 +0400 Subject: [PATCH 05/17] Platform for qubits 2,3,4 --- spinq10q_12_zcu111/parameters.json | 42 +++++++++++++++--------------- spinq10q_12_zcu111/platform.py | 22 ++++++++-------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/spinq10q_12_zcu111/parameters.json b/spinq10q_12_zcu111/parameters.json index 063d324d..b535b2c9 100644 --- a/spinq10q_12_zcu111/parameters.json +++ b/spinq10q_12_zcu111/parameters.json @@ -1,28 +1,28 @@ { "nqubits": 3, - "description": "qubits 1-3 of spinq10q controlled by a Xilinx ZCU111 board", + "description": "qubits 2-4 of spinq10q controlled by a Xilinx ZCU111 board", "settings": { "nshots": 1024, "relaxation_time": 50000 }, "qubits": [ - 1, 2, - 3 + 3, + 4 ], "topology": [ - [ - 1, - 2 - ], [ 2, 3 + ], + [ + 3, + 4 ] ], "instruments": { "LO": { - "frequency": 7385000000, + "frequency": 7390000000, "power": 10 }, "twpa": { @@ -33,12 +33,12 @@ "native_gates": { "single_qubit": { - "1": { + "4": { "RX": { "duration": 80, "amplitude": 0.535, "shape": "Gaussian(5)", - "frequency": 4228357493, + "frequency": 4848357493, "relative_start": 0, "phase": 0, "type": "qd" @@ -47,7 +47,7 @@ "duration": 2500, "amplitude": 0.105, "shape": "Rectangular()", - "frequency": 7433700000, + "frequency": 7583700000, "relative_start": 0, "phase": 0, "type": "ro" @@ -95,25 +95,25 @@ } }, "two_qubit": { - "1-2": { + "3-4": { "CZ": [ { "duration": 30, "amplitude": 0.055, "shape": "Rectangular()", - "qubit": 2, + "qubit": 4, "relative_start": 0, "type": "qf" }, { "type": "virtual_z", "phase": 0.0, - "qubit": 2 + "qubit": 4 }, { "type": "virtual_z", "phase": 0.0, - "qubit": 1 + "qubit": 3 } ] }, @@ -143,14 +143,14 @@ }, "characterization": { "single_qubit": { - "1": { + "4": { "bare_resonator_frequency": 0, - "readout_frequency": 6952500000, - "drive_frequency": 4940357493, + "readout_frequency": 7583500000, + "drive_frequency": 4228357493, "anharmonicity": 0.0, "sweetspot": -0.037, "asymmetry": 0.0, - "crosstalk_matrix": {"1": 1, "2": 0, "3": 0}, + "crosstalk_matrix": {"2": 0, "3": 0, "4":1}, "Ec": 0.0, "Ej": 0.0, "g": 0.0, @@ -186,7 +186,7 @@ "anharmonicity": 0, "sweetspot": -0.14, "asymmetry": 0.0, - "crosstalk_matrix": {"1": 0, "2": 1, "3": 0}, + "crosstalk_matrix": {"4": 0, "2": 1, "3": 0}, "Ec": 0.0, "Ej": 0.0, "g": 0.0, @@ -216,7 +216,7 @@ "anharmonicity": 286200000, "sweetspot": 0.193, "asymmetry": 0.0, - "crosstalk_matrix": {"1": 0, "2": 0, "3": 1}, + "crosstalk_matrix": {"4": 0, "2": 0, "3": 1}, "Ec": 0.0, "Ej": 0.0, "g": 0.0, diff --git a/spinq10q_12_zcu111/platform.py b/spinq10q_12_zcu111/platform.py index c65e8b4b..836aa723 100644 --- a/spinq10q_12_zcu111/platform.py +++ b/spinq10q_12_zcu111/platform.py @@ -21,7 +21,7 @@ def create(): - """Platform for qubits 1,2,3 on spinq10q chip using the ZCU111 board running qibosoq. + """Platform for qubits 2,3, 4 on spinq10q chip using the ZCU111 board running qibosoq. IPs and other instrument related parameters are hardcoded in. """ @@ -35,17 +35,17 @@ def create(): # Create channel objects channels = ChannelMap() channels |= Channel("L3-20_ro", port=controller.ports(6)) # probe dac6 - # QUBIT 1 + # QUBIT 4 channels |= Channel("L1-1-RO_0", port=controller.ports(0)) # feedback adc0 - channels |= Channel("L6-1_qd", port=controller.ports(3)) # drive dac3 - channels |= Channel("L6-39_fl", port=controller.ports(2)) # flux dac0 + channels |= Channel("L6-4_qd", port=controller.ports(5)) # drive dac5 + channels |= Channel("L6-42_fl", port=controller.ports(2)) # flux dac0 # QUBIT 2 channels |= Channel("L1-1-RO_1", port=controller.ports(1)) # feedback adc1 channels |= Channel("L6-2_qd", port=controller.ports(4)) # drive dac4 channels |= Channel("L6-40_fl", port=controller.ports(0)) # flux dac1 # QUBIT 3 channels |= Channel("L1-1-RO_2", port=controller.ports(2)) # feedback adc2 - channels |= Channel("L6-3_qd", port=controller.ports(3 )) # drive dac5 + channels |= Channel("L6-3_qd", port=controller.ports(3 )) # drive dac3 channels |= Channel("L6-41_fl", port=controller.ports(1)) # flux dac2 # Readout local oscillator @@ -61,12 +61,12 @@ def create(): runcard = load_runcard(FOLDER) qubits, couplers, pairs = load_qubits(runcard) # assign channels to qubits - qubits[1].readout = channels["L3-20_ro"] - qubits[1].feedback = channels["L1-1-RO_0"] - qubits[1].drive = channels["L6-1_qd"] - qubits[1].flux = channels["L6-39_fl"] - qubits[1].twpa = channels["twpa"] - channels["L6-39_fl"].qubit = qubits[1] + qubits[4].readout = channels["L3-20_ro"] + qubits[4].feedback = channels["L1-1-RO_0"] + qubits[4].drive = channels["L6-4_qd"] + qubits[4].flux = channels["L6-42_fl"] + qubits[4].twpa = channels["twpa"] + channels["L6-42_fl"].qubit = qubits[4] qubits[2].readout = channels["L3-20_ro"] qubits[2].feedback = channels["L1-1-RO_1"] From 8a58b313d6ad4aeb0a5520d54e6ecd140aed5c08 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Wed, 24 Jul 2024 11:31:25 +0400 Subject: [PATCH 06/17] Last characterization --- spinq10q_12_zcu111/parameters.json | 120 +++++++++++++++-------------- spinq10q_12_zcu111/platform.py | 30 ++++---- 2 files changed, 77 insertions(+), 73 deletions(-) diff --git a/spinq10q_12_zcu111/parameters.json b/spinq10q_12_zcu111/parameters.json index b535b2c9..49458961 100644 --- a/spinq10q_12_zcu111/parameters.json +++ b/spinq10q_12_zcu111/parameters.json @@ -33,61 +33,62 @@ "native_gates": { "single_qubit": { - "4": { + + "2": { "RX": { - "duration": 80, - "amplitude": 0.535, + "duration": 120, + "amplitude": 0.31, "shape": "Gaussian(5)", - "frequency": 4848357493, + "frequency": 4867347000, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { "duration": 2500, - "amplitude": 0.105, + "amplitude": 0.08, "shape": "Rectangular()", - "frequency": 7583700000, + "frequency": 7511352000, "relative_start": 0, "phase": 0, "type": "ro" } }, - "2": { + "3": { "RX": { - "duration": 80, - "amplitude": 0.286, + "duration": 120, + "amplitude": 0.45, "shape": "Gaussian(5)", - "frequency": 4866533959, + "frequency": 4190233000, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { "duration": 2500, - "amplitude": 0.2, + "amplitude": 0.128, "shape": "Rectangular()", - "frequency": 7511552000, + "frequency": 7548631000, "relative_start": 0, "phase": 0, "type": "ro" } }, - "3": { + "4": { "RX": { - "duration": 80, - "amplitude": 0.45, + "duration": 120, + "amplitude": 0.9, "shape": "Gaussian(5)", - "frequency": 4188005000, + "frequency": 4855057493, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { "duration": 2500, - "amplitude": 0.2, + "amplitude": 0.170, "shape": "Rectangular()", - "frequency": 7548831000, + "frequency": 7583900000, "relative_start": 0, "phase": 0, "type": "ro" @@ -143,50 +144,15 @@ }, "characterization": { "single_qubit": { - "4": { - "bare_resonator_frequency": 0, - "readout_frequency": 7583500000, - "drive_frequency": 4228357493, - "anharmonicity": 0.0, - "sweetspot": -0.037, - "asymmetry": 0.0, - "crosstalk_matrix": {"2": 0, "3": 0, "4":1}, - "Ec": 0.0, - "Ej": 0.0, - "g": 0.0, - "assignment_fidelity": 0.0, - "readout_fidelity": 0.0, - "effective_temperature": 0.0, - "peak_voltage": 0, - "pi_pulse_amplitude": 0, - "T1": 8752.985976351081, - "T2": 0.0, - "T2_spin_echo": 0, - "state0_voltage": 0, - "state1_voltage": 0, - "mean_gnd_states": [ - 2.7928963953488375, - 0.38721744186046514 - ], - "mean_exc_states": [ - 3.1822208720930236, - 2.6839408139534884 - ], - "threshold": 2.0384892421724587, - "iq_angle": -1.4028795254342719, - "mixer_drive_g": 0.0, - "mixer_drive_phi": 0.0, - "mixer_readout_g": 0.0, - "mixer_readout_phi": 0.0 - }, + "2": { "bare_resonator_frequency": 0, "readout_frequency": 7511552000, "drive_frequency": 4866533959, "anharmonicity": 0, - "sweetspot": -0.14, + "sweetspot": -0.139, "asymmetry": 0.0, - "crosstalk_matrix": {"4": 0, "2": 1, "3": 0}, + "crosstalk_matrix": { "2": 1, "3": 0, "4": 0}, "Ec": 0.0, "Ej": 0.0, "g": 0.0, @@ -211,12 +177,12 @@ }, "3": { "bare_resonator_frequency": 0, - "readout_frequency": 7548831000, + "readout_frequency": 7548731000, "drive_frequency": 4186934000, "anharmonicity": 286200000, - "sweetspot": 0.193, + "sweetspot": -0.1919, "asymmetry": 0.0, - "crosstalk_matrix": {"4": 0, "2": 0, "3": 1}, + "crosstalk_matrix": { "2": 0, "3": 1, "4": 0}, "Ec": 0.0, "Ej": 0.0, "g": 0.0, @@ -238,6 +204,42 @@ "mixer_drive_phi": 0.0, "mixer_readout_g": 0.0, "mixer_readout_phi": 0.0 + }, + "4": { + "bare_resonator_frequency": 0, + "readout_frequency": 7588000000, + "drive_frequency": 4857057493, + "anharmonicity": 0.0, + "sweetspot": -0.185, + "asymmetry": 0.0, + "crosstalk_matrix": {"2": 0, "3": 0, "4":1}, + "Ec": 0.0, + "Ej": 0.0, + "g": 0.0, + "assignment_fidelity": 0.0, + "readout_fidelity": 0.0, + "effective_temperature": 0.0, + "peak_voltage": 0, + "pi_pulse_amplitude": 0, + "T1": 8752.985976351081, + "T2": 0.0, + "T2_spin_echo": 0, + "state0_voltage": 0, + "state1_voltage": 0, + "mean_gnd_states": [ + 2.7928963953488375, + 0.38721744186046514 + ], + "mean_exc_states": [ + 3.1822208720930236, + 2.6839408139534884 + ], + "threshold": 2.0384892421724587, + "iq_angle": -1.4028795254342719, + "mixer_drive_g": 0.0, + "mixer_drive_phi": 0.0, + "mixer_readout_g": 0.0, + "mixer_readout_phi": 0.0 } } } diff --git a/spinq10q_12_zcu111/platform.py b/spinq10q_12_zcu111/platform.py index 836aa723..3bd5a23d 100644 --- a/spinq10q_12_zcu111/platform.py +++ b/spinq10q_12_zcu111/platform.py @@ -35,19 +35,19 @@ def create(): # Create channel objects channels = ChannelMap() channels |= Channel("L3-20_ro", port=controller.ports(6)) # probe dac6 - # QUBIT 4 - channels |= Channel("L1-1-RO_0", port=controller.ports(0)) # feedback adc0 - channels |= Channel("L6-4_qd", port=controller.ports(5)) # drive dac5 - channels |= Channel("L6-42_fl", port=controller.ports(2)) # flux dac0 + # QUBIT 2 channels |= Channel("L1-1-RO_1", port=controller.ports(1)) # feedback adc1 - channels |= Channel("L6-2_qd", port=controller.ports(4)) # drive dac4 + channels |= Channel("L6-2_qd", port=controller.ports(3)) # drive dac3 channels |= Channel("L6-40_fl", port=controller.ports(0)) # flux dac1 # QUBIT 3 channels |= Channel("L1-1-RO_2", port=controller.ports(2)) # feedback adc2 - channels |= Channel("L6-3_qd", port=controller.ports(3 )) # drive dac3 + channels |= Channel("L6-3_qd", port=controller.ports(4)) # drive dac4 channels |= Channel("L6-41_fl", port=controller.ports(1)) # flux dac2 - + # QUBIT 4 + channels |= Channel("L1-1-RO_0", port=controller.ports(3)) # feedback adc0 + channels |= Channel("L6-4_qd", port=controller.ports(5)) # drive dac5 + channels |= Channel("L6-42_fl", port=controller.ports(2)) # flux dac2 # Readout local oscillator local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) channels["L3-20_ro"].local_oscillator = local_oscillator @@ -60,13 +60,7 @@ def create(): runcard = load_runcard(FOLDER) qubits, couplers, pairs = load_qubits(runcard) - # assign channels to qubits - qubits[4].readout = channels["L3-20_ro"] - qubits[4].feedback = channels["L1-1-RO_0"] - qubits[4].drive = channels["L6-4_qd"] - qubits[4].flux = channels["L6-42_fl"] - qubits[4].twpa = channels["twpa"] - channels["L6-42_fl"].qubit = qubits[4] + qubits[2].readout = channels["L3-20_ro"] qubits[2].feedback = channels["L1-1-RO_1"] @@ -82,6 +76,14 @@ def create(): qubits[3].twpa = channels["twpa"] channels["L6-41_fl"].qubit = qubits[3] + # assign channels to qubits + qubits[4].readout = channels["L3-20_ro"] + qubits[4].feedback = channels["L1-1-RO_0"] + qubits[4].drive = channels["L6-4_qd"] + qubits[4].flux = channels["L6-42_fl"] + qubits[4].twpa = channels["twpa"] + channels["L6-42_fl"].qubit = qubits[4] + instruments = {controller.name: controller, twpa.name: twpa, local_oscillator.name: local_oscillator} From 465d268f268b2a108bf5622d360c7a81231fcd80 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Thu, 25 Jul 2024 14:49:05 +0400 Subject: [PATCH 07/17] Chevrons working --- spinq10q_12_zcu111/parameters.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/spinq10q_12_zcu111/parameters.json b/spinq10q_12_zcu111/parameters.json index 49458961..8ff44c8f 100644 --- a/spinq10q_12_zcu111/parameters.json +++ b/spinq10q_12_zcu111/parameters.json @@ -22,7 +22,7 @@ ], "instruments": { "LO": { - "frequency": 7390000000, + "frequency": 7430000000, "power": 10 }, "twpa": { @@ -36,8 +36,8 @@ "2": { "RX": { - "duration": 120, - "amplitude": 0.31, + "duration": 200, + "amplitude": 0.19, "shape": "Gaussian(5)", "frequency": 4867347000, "relative_start": 0, @@ -56,10 +56,10 @@ }, "3": { "RX": { - "duration": 120, - "amplitude": 0.45, + "duration": 200, + "amplitude": 0.79, "shape": "Gaussian(5)", - "frequency": 4190233000, + "frequency": 4190183000, "relative_start": 0, "phase": 0, "type": "qd" @@ -76,10 +76,10 @@ }, "4": { "RX": { - "duration": 120, - "amplitude": 0.9, + "duration": 200, + "amplitude": 0.65, "shape": "Gaussian(5)", - "frequency": 4855057493, + "frequency": 4854257493, "relative_start": 0, "phase": 0, "type": "qd" @@ -99,8 +99,8 @@ "3-4": { "CZ": [ { - "duration": 30, - "amplitude": 0.055, + "duration": 40, + "amplitude": 0.1, "shape": "Rectangular()", "qubit": 4, "relative_start": 0, @@ -122,7 +122,7 @@ "CZ": [ { "duration": 40, - "amplitude": 0.5, + "amplitude": 0.077, "shape": "Rectangular()", "qubit": 2, "relative_start": 0, @@ -130,12 +130,12 @@ }, { "type": "virtual_z", - "phase": -1.5, + "phase": 0.0, "qubit": 2 }, { "type": "virtual_z", - "phase": -1.5, + "phase": 0.0, "qubit": 3 } ] @@ -210,7 +210,7 @@ "readout_frequency": 7588000000, "drive_frequency": 4857057493, "anharmonicity": 0.0, - "sweetspot": -0.185, + "sweetspot": -0.184, "asymmetry": 0.0, "crosstalk_matrix": {"2": 0, "3": 0, "4":1}, "Ec": 0.0, From 93ba238deb774ce167a958ac5be96827fe593c7e Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Mon, 9 Sep 2024 16:56:02 +0400 Subject: [PATCH 08/17] New platform for chip tii3qw81 --- .../parameters.json | 101 ++---------------- .../platform.py | 49 +++------ 2 files changed, 23 insertions(+), 127 deletions(-) rename {spinq10q_12_zcu111 => tii3qw81_zcu111}/parameters.json (60%) rename {spinq10q_12_zcu111 => tii3qw81_zcu111}/platform.py (51%) diff --git a/spinq10q_12_zcu111/parameters.json b/tii3qw81_zcu111/parameters.json similarity index 60% rename from spinq10q_12_zcu111/parameters.json rename to tii3qw81_zcu111/parameters.json index 8ff44c8f..a57108f0 100644 --- a/spinq10q_12_zcu111/parameters.json +++ b/tii3qw81_zcu111/parameters.json @@ -1,34 +1,25 @@ { - "nqubits": 3, - "description": "qubits 2-4 of spinq10q controlled by a Xilinx ZCU111 board", + "nqubits": 2, + "description": "qubits 2 and 3 of tii3qw81 controlled by a Xilinx ZCU111 board", "settings": { "nshots": 1024, "relaxation_time": 50000 }, "qubits": [ 2, - 3, - 4 + 3 ], "topology": [ [ 2, 3 - ], - [ - 3, - 4 ] ], "instruments": { "LO": { - "frequency": 7430000000, + "frequency": 7200000000, "power": 10 - }, - "twpa": { - "power": -1.9, - "frequency": 6803000000 - } + } }, "native_gates": { @@ -48,7 +39,7 @@ "duration": 2500, "amplitude": 0.08, "shape": "Rectangular()", - "frequency": 7511352000, + "frequency": 7016395000, "relative_start": 0, "phase": 0, "type": "ro" @@ -68,27 +59,7 @@ "duration": 2500, "amplitude": 0.128, "shape": "Rectangular()", - "frequency": 7548631000, - "relative_start": 0, - "phase": 0, - "type": "ro" - } - }, - "4": { - "RX": { - "duration": 200, - "amplitude": 0.65, - "shape": "Gaussian(5)", - "frequency": 4854257493, - "relative_start": 0, - "phase": 0, - "type": "qd" - }, - "MZ": { - "duration": 2500, - "amplitude": 0.170, - "shape": "Rectangular()", - "frequency": 7583900000, + "frequency": 7143720000, "relative_start": 0, "phase": 0, "type": "ro" @@ -96,28 +67,6 @@ } }, "two_qubit": { - "3-4": { - "CZ": [ - { - "duration": 40, - "amplitude": 0.1, - "shape": "Rectangular()", - "qubit": 4, - "relative_start": 0, - "type": "qf" - }, - { - "type": "virtual_z", - "phase": 0.0, - "qubit": 4 - }, - { - "type": "virtual_z", - "phase": 0.0, - "qubit": 3 - } - ] - }, "2-3": { "CZ": [ { @@ -204,42 +153,6 @@ "mixer_drive_phi": 0.0, "mixer_readout_g": 0.0, "mixer_readout_phi": 0.0 - }, - "4": { - "bare_resonator_frequency": 0, - "readout_frequency": 7588000000, - "drive_frequency": 4857057493, - "anharmonicity": 0.0, - "sweetspot": -0.184, - "asymmetry": 0.0, - "crosstalk_matrix": {"2": 0, "3": 0, "4":1}, - "Ec": 0.0, - "Ej": 0.0, - "g": 0.0, - "assignment_fidelity": 0.0, - "readout_fidelity": 0.0, - "effective_temperature": 0.0, - "peak_voltage": 0, - "pi_pulse_amplitude": 0, - "T1": 8752.985976351081, - "T2": 0.0, - "T2_spin_echo": 0, - "state0_voltage": 0, - "state1_voltage": 0, - "mean_gnd_states": [ - 2.7928963953488375, - 0.38721744186046514 - ], - "mean_exc_states": [ - 3.1822208720930236, - 2.6839408139534884 - ], - "threshold": 2.0384892421724587, - "iq_angle": -1.4028795254342719, - "mixer_drive_g": 0.0, - "mixer_drive_phi": 0.0, - "mixer_readout_g": 0.0, - "mixer_readout_phi": 0.0 } } } diff --git a/spinq10q_12_zcu111/platform.py b/tii3qw81_zcu111/platform.py similarity index 51% rename from spinq10q_12_zcu111/platform.py rename to tii3qw81_zcu111/platform.py index 3bd5a23d..b0b7a490 100644 --- a/spinq10q_12_zcu111/platform.py +++ b/tii3qw81_zcu111/platform.py @@ -12,16 +12,16 @@ ) #from qibolab.kernels import Kernels -NAME = "spinq10q_12__zcu111" +NAME = "tii3qw81__zcu111" ADDRESS = "192.168.0.81" PORT = 6000 LO_ADDRESS = "192.168.0.31" -TWPA_ADDRESS = "192.168.0.37" +#TWPA_ADDRESS = "192.168.0.37" FOLDER = pathlib.Path(__file__).parent def create(): - """Platform for qubits 2,3, 4 on spinq10q chip using the ZCU111 board running qibosoq. + """Platform for qubits 2 and 3 on tii3qw81 chip using the ZCU111 board running qibosoq. IPs and other instrument related parameters are hardcoded in. """ @@ -34,28 +34,22 @@ def create(): # Create channel objects channels = ChannelMap() - channels |= Channel("L3-20_ro", port=controller.ports(6)) # probe dac6 + channels |= Channel("L3-28_ro", port=controller.ports(6)) # probe dac6 # QUBIT 2 - channels |= Channel("L1-1-RO_1", port=controller.ports(1)) # feedback adc1 - channels |= Channel("L6-2_qd", port=controller.ports(3)) # drive dac3 - channels |= Channel("L6-40_fl", port=controller.ports(0)) # flux dac1 + channels |= Channel("L1-2-RO_1", port=controller.ports(1)) # feedback adc1 + channels |= Channel("L4-31_qd", port=controller.ports(3)) # drive dac3 + # QUBIT 3 - channels |= Channel("L1-1-RO_2", port=controller.ports(2)) # feedback adc2 - channels |= Channel("L6-3_qd", port=controller.ports(4)) # drive dac4 - channels |= Channel("L6-41_fl", port=controller.ports(1)) # flux dac2 - # QUBIT 4 - channels |= Channel("L1-1-RO_0", port=controller.ports(3)) # feedback adc0 - channels |= Channel("L6-4_qd", port=controller.ports(5)) # drive dac5 - channels |= Channel("L6-42_fl", port=controller.ports(2)) # flux dac2 + channels |= Channel("L1-2-RO_2", port=controller.ports(2)) # feedback adc2 + channels |= Channel("L4-32_qd", port=controller.ports(4)) # drive dac4 + + # Readout local oscillator local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) channels["L3-20_ro"].local_oscillator = local_oscillator - #TWPA - twpa = SGS100A(name="twpa", address=TWPA_ADDRESS) - channels |= Channel(name="twpa", port=None) - channels["twpa"].local_oscillator = twpa + runcard = load_runcard(FOLDER) @@ -65,27 +59,16 @@ def create(): qubits[2].readout = channels["L3-20_ro"] qubits[2].feedback = channels["L1-1-RO_1"] qubits[2].drive = channels["L6-2_qd"] - qubits[2].flux = channels["L6-40_fl"] - qubits[2].twpa = channels["twpa"] - channels["L6-40_fl"].qubit = qubits[2] + qubits[3].readout = channels["L3-20_ro"] qubits[3].feedback = channels["L1-1-RO_2"] qubits[3].drive = channels["L6-3_qd"] - qubits[3].flux = channels["L6-41_fl"] - qubits[3].twpa = channels["twpa"] - channels["L6-41_fl"].qubit = qubits[3] - - # assign channels to qubits - qubits[4].readout = channels["L3-20_ro"] - qubits[4].feedback = channels["L1-1-RO_0"] - qubits[4].drive = channels["L6-4_qd"] - qubits[4].flux = channels["L6-42_fl"] - qubits[4].twpa = channels["twpa"] - channels["L6-42_fl"].qubit = qubits[4] + + + instruments = {controller.name: controller, - twpa.name: twpa, local_oscillator.name: local_oscillator} settings = load_settings(runcard) instruments = load_instrument_settings(runcard, instruments) From b621556e7263cfb36c90ea73570f9902bb100674 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Tue, 10 Sep 2024 15:15:25 +0400 Subject: [PATCH 09/17] New platform and parameters for chip tii3qw81 --- tii3qw81_zcu111/parameters.json | 69 +++++++++++++++++++++++++++++---- tii3qw81_zcu111/platform.py | 43 ++++++++++++-------- 2 files changed, 88 insertions(+), 24 deletions(-) diff --git a/tii3qw81_zcu111/parameters.json b/tii3qw81_zcu111/parameters.json index a57108f0..e7cba383 100644 --- a/tii3qw81_zcu111/parameters.json +++ b/tii3qw81_zcu111/parameters.json @@ -1,13 +1,14 @@ { - "nqubits": 2, - "description": "qubits 2 and 3 of tii3qw81 controlled by a Xilinx ZCU111 board", + "nqubits": 3, + "description": "qubits 2, 3 and witness of tii3qw81 controlled by a Xilinx ZCU111 board", "settings": { "nshots": 1024, "relaxation_time": 50000 }, "qubits": [ 2, - 3 + 3, + 4 ], "topology": [ [ @@ -30,14 +31,14 @@ "duration": 200, "amplitude": 0.19, "shape": "Gaussian(5)", - "frequency": 4867347000, + "frequency": 5072347000, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { "duration": 2500, - "amplitude": 0.08, + "amplitude": 0.16, "shape": "Rectangular()", "frequency": 7016395000, "relative_start": 0, @@ -48,23 +49,44 @@ "3": { "RX": { "duration": 200, - "amplitude": 0.79, + "amplitude": 0.19, "shape": "Gaussian(5)", - "frequency": 4190183000, + "frequency": 5524183000, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { "duration": 2500, - "amplitude": 0.128, + "amplitude": 0.16, "shape": "Rectangular()", "frequency": 7143720000, "relative_start": 0, "phase": 0, "type": "ro" } + }, + "4": { + "RX": { + "duration": 200, + "amplitude": 0.19, + "shape": "Gaussian(5)", + "frequency": 4356000000, + "relative_start": 0, + "phase": 0, + "type": "qd" + }, + "MZ": { + "duration": 2500, + "amplitude": 0.16, + "shape": "Rectangular()", + "frequency": 7638800000, + "relative_start": 0, + "phase": 0, + "type": "ro" + } } + }, "two_qubit": { "2-3": { @@ -153,7 +175,38 @@ "mixer_drive_phi": 0.0, "mixer_readout_g": 0.0, "mixer_readout_phi": 0.0 + }, + "4": { + "bare_resonator_frequency": 0, + "readout_frequency": 7548731000, + "drive_frequency": 4186934000, + "anharmonicity": 286200000, + "sweetspot": -0.1919, + "asymmetry": 0.0, + "crosstalk_matrix": { "2": 0, "3": 1, "4": 0}, + "Ec": 0.0, + "Ej": 0.0, + "g": 0.0, + "assignment_fidelity": 0.0, + "readout_fidelity": 0.0, + "effective_temperature": 0.0, + "peak_voltage": 0, + "pi_pulse_amplitude": 0.4, + "T1": 6610.395234920448, + "T2": 0.0, + "T2_spin_echo": 0, + "state0_voltage": 0, + "state1_voltage": 0, + "mean_gnd_states": [-1.773, 2.147], + "mean_exc_states": [-3.099, 1.369], + "threshold": 1.854602, + "iq_angle": 2.611, + "mixer_drive_g": 0.0, + "mixer_drive_phi": 0.0, + "mixer_readout_g": 0.0, + "mixer_readout_phi": 0.0 } + } } } diff --git a/tii3qw81_zcu111/platform.py b/tii3qw81_zcu111/platform.py index b0b7a490..1b46ad76 100644 --- a/tii3qw81_zcu111/platform.py +++ b/tii3qw81_zcu111/platform.py @@ -18,11 +18,11 @@ LO_ADDRESS = "192.168.0.31" #TWPA_ADDRESS = "192.168.0.37" FOLDER = pathlib.Path(__file__).parent - +print(FOLDER) def create(): - """Platform for qubits 2 and 3 on tii3qw81 chip using the ZCU111 board running qibosoq. - + """Platform for qubits 2, 3 and witness on tii3qw81 chipusing the ZCU111 board running qibosoq. + The chip has fixed-frequency transmons without flux lines IPs and other instrument related parameters are hardcoded in. """ @@ -39,15 +39,20 @@ def create(): # QUBIT 2 channels |= Channel("L1-2-RO_1", port=controller.ports(1)) # feedback adc1 channels |= Channel("L4-31_qd", port=controller.ports(3)) # drive dac3 + channels |= Channel("L1-22_fl", port=controller.ports(0)) # Not Used flux dac0 # QUBIT 3 channels |= Channel("L1-2-RO_2", port=controller.ports(2)) # feedback adc2 channels |= Channel("L4-32_qd", port=controller.ports(4)) # drive dac4 - + channels |= Channel("L1-23_fl", port=controller.ports(1)) # Not Usedflux dac1 + # QUBIT Witness + channels |= Channel("L1-2-RO_3", port=controller.ports(3)) # feedback adc1 + channels |= Channel("L4-28_qd", port=controller.ports(5)) # drive dac3 + channels |= Channel("L1-24_fl", port=controller.ports(2)) # Not Used flux dac2 # Readout local oscillator local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) - channels["L3-20_ro"].local_oscillator = local_oscillator + channels["L3-28_ro"].local_oscillator = local_oscillator @@ -56,17 +61,23 @@ def create(): qubits, couplers, pairs = load_qubits(runcard) - qubits[2].readout = channels["L3-20_ro"] - qubits[2].feedback = channels["L1-1-RO_1"] - qubits[2].drive = channels["L6-2_qd"] - - - qubits[3].readout = channels["L3-20_ro"] - qubits[3].feedback = channels["L1-1-RO_2"] - qubits[3].drive = channels["L6-3_qd"] - - - + qubits[2].readout = channels["L3-28_ro"] + qubits[2].feedback = channels["L1-2-RO_1"] + qubits[2].drive = channels["L4-31_qd"] + qubits[2].flux = channels["L1-22_fl"] # Not Used + channels["L1-22_fl"].qubit = qubits[2] + + qubits[3].readout = channels["L3-28_ro"] + qubits[3].feedback = channels["L1-2-RO_2"] + qubits[3].drive = channels["L4-32_qd"] + qubits[3].flux = channels["L1-23_fl"] # Not Used + channels["L1-23_fl"].qubit = qubits[3] + + qubits[4].readout = channels["L3-28_ro"] + qubits[4].feedback = channels["L1-2-RO_3"] + qubits[4].drive = channels["L4-28_qd"] + qubits[4].flux = channels["L1-24_fl"] # Not Used + channels["L1-24_fl"].qubit = qubits[4] instruments = {controller.name: controller, local_oscillator.name: local_oscillator} From f04113d562427c118ed0afc725e9f0f1f35f1adc Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Wed, 11 Sep 2024 15:23:49 +0400 Subject: [PATCH 10/17] Basic characterization --- tii3qw81_zcu111/parameters.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tii3qw81_zcu111/parameters.json b/tii3qw81_zcu111/parameters.json index e7cba383..5b019d49 100644 --- a/tii3qw81_zcu111/parameters.json +++ b/tii3qw81_zcu111/parameters.json @@ -28,10 +28,10 @@ "2": { "RX": { - "duration": 200, - "amplitude": 0.19, + "duration": 130, + "amplitude": 0.23, "shape": "Gaussian(5)", - "frequency": 5072347000, + "frequency": 5074652000, "relative_start": 0, "phase": 0, "type": "qd" @@ -48,10 +48,10 @@ }, "3": { "RX": { - "duration": 200, - "amplitude": 0.19, + "duration": 130, + "amplitude": 0.985, "shape": "Gaussian(5)", - "frequency": 5524183000, + "frequency": 5529137000, "relative_start": 0, "phase": 0, "type": "qd" @@ -68,10 +68,10 @@ }, "4": { "RX": { - "duration": 200, - "amplitude": 0.19, + "duration": 130, + "amplitude": 0.2, "shape": "Gaussian(5)", - "frequency": 4356000000, + "frequency": 4356800000, "relative_start": 0, "phase": 0, "type": "qd" @@ -121,7 +121,7 @@ "readout_frequency": 7511552000, "drive_frequency": 4866533959, "anharmonicity": 0, - "sweetspot": -0.139, + "sweetspot": 0.0, "asymmetry": 0.0, "crosstalk_matrix": { "2": 1, "3": 0, "4": 0}, "Ec": 0.0, @@ -132,7 +132,7 @@ "effective_temperature": 0.0, "peak_voltage": 0, "pi_pulse_amplitude": 0.286, - "T1": 9648.473025473866, + "T1": 4210.0, "T2": 0.0, "T2_spin_echo": 0, "state0_voltage": 0, @@ -162,7 +162,7 @@ "effective_temperature": 0.0, "peak_voltage": 0, "pi_pulse_amplitude": 0.4, - "T1": 6610.395234920448, + "T1": 8900.0, "T2": 0.0, "T2_spin_echo": 0, "state0_voltage": 0, From d345b20764fe29052dfcd8bc9835278fc8a07d7b Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Thu, 12 Sep 2024 10:23:25 +0400 Subject: [PATCH 11/17] Remove outdated files --- spinq10q.yml | 274 ---------------------------------------------- spinq10q_qblox.py | 116 -------------------- 2 files changed, 390 deletions(-) delete mode 100644 spinq10q.yml delete mode 100644 spinq10q_qblox.py diff --git a/spinq10q.yml b/spinq10q.yml deleted file mode 100644 index 6059c511..00000000 --- a/spinq10q.yml +++ /dev/null @@ -1,274 +0,0 @@ -nqubits: 10 -settings: {nshots: 1024, sampling_rate: 1_000_000_000, relaxation_time: 50_000} -qubits: [6, 7, 8, 9, 10] -topology: -- [6, 7] -- [7, 8] -- [8, 9] -- [9, 10] -instruments: - twpa_pump1: {power: 2, frequency: 6300000000} # not calibrated - qrm_rf1: # q6, q7, q8, q9, q10 - o1: - attenuation: 36 - lo_frequency: 7_640_000_000 - i1: - acquisition_hold_off: 500 - acquisition_duration: 2500 - - # qcm_rf2: - # o1: - # attenuation: 60 - # lo_frequency: 4_288_807_000 # q5 - # o2: - # attenuation: 20 - # lo_frequency: 4_994_000_000 # q6, - # qcm_rf3: - # o1: - # attenuation: 20 - # lo_frequency: 4_327_000_000 # q7, - # o2: - # attenuation: 20 - # lo_frequency: 4_931_000_000 # q8, - # qcm_rf4: - # o1: - # attenuation: 20 - # lo_frequency: 4_029_000_000 # q9, - # o2: - # attenuation: 20 - # lo_frequency: 4_564_000_000 # q10, - - # qcm_bb1: - # o1: - # offset: 0.0 # q5 - # o2: - # offset: 0.0 # q6 - # o3: - # offset: 0.0 # q7 - # o4: - # offset: 0.0 # q8 - # qcm_bb2: - # o1: - # offset: 0.0 # - # o2: - # offset: 0.0 # - # o3: - # offset: 0.0 # q9 - # o4: - # offset: 0.0 # q10 - -native_gates: - single_qubit: - 6: - RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 4807000000, - relative_start: 0, phase: 0, type: qd} - MZ: {duration: 2500, amplitude: 0.1, shape: Rectangular(), frequency: 7492871912, - relative_start: 0, phase: 0, type: ro} - 7: - RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 4138000000, - relative_start: 0, phase: 0, type: qd} - MZ: {duration: 2500, amplitude: 0.05, shape: Rectangular(), frequency: 7552523695, - relative_start: 0, phase: 0, type: ro} - 8: - RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 4740000000, - relative_start: 0, phase: 0, type: qd} - MZ: {duration: 2500, amplitude: 0.1, shape: Rectangular(), frequency: 7582597778, - relative_start: 0, phase: 0, type: ro} - 9: - RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 3936000000, - relative_start: 0, phase: 0, type: qd} - MZ: {duration: 2500, amplitude: 0.1, shape: Rectangular(), frequency: 7439612987, - relative_start: 0, phase: 0, type: ro} - 10: - RX: {duration: 40, amplitude: 0.2, shape: Gaussian(5), frequency: 4443000000, - relative_start: 0, phase: 0, type: qd} - MZ: {duration: 2500, amplitude: 0.1, shape: Rectangular(), frequency: 7625805244, - relative_start: 0, phase: 0, type: ro} - two_qubit: - 6-7: - CZ: - - {duration: 40, amplitude: 0.01, shape: Rectangular(), qubit: 6, relative_start: 0, - type: qf} - 7-8: - CZ: - - {duration: 40, amplitude: 0.01, shape: Rectangular(), qubit: 8, relative_start: 0, - type: qf} - 8-9: - CZ: - - {duration: 40, amplitude: 0.01, shape: Rectangular(), qubit: 8, relative_start: 0, - type: qf} - 9-10: - CZ: - - {duration: 40, amplitude: 0.01, shape: Rectangular(), qubit: 10, relative_start: 0, - type: qf} - -characterization: - single_qubit: - 6: - bare_resonator_frequency: 7492000000 - readout_frequency: 7492871912 - drive_frequency: 4807000000 - anharmonicity: 300000000 - # sweetspot: 0.0 # 0 - # sweetspot: -0.27 # all sweetspot - sweetspot: 0.04 # all sweetspot - # sweetspot: 0.208 # parking - flux_to_bias: 1.6665895049327701 - asymmetry: 0.5535122935186866 - bare_resonator_frequency_sweetspot: 7489207877 - ssf_brf: 0.0 - Ec: 0.001712748757440161 - Ej: 10.609527507376397 - g: 0.160394924514527 - assignment_fidelity: 0 - readout_fidelity: 0.0 - effective_temperature: 0.0 - peak_voltage: 0 - pi_pulse_amplitude: 0.5 - T1: 0 - T2: 0 - T2_spin_echo: 0 - state0_voltage: 0 - state1_voltage: 0 - mean_gnd_states: [0, 0] - mean_exc_states: [0, 0] - threshold: 0.0 - iq_angle: 0.0 - mixer_drive_g: 0.0 - mixer_drive_phi: 0.0 - mixer_readout_g: 0.0 - mixer_readout_phi: 0.0 - 7: - bare_resonator_frequency: 7551000000 - readout_frequency: 7552523695 - drive_frequency: 4138000000 - anharmonicity: 300000000 - # sweetspot: 0.0 # 0 - # sweetspot: 0.25 # all sweetspot - sweetspot: -0.01 # 1&2 ss rest parked - # sweetspot: 1 # parking - flux_to_bias: 0.3703033075501269 - asymmetry: 0.03846063238221964 - bare_resonator_frequency_sweetspot: 7551278196 - ssf_brf: 0.0 - Ec: 0.0009246451339489379 - Ej: 5.562311176695407 - g: 0.0916007392206866 - assignment_fidelity: 0 - readout_fidelity: 0.0 - effective_temperature: 0.0 - peak_voltage: 0 - pi_pulse_amplitude: 0.5 - T1: 0 - T2: 0 - T2_spin_echo: 0 - state0_voltage: 0 - state1_voltage: 0 - mean_gnd_states: [0, 0] - mean_exc_states: [0, 0] - threshold: 0.0 - iq_angle: 0.0 - mixer_drive_g: 0.0 - mixer_drive_phi: 0.0 - mixer_readout_g: 0.0 - mixer_readout_phi: 0.0 - 8: - bare_resonator_frequency: 7582000000 - readout_frequency: 7582597778 - drive_frequency: 4740000000 - anharmonicity: 300000000 - # sweetspot: 0.0 # 0 - # sweetspot: 0.27 # all sweetspot - sweetspot: 0.01 # 1&2 ss rest parked - # sweetspot: 1 # parking - flux_to_bias: 0.4995172960641154 - asymmetry: 0.2075344332925857 - bare_resonator_frequency_sweetspot: 7581851516 - ssf_brf: 0.0 - Ec: 0.33019201147898763 - Ej: 11.890449189962764 - g: 0.04231188420111357 - assignment_fidelity: 0 - readout_fidelity: 0.0 - effective_temperature: 0.0 - peak_voltage: 0 - pi_pulse_amplitude: 0.5 - T1: 0 - T2: 0 - T2_spin_echo: 0 - state0_voltage: 0 - state1_voltage: 0 - mean_gnd_states: [0, 0] - mean_exc_states: [0, 0] - threshold: 0.0 - iq_angle: 0.0 - mixer_drive_g: 0.0 - mixer_drive_phi: 0.0 - mixer_readout_g: 0.0 - mixer_readout_phi: 0.0 - 9: - bare_resonator_frequency: 7443000000 - readout_frequency: 7439612987 - drive_frequency: 3936000000 - anharmonicity: 300000000 - # sweetspot: 0.0 # 0 - # sweetspot: 0.28 # all sweetspot - sweetspot: 0.03 # 1&2 ss rest parked - flux_to_bias: 10.000130322312259 - asymmetry: 1.3920288326762917 - bare_resonator_frequency_sweetspot: 7436783114 - ssf_brf: 0.0 - Ec: 0.3031215235846714 - Ej: 11.98896584756633 - g: 0.10132930078089977 - assignment_fidelity: 0 - readout_fidelity: 0.0 - effective_temperature: 0.0 - peak_voltage: 0 - pi_pulse_amplitude: 0.5 - T1: 0 - T2: 0 - T2_spin_echo: 0 - state0_voltage: 0 - state1_voltage: 0 - mean_gnd_states: [0, 0] - mean_exc_states: [0, 0] - threshold: 0.0 - iq_angle: 0.0 - mixer_drive_g: 0.0 - mixer_drive_phi: 0.0 - mixer_readout_g: 0.0 - mixer_readout_phi: 0.0 - 10: - bare_resonator_frequency: 7626000000 - readout_frequency: 7625805244 - drive_frequency: 4443000000 - anharmonicity: 300000000 - # sweetspot: 0.0 # 0 - # sweetspot: -0.21 # all sweetspot - sweetspot: 0.11 # 1&2 ss rest parked - flux_to_bias: 10.000712581827976 - asymmetry: 0.017944091505718254 - bare_resonator_frequency_sweetspot: 7622592997 - ssf_brf: 0.0 - Ec: 0.3029667450053242 - Ej: 11.99519574096561 - g: 0.10837183302651561 - assignment_fidelity: 0 - readout_fidelity: 0.0 - effective_temperature: 0.0 - peak_voltage: 0 - pi_pulse_amplitude: 0.5 - T1: 0 - T2: 0 - T2_spin_echo: 0 - state0_voltage: 0 - state1_voltage: 0 - mean_gnd_states: [0, 0] - mean_exc_states: [0, 0] - threshold: 0.0 - iq_angle: 0.0 - mixer_drive_g: 0.0 - mixer_drive_phi: 0.0 - mixer_readout_g: 0.0 - mixer_readout_phi: 0.0 \ No newline at end of file diff --git a/spinq10q_qblox.py b/spinq10q_qblox.py deleted file mode 100644 index ede32379..00000000 --- a/spinq10q_qblox.py +++ /dev/null @@ -1,116 +0,0 @@ -import pathlib - -from qibolab.channels import Channel, ChannelMap -from qibolab.instruments.qblox.cluster import ( - Cluster, - Cluster_Settings, - ReferenceClockSource, -) -from qibolab.instruments.qblox.cluster_qcm_bb import ClusterQCM_BB -from qibolab.instruments.qblox.cluster_qcm_rf import ClusterQCM_RF -from qibolab.instruments.qblox.cluster_qrm_rf import ClusterQRM_RF -from qibolab.instruments.qblox.controller import QbloxController -from qibolab.instruments.rohde_schwarz import SGS100A -from qibolab.platform import Platform -from qibolab.serialize import ( - load_instrument_settings, - load_qubits, - load_runcard, - load_settings, -) - -NAME = "qblox" -ADDRESS = "192.168.0.3" -RUNCARD = pathlib.Path(__file__).parent / "spinq10q.yml" - - -def create(runcard_path=RUNCARD): - """SpinQ 10q-chip controlled using qblox cluster 6. - - Args: - runcard_path (str): Path to the runcard file. - """ - runcard = load_runcard(runcard_path) - cluster = Cluster( - name="cluster", - address="192.168.0.3", - settings=Cluster_Settings(reference_clock_source=ReferenceClockSource.EXTERNAL), - ) - modules = { - "qrm_rf1": ClusterQRM_RF( - "qrm_rf1", f"{ADDRESS}:18", cluster - ), # qubits q6, q7, q8, q9, q10 - # "qcm_rf2": ClusterQCM_RF("qcm_rf2", f"{ADDRESS}:12", cluster), # qubits q5, q6 - # "qcm_rf3": ClusterQCM_RF("qcm_rf3", f"{ADDRESS}:14", cluster), # qubits q7, q8 - # "qcm_rf4": ClusterQCM_RF("qcm_rf4", f"{ADDRESS}:16", cluster), # qubits q9, q10 - # "qcm_bb1": ClusterQCM_BB( - # "qcm_bb1", f"{ADDRESS}:4", cluster - # ), # qubits q5, q6, q7, q8 - # "qcm_bb2": ClusterQCM_BB("qcm_bb2", f"{ADDRESS}:6", cluster), # qubits q9, q10 - } - controller = QbloxController("qblox_controller", cluster, modules) - twpa_pump1 = SGS100A(name="twpa_pump1", address="192.168.0.39") - - instruments = { - controller.name: controller, - twpa_pump1.name: twpa_pump1, - } - instruments.update(modules) - instruments = load_instrument_settings(runcard, instruments) - - # DEBUG: debug folder = report folder ################################################################### - # import os - # from datetime import datetime - - # QPU = "spinq10q" - # debug_folder = f"/home/users/alvaro.orgaz/reports/{datetime.now().strftime('%Y%m%d')}_{QPU}_/debug/" - # if not os.path.exists(debug_folder): - # os.makedirs(debug_folder) - # for name in modules: - # modules[name]._debug_folder = debug_folder - ######################################################################################################### - - # Create channel objects - channels = ChannelMap() - # Readout - channels |= Channel(name="L3-21", port=modules["qrm_rf1"].ports["o1"]) - - channels |= Channel(name="L2-17", port=modules["qrm_rf1"].ports["i1"]) - # # Drive - # channels |= Channel(name="L6-6", port=modules["qcm_rf2"].ports["o2"]) - # channels |= Channel(name="L6-7", port=modules["qcm_rf3"].ports["o1"]) - # channels |= Channel(name="L6-8", port=modules["qcm_rf3"].ports["o2"]) - # channels |= Channel(name="L6-9", port=modules["qcm_rf4"].ports["o1"]) - # channels |= Channel(name="L6-10", port=modules["qcm_rf4"].ports["o2"]) - # # Flux - # channels |= Channel(name="L6-44", port=modules["qcm_bb1"].ports["o2"]) - # channels |= Channel(name="L6-45", port=modules["qcm_bb1"].ports["o3"]) - # channels |= Channel(name="L6-46", port=modules["qcm_bb1"].ports["o4"]) - # channels |= Channel(name="L6-47", port=modules["qcm_bb2"].ports["o4"]) - # channels |= Channel(name="L6-48", port=modules["qcm_bb2"].ports["o3"]) - - # TWPA - channels |= Channel(name="L3-23", port=None) - channels["L3-23"].local_oscillator = twpa_pump1 - - # create qubit objects - qubits, couplers, pairs = load_qubits(runcard) - - # assign channels to qubits - for q in [6, 7, 8, 9, 10]: - qubits[q].readout = channels["L3-21"] - qubits[q].feedback = channels["L2-17"] - qubits[q].twpa = channels["L3-23"] - - # for q in range(6, 11): - # qubits[q].drive = channels[f"L6-{q}"] - # qubits[q].flux = channels[f"L6-{38+q}"] - # channels[f"L6-{38+q}"].qubit = qubits[q] - # # set maximum allowed bias - # qubits[q].flux.max_bias = 2.5 - - settings = load_settings(runcard) - - return Platform( - "spinq10q_qblox", qubits, pairs, instruments, settings, resonator_type="2D" - ) \ No newline at end of file From 3c72a582401226a0c987a3cd62d0e5d5167d92a7 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 11 Sep 2024 11:47:41 +0000 Subject: [PATCH 12/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tii3qw81_zcu111/parameters.json | 6 +++--- tii3qw81_zcu111/platform.py | 22 +++++++++------------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/tii3qw81_zcu111/parameters.json b/tii3qw81_zcu111/parameters.json index 5b019d49..a849f3ad 100644 --- a/tii3qw81_zcu111/parameters.json +++ b/tii3qw81_zcu111/parameters.json @@ -31,7 +31,7 @@ "duration": 130, "amplitude": 0.23, "shape": "Gaussian(5)", - "frequency": 5074652000, + "frequency": 5074652000, "relative_start": 0, "phase": 0, "type": "qd" @@ -86,7 +86,7 @@ "type": "ro" } } - + }, "two_qubit": { "2-3": { @@ -206,7 +206,7 @@ "mixer_readout_g": 0.0, "mixer_readout_phi": 0.0 } - + } } } diff --git a/tii3qw81_zcu111/platform.py b/tii3qw81_zcu111/platform.py index 1b46ad76..bab730ad 100644 --- a/tii3qw81_zcu111/platform.py +++ b/tii3qw81_zcu111/platform.py @@ -1,8 +1,8 @@ import pathlib from qibolab.channels import Channel, ChannelMap -from qibolab.instruments.rohde_schwarz import SGS100A from qibolab.instruments.rfsoc import RFSoC +from qibolab.instruments.rohde_schwarz import SGS100A from qibolab.platform import Platform from qibolab.serialize import ( load_instrument_settings, @@ -10,16 +10,18 @@ load_runcard, load_settings, ) -#from qibolab.kernels import Kernels + +# from qibolab.kernels import Kernels NAME = "tii3qw81__zcu111" ADDRESS = "192.168.0.81" PORT = 6000 LO_ADDRESS = "192.168.0.31" -#TWPA_ADDRESS = "192.168.0.37" +# TWPA_ADDRESS = "192.168.0.37" FOLDER = pathlib.Path(__file__).parent print(FOLDER) + def create(): """Platform for qubits 2, 3 and witness on tii3qw81 chipusing the ZCU111 board running qibosoq. The chip has fixed-frequency transmons without flux lines @@ -31,7 +33,6 @@ def create(): controller.cfg.adc_trig_offset = 200 controller.cfg.repetition_duration = 100 - # Create channel objects channels = ChannelMap() channels |= Channel("L3-28_ro", port=controller.ports(6)) # probe dac6 @@ -54,33 +55,28 @@ def create(): local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) channels["L3-28_ro"].local_oscillator = local_oscillator - - - runcard = load_runcard(FOLDER) qubits, couplers, pairs = load_qubits(runcard) - qubits[2].readout = channels["L3-28_ro"] qubits[2].feedback = channels["L1-2-RO_1"] qubits[2].drive = channels["L4-31_qd"] - qubits[2].flux = channels["L1-22_fl"] # Not Used + qubits[2].flux = channels["L1-22_fl"] # Not Used channels["L1-22_fl"].qubit = qubits[2] qubits[3].readout = channels["L3-28_ro"] qubits[3].feedback = channels["L1-2-RO_2"] qubits[3].drive = channels["L4-32_qd"] - qubits[3].flux = channels["L1-23_fl"] # Not Used + qubits[3].flux = channels["L1-23_fl"] # Not Used channels["L1-23_fl"].qubit = qubits[3] qubits[4].readout = channels["L3-28_ro"] qubits[4].feedback = channels["L1-2-RO_3"] qubits[4].drive = channels["L4-28_qd"] - qubits[4].flux = channels["L1-24_fl"] # Not Used + qubits[4].flux = channels["L1-24_fl"] # Not Used channels["L1-24_fl"].qubit = qubits[4] - instruments = {controller.name: controller, - local_oscillator.name: local_oscillator} + instruments = {controller.name: controller, local_oscillator.name: local_oscillator} settings = load_settings(runcard) instruments = load_instrument_settings(runcard, instruments) return Platform( From b91a1aaa87a186705140c4e3ed3e8003c1d90e17 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Fri, 13 Sep 2024 16:13:37 +0400 Subject: [PATCH 13/17] Final characterization --- tii3qw81_zcu111/parameters.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tii3qw81_zcu111/parameters.json b/tii3qw81_zcu111/parameters.json index a849f3ad..ca1fc50d 100644 --- a/tii3qw81_zcu111/parameters.json +++ b/tii3qw81_zcu111/parameters.json @@ -29,9 +29,9 @@ "2": { "RX": { "duration": 130, - "amplitude": 0.23, + "amplitude": 0.85, "shape": "Gaussian(5)", - "frequency": 5074652000, + "frequency": 4932252000, "relative_start": 0, "phase": 0, "type": "qd" @@ -68,10 +68,10 @@ }, "4": { "RX": { - "duration": 130, - "amplitude": 0.2, + "duration": 1200, + "amplitude": 0.990, "shape": "Gaussian(5)", - "frequency": 4356800000, + "frequency": 4357137000, "relative_start": 0, "phase": 0, "type": "qd" From c6f85d42ba792b5c2d1204b98931c51b2cd8c21f Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Tue, 5 Nov 2024 10:57:11 +0400 Subject: [PATCH 14/17] New branch for new chip --- tii3q98_zcu111/parameters.json | 238 +++++++++++++++++++++++++++++++++ tii3q98_zcu111/platform.py | 86 ++++++++++++ 2 files changed, 324 insertions(+) create mode 100644 tii3q98_zcu111/parameters.json create mode 100644 tii3q98_zcu111/platform.py diff --git a/tii3q98_zcu111/parameters.json b/tii3q98_zcu111/parameters.json new file mode 100644 index 00000000..ae92c3a6 --- /dev/null +++ b/tii3q98_zcu111/parameters.json @@ -0,0 +1,238 @@ +{ + "nqubits": 3, + "description": "qubits 1, 2, 3 of tii3qw98 controlled by a Xilinx ZCU111 board", + "settings": { + "nshots": 1024, + "relaxation_time": 50000 + }, + "qubits": [ + 1, + 2, + 3 + ], + "topology": [ + [ + 1, + 2 + ], + [ + 2, + 3 + ] + ], + "instruments": { + "LO": { + "frequency": 7200000000, + "power": 10 + } + }, + + "native_gates": { + "single_qubit": { + + "1": { + "RX": { + "duration": 130, + "amplitude": 0.22, + "shape": "Gaussian(5)", + "frequency": 5073047000, + "relative_start": 0, + "phase": 0, + "type": "qd" + }, + "MZ": { + "duration": 2500, + "amplitude": 0.22, + "shape": "Rectangular()", + "frequency": 7016395000, + "relative_start": 0, + "phase": 0, + "type": "ro" + } + }, + "2": { + "RX": { + "duration": 130, + "amplitude": 0.985, + "shape": "Gaussian(5)", + "frequency": 5529137000, + "relative_start": 0, + "phase": 0, + "type": "qd" + }, + "MZ": { + "duration": 2500, + "amplitude": 0.2, + "shape": "Rectangular()", + "frequency": 7143720000, + "relative_start": 0, + "phase": 0, + "type": "ro" + } + }, + "3": { + "RX": { + "duration": 1200, + "amplitude": 0.990, + "shape": "Gaussian(5)", + "frequency": 4357137000, + "relative_start": 0, + "phase": 0, + "type": "qd" + }, + "MZ": { + "duration": 2500, + "amplitude": 0.16, + "shape": "Rectangular()", + "frequency": 7638800000, + "relative_start": 0, + "phase": 0, + "type": "ro" + } + } + + }, + "two_qubit": { + "1-2": { + "CZ": [ + { + "duration": 40, + "amplitude": 0.077, + "shape": "Rectangular()", + "qubit": 2, + "relative_start": 0, + "type": "qf" + }, + { + "type": "virtual_z", + "phase": 0.0, + "qubit": 2 + }, + { + "type": "virtual_z", + "phase": 0.0, + "qubit": 1 + } + ] + }, + "2-3": { + "CZ": [ + { + "duration": 40, + "amplitude": 0.077, + "shape": "Rectangular()", + "qubit": 2, + "relative_start": 0, + "type": "qf" + }, + { + "type": "virtual_z", + "phase": 0.0, + "qubit": 2 + }, + { + "type": "virtual_z", + "phase": 0.0, + "qubit": 3 + } + ] + } + } + }, + "characterization": { + "single_qubit": { + + "1": { + "bare_resonator_frequency": 0, + "readout_frequency": 7511552000, + "drive_frequency": 4866533959, + "anharmonicity": 0, + "sweetspot": 0.0, + "asymmetry": 0.0, + "crosstalk_matrix": { "2": 1, "3": 0, "4": 0}, + "Ec": 0.0, + "Ej": 0.0, + "g": 0.0, + "assignment_fidelity": 0.0, + "readout_fidelity": 0.0, + "effective_temperature": 0.0, + "peak_voltage": 0, + "pi_pulse_amplitude": 0.286, + "T1": 4210.0, + "T2": 0.0, + "T2_spin_echo": 0, + "state0_voltage": 0, + "state1_voltage": 0, + "mean_gnd_states": [-2.489, -0.445], + "mean_exc_states": [-1.537, -2.797], + "threshold": 1.03212, + "iq_angle": 1.186, + "mixer_drive_g": 0.0, + "mixer_drive_phi": 0.0, + "mixer_readout_g": 0.0, + "mixer_readout_phi": 0.0 + }, + "2": { + "bare_resonator_frequency": 0, + "readout_frequency": 7548731000, + "drive_frequency": 4186934000, + "anharmonicity": 286200000, + "sweetspot": -0.1919, + "asymmetry": 0.0, + "crosstalk_matrix": { "2": 0, "3": 1, "4": 0}, + "Ec": 0.0, + "Ej": 0.0, + "g": 0.0, + "assignment_fidelity": 0.0, + "readout_fidelity": 0.0, + "effective_temperature": 0.0, + "peak_voltage": 0, + "pi_pulse_amplitude": 0.4, + "T1": 8900.0, + "T2": 0.0, + "T2_spin_echo": 0, + "state0_voltage": 0, + "state1_voltage": 0, + "mean_gnd_states": [-1.773, 2.147], + "mean_exc_states": [-3.099, 1.369], + "threshold": 1.854602, + "iq_angle": 2.611, + "mixer_drive_g": 0.0, + "mixer_drive_phi": 0.0, + "mixer_readout_g": 0.0, + "mixer_readout_phi": 0.0 + }, + "3": { + "bare_resonator_frequency": 0, + "readout_frequency": 7548731000, + "drive_frequency": 4186934000, + "anharmonicity": 286200000, + "sweetspot": -0.1919, + "asymmetry": 0.0, + "crosstalk_matrix": { "2": 0, "3": 1, "4": 0}, + "Ec": 0.0, + "Ej": 0.0, + "g": 0.0, + "assignment_fidelity": 0.0, + "readout_fidelity": 0.0, + "effective_temperature": 0.0, + "peak_voltage": 0, + "pi_pulse_amplitude": 0.4, + "T1": 6610.395234920448, + "T2": 0.0, + "T2_spin_echo": 0, + "state0_voltage": 0, + "state1_voltage": 0, + "mean_gnd_states": [-1.773, 2.147], + "mean_exc_states": [-3.099, 1.369], + "threshold": 1.854602, + "iq_angle": 2.611, + "mixer_drive_g": 0.0, + "mixer_drive_phi": 0.0, + "mixer_readout_g": 0.0, + "mixer_readout_phi": 0.0 + } + + } + } +} diff --git a/tii3q98_zcu111/platform.py b/tii3q98_zcu111/platform.py new file mode 100644 index 00000000..a47851c5 --- /dev/null +++ b/tii3q98_zcu111/platform.py @@ -0,0 +1,86 @@ +import pathlib + +from qibolab.channels import Channel, ChannelMap +from qibolab.instruments.rfsoc import RFSoC +from qibolab.instruments.rohde_schwarz import SGS100A +from qibolab.platform import Platform +from qibolab.serialize import ( + load_instrument_settings, + load_qubits, + load_runcard, + load_settings, +) + +# from qibolab.kernels import Kernels + +NAME = "tii3q98_zcu111" +ADDRESS = "192.168.0.81" +PORT = 6000 +LO_ADDRESS = "192.168.0.31" +# TWPA_ADDRESS = "192.168.0.37" +FOLDER = pathlib.Path(__file__).parent +print(FOLDER) + + +def create(): + """Platform for qubits 2, 3 and witness on tii3qw81 chipusing the ZCU111 board running qibosoq. + The chip has fixed-frequency transmons without flux lines + IPs and other instrument related parameters are hardcoded in. + """ + + # Instantiate QICK instruments + controller = RFSoC(str(FOLDER), ADDRESS, PORT, sampling_rate=6.144) + controller.cfg.adc_trig_offset = 200 + controller.cfg.repetition_duration = 100 + + # Create channel objects + channels = ChannelMap() + channels |= Channel("L3-28_ro", port=controller.ports(6)) # probe dac6 + # QUBIT 1 + channels |= Channel("L1-2-RO_1", port=controller.ports(3)) # feedback adc1 + channels |= Channel("L4-30_qd", port=controller.ports(5)) # drive dac3 + channels |= Channel("L1-21_fl", port=controller.ports(2)) # Not Used flux dac2 + # QUBIT 2 + channels |= Channel("L1-2-RO_2", port=controller.ports(1)) # feedback adc1 + channels |= Channel("L4-31_qd", port=controller.ports(3)) # drive dac3 + channels |= Channel("L1-22_fl", port=controller.ports(0)) # Not Used flux dac0 + + # QUBIT 3 + channels |= Channel("L1-2-RO_3", port=controller.ports(2)) # feedback adc2 + channels |= Channel("L4-32_qd", port=controller.ports(4)) # drive dac4 + channels |= Channel("L1-23_fl", port=controller.ports(1)) # Not Usedflux dac1 + + + # Readout local oscillator + local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) + channels["L3-28_ro"].local_oscillator = local_oscillator + + runcard = load_runcard(FOLDER) + qubits, couplers, pairs = load_qubits(runcard) + + qubits[1].readout = channels["L3-28_ro"] + qubits[1].feedback = channels["L1-2-RO_1"] + qubits[1].drive = channels["L4-30_qd"] + qubits[1].flux = channels["L1-21_fl"] # Not Used + channels["L1-21_fl"].qubit = qubits[1] + + qubits[2].readout = channels["L3-28_ro"] + qubits[2].feedback = channels["L1-2-RO_2"] + qubits[2].drive = channels["L4-31_qd"] + qubits[2].flux = channels["L1-22_fl"] # Not Used + channels["L1-22_fl"].qubit = qubits[2] + + qubits[3].readout = channels["L3-28_ro"] + qubits[3].feedback = channels["L1-2-RO_3"] + qubits[3].drive = channels["L4-32_qd"] + qubits[3].flux = channels["L1-23_fl"] # Not Used + channels["L1-23_fl"].qubit = qubits[3] + + + + instruments = {controller.name: controller, local_oscillator.name: local_oscillator} + settings = load_settings(runcard) + instruments = load_instrument_settings(runcard, instruments) + return Platform( + str(FOLDER), qubits, pairs, instruments, settings, resonator_type="2D" + ) From 3b50d760edbe6f1a7833cdf35fc20127cd525690 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Wed, 6 Nov 2024 14:35:47 +0400 Subject: [PATCH 15/17] New characterizacion --- tii3q98_zcu111/parameters.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tii3q98_zcu111/parameters.json b/tii3q98_zcu111/parameters.json index ae92c3a6..f9be39e8 100644 --- a/tii3q98_zcu111/parameters.json +++ b/tii3q98_zcu111/parameters.json @@ -22,7 +22,7 @@ ], "instruments": { "LO": { - "frequency": 7200000000, + "frequency": 6550000000, "power": 10 } }, @@ -32,19 +32,19 @@ "1": { "RX": { - "duration": 130, - "amplitude": 0.22, + "duration": 150, + "amplitude": 0.35, "shape": "Gaussian(5)", - "frequency": 5073047000, + "frequency": 4466187000, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { "duration": 2500, - "amplitude": 0.22, + "amplitude": 0.5, "shape": "Rectangular()", - "frequency": 7016395000, + "frequency": 6259600000, "relative_start": 0, "phase": 0, "type": "ro" @@ -52,19 +52,19 @@ }, "2": { "RX": { - "duration": 130, - "amplitude": 0.985, + "duration": 150, + "amplitude": 0.23, "shape": "Gaussian(5)", - "frequency": 5529137000, + "frequency": 4852200000, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { "duration": 2500, - "amplitude": 0.2, + "amplitude": 0.99, "shape": "Rectangular()", - "frequency": 7143720000, + "frequency": 6385672000, "relative_start": 0, "phase": 0, "type": "ro" @@ -72,19 +72,19 @@ }, "3": { "RX": { - "duration": 1200, - "amplitude": 0.990, + "duration": 150, + "amplitude": 0.725, "shape": "Gaussian(5)", - "frequency": 4357137000, + "frequency": 5265200000, "relative_start": 0, "phase": 0, "type": "qd" }, "MZ": { "duration": 2500, - "amplitude": 0.16, + "amplitude": 0.2, "shape": "Rectangular()", - "frequency": 7638800000, + "frequency": 6451980000, "relative_start": 0, "phase": 0, "type": "ro" From 997ff9ed4c374cd0b3b72befb5409be69edc5f54 Mon Sep 17 00:00:00 2001 From: Javier Serrano Date: Wed, 6 Nov 2024 14:46:29 +0400 Subject: [PATCH 16/17] Deleted non necessary files --- tii3qw81_zcu111/parameters.json | 212 -------------------------------- tii3qw81_zcu111/platform.py | 84 ------------- 2 files changed, 296 deletions(-) delete mode 100644 tii3qw81_zcu111/parameters.json delete mode 100644 tii3qw81_zcu111/platform.py diff --git a/tii3qw81_zcu111/parameters.json b/tii3qw81_zcu111/parameters.json deleted file mode 100644 index ca1fc50d..00000000 --- a/tii3qw81_zcu111/parameters.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "nqubits": 3, - "description": "qubits 2, 3 and witness of tii3qw81 controlled by a Xilinx ZCU111 board", - "settings": { - "nshots": 1024, - "relaxation_time": 50000 - }, - "qubits": [ - 2, - 3, - 4 - ], - "topology": [ - [ - 2, - 3 - ] - ], - "instruments": { - "LO": { - "frequency": 7200000000, - "power": 10 - } - }, - - "native_gates": { - "single_qubit": { - - "2": { - "RX": { - "duration": 130, - "amplitude": 0.85, - "shape": "Gaussian(5)", - "frequency": 4932252000, - "relative_start": 0, - "phase": 0, - "type": "qd" - }, - "MZ": { - "duration": 2500, - "amplitude": 0.16, - "shape": "Rectangular()", - "frequency": 7016395000, - "relative_start": 0, - "phase": 0, - "type": "ro" - } - }, - "3": { - "RX": { - "duration": 130, - "amplitude": 0.985, - "shape": "Gaussian(5)", - "frequency": 5529137000, - "relative_start": 0, - "phase": 0, - "type": "qd" - }, - "MZ": { - "duration": 2500, - "amplitude": 0.16, - "shape": "Rectangular()", - "frequency": 7143720000, - "relative_start": 0, - "phase": 0, - "type": "ro" - } - }, - "4": { - "RX": { - "duration": 1200, - "amplitude": 0.990, - "shape": "Gaussian(5)", - "frequency": 4357137000, - "relative_start": 0, - "phase": 0, - "type": "qd" - }, - "MZ": { - "duration": 2500, - "amplitude": 0.16, - "shape": "Rectangular()", - "frequency": 7638800000, - "relative_start": 0, - "phase": 0, - "type": "ro" - } - } - - }, - "two_qubit": { - "2-3": { - "CZ": [ - { - "duration": 40, - "amplitude": 0.077, - "shape": "Rectangular()", - "qubit": 2, - "relative_start": 0, - "type": "qf" - }, - { - "type": "virtual_z", - "phase": 0.0, - "qubit": 2 - }, - { - "type": "virtual_z", - "phase": 0.0, - "qubit": 3 - } - ] - } - } - }, - "characterization": { - "single_qubit": { - - "2": { - "bare_resonator_frequency": 0, - "readout_frequency": 7511552000, - "drive_frequency": 4866533959, - "anharmonicity": 0, - "sweetspot": 0.0, - "asymmetry": 0.0, - "crosstalk_matrix": { "2": 1, "3": 0, "4": 0}, - "Ec": 0.0, - "Ej": 0.0, - "g": 0.0, - "assignment_fidelity": 0.0, - "readout_fidelity": 0.0, - "effective_temperature": 0.0, - "peak_voltage": 0, - "pi_pulse_amplitude": 0.286, - "T1": 4210.0, - "T2": 0.0, - "T2_spin_echo": 0, - "state0_voltage": 0, - "state1_voltage": 0, - "mean_gnd_states": [-2.489, -0.445], - "mean_exc_states": [-1.537, -2.797], - "threshold": 1.03212, - "iq_angle": 1.186, - "mixer_drive_g": 0.0, - "mixer_drive_phi": 0.0, - "mixer_readout_g": 0.0, - "mixer_readout_phi": 0.0 - }, - "3": { - "bare_resonator_frequency": 0, - "readout_frequency": 7548731000, - "drive_frequency": 4186934000, - "anharmonicity": 286200000, - "sweetspot": -0.1919, - "asymmetry": 0.0, - "crosstalk_matrix": { "2": 0, "3": 1, "4": 0}, - "Ec": 0.0, - "Ej": 0.0, - "g": 0.0, - "assignment_fidelity": 0.0, - "readout_fidelity": 0.0, - "effective_temperature": 0.0, - "peak_voltage": 0, - "pi_pulse_amplitude": 0.4, - "T1": 8900.0, - "T2": 0.0, - "T2_spin_echo": 0, - "state0_voltage": 0, - "state1_voltage": 0, - "mean_gnd_states": [-1.773, 2.147], - "mean_exc_states": [-3.099, 1.369], - "threshold": 1.854602, - "iq_angle": 2.611, - "mixer_drive_g": 0.0, - "mixer_drive_phi": 0.0, - "mixer_readout_g": 0.0, - "mixer_readout_phi": 0.0 - }, - "4": { - "bare_resonator_frequency": 0, - "readout_frequency": 7548731000, - "drive_frequency": 4186934000, - "anharmonicity": 286200000, - "sweetspot": -0.1919, - "asymmetry": 0.0, - "crosstalk_matrix": { "2": 0, "3": 1, "4": 0}, - "Ec": 0.0, - "Ej": 0.0, - "g": 0.0, - "assignment_fidelity": 0.0, - "readout_fidelity": 0.0, - "effective_temperature": 0.0, - "peak_voltage": 0, - "pi_pulse_amplitude": 0.4, - "T1": 6610.395234920448, - "T2": 0.0, - "T2_spin_echo": 0, - "state0_voltage": 0, - "state1_voltage": 0, - "mean_gnd_states": [-1.773, 2.147], - "mean_exc_states": [-3.099, 1.369], - "threshold": 1.854602, - "iq_angle": 2.611, - "mixer_drive_g": 0.0, - "mixer_drive_phi": 0.0, - "mixer_readout_g": 0.0, - "mixer_readout_phi": 0.0 - } - - } - } -} diff --git a/tii3qw81_zcu111/platform.py b/tii3qw81_zcu111/platform.py deleted file mode 100644 index bab730ad..00000000 --- a/tii3qw81_zcu111/platform.py +++ /dev/null @@ -1,84 +0,0 @@ -import pathlib - -from qibolab.channels import Channel, ChannelMap -from qibolab.instruments.rfsoc import RFSoC -from qibolab.instruments.rohde_schwarz import SGS100A -from qibolab.platform import Platform -from qibolab.serialize import ( - load_instrument_settings, - load_qubits, - load_runcard, - load_settings, -) - -# from qibolab.kernels import Kernels - -NAME = "tii3qw81__zcu111" -ADDRESS = "192.168.0.81" -PORT = 6000 -LO_ADDRESS = "192.168.0.31" -# TWPA_ADDRESS = "192.168.0.37" -FOLDER = pathlib.Path(__file__).parent -print(FOLDER) - - -def create(): - """Platform for qubits 2, 3 and witness on tii3qw81 chipusing the ZCU111 board running qibosoq. - The chip has fixed-frequency transmons without flux lines - IPs and other instrument related parameters are hardcoded in. - """ - - # Instantiate QICK instruments - controller = RFSoC(str(FOLDER), ADDRESS, PORT, sampling_rate=6.144) - controller.cfg.adc_trig_offset = 200 - controller.cfg.repetition_duration = 100 - - # Create channel objects - channels = ChannelMap() - channels |= Channel("L3-28_ro", port=controller.ports(6)) # probe dac6 - - # QUBIT 2 - channels |= Channel("L1-2-RO_1", port=controller.ports(1)) # feedback adc1 - channels |= Channel("L4-31_qd", port=controller.ports(3)) # drive dac3 - channels |= Channel("L1-22_fl", port=controller.ports(0)) # Not Used flux dac0 - - # QUBIT 3 - channels |= Channel("L1-2-RO_2", port=controller.ports(2)) # feedback adc2 - channels |= Channel("L4-32_qd", port=controller.ports(4)) # drive dac4 - channels |= Channel("L1-23_fl", port=controller.ports(1)) # Not Usedflux dac1 - # QUBIT Witness - channels |= Channel("L1-2-RO_3", port=controller.ports(3)) # feedback adc1 - channels |= Channel("L4-28_qd", port=controller.ports(5)) # drive dac3 - channels |= Channel("L1-24_fl", port=controller.ports(2)) # Not Used flux dac2 - - # Readout local oscillator - local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) - channels["L3-28_ro"].local_oscillator = local_oscillator - - runcard = load_runcard(FOLDER) - qubits, couplers, pairs = load_qubits(runcard) - - qubits[2].readout = channels["L3-28_ro"] - qubits[2].feedback = channels["L1-2-RO_1"] - qubits[2].drive = channels["L4-31_qd"] - qubits[2].flux = channels["L1-22_fl"] # Not Used - channels["L1-22_fl"].qubit = qubits[2] - - qubits[3].readout = channels["L3-28_ro"] - qubits[3].feedback = channels["L1-2-RO_2"] - qubits[3].drive = channels["L4-32_qd"] - qubits[3].flux = channels["L1-23_fl"] # Not Used - channels["L1-23_fl"].qubit = qubits[3] - - qubits[4].readout = channels["L3-28_ro"] - qubits[4].feedback = channels["L1-2-RO_3"] - qubits[4].drive = channels["L4-28_qd"] - qubits[4].flux = channels["L1-24_fl"] # Not Used - channels["L1-24_fl"].qubit = qubits[4] - - instruments = {controller.name: controller, local_oscillator.name: local_oscillator} - settings = load_settings(runcard) - instruments = load_instrument_settings(runcard, instruments) - return Platform( - str(FOLDER), qubits, pairs, instruments, settings, resonator_type="2D" - ) From ba0c82ddcf0da15f95452b0e994a8a2e4347f3fb Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 10:59:13 +0000 Subject: [PATCH 17/17] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tii3q98_zcu111/parameters.json | 4 ++-- tii3q98_zcu111/platform.py | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/tii3q98_zcu111/parameters.json b/tii3q98_zcu111/parameters.json index f9be39e8..72798677 100644 --- a/tii3q98_zcu111/parameters.json +++ b/tii3q98_zcu111/parameters.json @@ -14,7 +14,7 @@ [ 1, 2 - ], + ], [ 2, 3 @@ -114,7 +114,7 @@ "qubit": 1 } ] - }, + }, "2-3": { "CZ": [ { diff --git a/tii3q98_zcu111/platform.py b/tii3q98_zcu111/platform.py index a47851c5..93c1b9db 100644 --- a/tii3q98_zcu111/platform.py +++ b/tii3q98_zcu111/platform.py @@ -50,7 +50,6 @@ def create(): channels |= Channel("L4-32_qd", port=controller.ports(4)) # drive dac4 channels |= Channel("L1-23_fl", port=controller.ports(1)) # Not Usedflux dac1 - # Readout local oscillator local_oscillator = SGS100A(name="LO", address=LO_ADDRESS) channels["L3-28_ro"].local_oscillator = local_oscillator @@ -76,8 +75,6 @@ def create(): qubits[3].flux = channels["L1-23_fl"] # Not Used channels["L1-23_fl"].qubit = qubits[3] - - instruments = {controller.name: controller, local_oscillator.name: local_oscillator} settings = load_settings(runcard) instruments = load_instrument_settings(runcard, instruments)