Runcards

The runcards are the serialized Platform’s in the form of dictionaries.

They contain all the laboratory information, settings and parameters, concretely they contain information about the:

  • Gates transpilation

  • Instruments

  • Buses


Normally, in order to save the laboratory settings and its calibrated parameters, runcards get saved as YAML files to be retrieved later on.

Runcard dictionary structure:

Such dictionaries have the following main structure:

{
    "name": name,                                           # str
    "gates_settings": gates_settings,                       # dict
    "chip": chip,                                           # dict
    "buses": buses,                                         # list[dict]
    "instruments": instruments,                             # list[dict]
    "instrument_controllers": instrument_controllers        # list[dict]
}

Runcard YAML file example:

name: galadriel_soprano_master

gates_settings:
    timings_calculation_method: as_soon_as_possible
    reset_method: passive
    passive_reset_duration: 100
    operations: []
    gates:
        M(0):
            -   bus: feedline_bus # alias of the bus
                pulse:
                    amplitude: 1.0
                    phase: 0
                    duration: 2000
                    shape:
                        name: rectangular
        Drag(0):
            -   bus: drive_line_q0_bus
                pulse:
                    amplitude: 1.0
                    phase: 0
                    duration: 20
                    shape:
                        name: drag
                        num_sigmas: 4
                        drag_coefficient: 0.0

        M(1):
            -   bus: feedline_bus # alias of the bus
                pulse:
                    amplitude: 1.0
                    phase: 0
                    duration: 2000
                    shape:
                        name: rectangular
        Drag(1):
            -   bus: drive_line_q1_bus
                pulse:
                    amplitude: 1.0
                    phase: 0
                    duration: 20
                    shape:
                        name: drag
                        num_sigmas: 4
                        drag_coefficient: 0.0


        CZ(0,1):
            -   bus: flux_line_q0_bus
                pulse:
                    amplitude: 1.0
                    phase: 0
                    duration: 101
                    shape:
                        name: snz
                        t_phi: 1
                        b: 0.5
            -   bus: flux_line_q1_bus # park pulse
                wait_time: 20
                pulse:
                    amplitude: 1.0
                    phase: 0
                    duration: 121
                    shape:
                        name: rectangular

chip:
    nodes:
        -   name: qubit
            alias: qubit_0
            qubit_index: 0
            frequency: 4.92e+09
            nodes: [qubit_1, resonator_q0, drive_line_q0, flux_line_q0]
        -   name: qubit
            alias: qubit_1
            qubit_index: 1
            frequency: 5.0e+09
            nodes: [qubit_0, resonator_q1, drive_line_q1, flux_line_q1]
        -   name: resonator
            alias: resonator_q0
            frequency: 7.1e+09
            nodes: [qubit_0, feedline_input, feedline_output]
        -   name: resonator
            alias: resonator_q1
            frequency: 7.2e+09
            nodes: [qubit_1, feedline_input, feedline_output]
        -   name: port
            alias: drive_line_q0
            nodes: [qubit_0]
            line: drive
        -   name: port
            alias: drive_line_q1
            nodes: [qubit_1]
            line: drive
        -   name: port
            alias: flux_line_q0
            nodes: [qubit_0]
            line: flux
        -   name: port
            alias: flux_line_q1
            nodes: [qubit_1]
            line: flux
        -   name: port
            alias: feedline_input
            nodes: [resonator_q0, resonator_q1]
            line: feedline_input
        -   name: port
            alias: feedline_output
            nodes: [resonator_q0, resonator_q1]
            line: feedline_output

buses:
    - alias: feedline_bus
        system_control:
        name: readout_system_control
        instruments: [QRM1, rs_1]
        port: feedline_input
        distortions: []
    - alias: drive_line_q0_bus
        system_control:
        name: system_control
        instruments: [QCM-RF1]
        port: drive_line_q0
        distortions: []
    - alias: flux_line_q0_bus
        system_control:
        name: system_control
        instruments: [QCM1]
        port: flux_line_q0
        distortions: []
    - alias: drive_line_q1_bus
        system_control:
        name: system_control
        instruments: [QCM-RF1]
        port: drive_line_q1
        distortions: []
    - alias: flux_line_q1_bus
        system_control:
        name: system_control
        instruments: [QCM1]
        port: flux_line_q1
        distortions:
        - name: bias_tee
            tau_bias_tee: 11000
        - name: lfilter
            a:
            [
                4.46297950e-01,
                -4.74695321e-02,
                -6.35339660e-02,
                6.90858657e-03,
                7.21417336e-03,
                1.34171108e-02,
            ]
            b: [1.]
            norm_factor: 1.

instruments:
    -   name: QRM
        alias: QRM1
        firmware: 0.7.0
        num_sequencers: 2
        out_offsets: [0, 0]
        awg_sequencers:
            -   identifier: 0
                chip_port_id: feedline_input
                qubit: 0
                outputs: [0, 1]
                gain_i: .5
                gain_q: .5
                offset_i: 0
                offset_q: 0
                weights_i: [1., 1., 1., 1., 1.] # to calibrate
                weights_q: [1., 1., 1., 1., 1.] # to calibrate
                weighed_acq_enabled: False
                threshold: 0.5
                threshold_rotation: 0.0
                num_bins: 1
                intermediate_frequency: 10.e+06
                gain_imbalance: 1.
                phase_imbalance: 0
                hardware_modulation: true
                scope_acquire_trigger_mode: sequencer
                scope_hardware_averaging: true
                sampling_rate: 1.e+09
                integration_length: 2000
                integration_mode: ssb
                sequence_timeout: 1
                acquisition_timeout: 1
                hardware_demodulation: true
                scope_store_enabled: false
            -   identifier: 1
                chip_port_id: feedline_input
                qubit: 1
                outputs: [0, 1]
                gain_i: .5
                gain_q: .5
                offset_i: 0
                offset_q: 0
                weights_i: [1., 1., 1., 1., 1.] # to calibrate
                weights_q: [1., 1., 1., 1., 1.] # to calibrate
                weighed_acq_enabled: False
                threshold: 0.5
                threshold_rotation: 0.0
                num_bins: 1
                intermediate_frequency: 20.e+06
                gain_imbalance: 1.
                phase_imbalance: 0
                hardware_modulation: true
                scope_acquire_trigger_mode: sequencer
                scope_hardware_averaging: true
                sampling_rate: 1.e+09
                integration_length: 2000
                integration_mode: ssb
                sequence_timeout: 1
                acquisition_timeout: 1
                hardware_demodulation: true
                scope_store_enabled: false
    -   name: QCM-RF
        alias: QCM-RF1
        firmware: 0.7.0
        num_sequencers: 2
        out0_lo_freq: 6.5e+09
        out0_lo_en: true
        out0_att: 0
        out0_offset_path0: 0.
        out0_offset_path1: 0.0
        out1_lo_freq: 6.7e+09
        out1_lo_en: true
        out1_att: 0
        out1_offset_path0: 0.
        out1_offset_path1: 0.
        awg_sequencers:
            -   identifier: 0
                chip_port_id: drive_line_q0
                outputs: [0, 1]
                gain_i: 0.1
                gain_q: 0.1
                offset_i: 0. # -0.012
                offset_q: 0.
                num_bins: 1
                intermediate_frequency: 10.e+06
                gain_imbalance: 0.940
                phase_imbalance: 14.482
                hardware_modulation: true
            -   identifier: 1
                chip_port_id: drive_line_q1
                outputs: [2, 3]
                gain_i: 1
                gain_q: 1
                offset_i: 0
                offset_q: 0
                num_bins: 1
                intermediate_frequency: 20.e+06
                gain_imbalance: 0.5
                phase_imbalance: 0
                hardware_modulation: true
    -   name: QCM
        alias: QCM1
        firmware: 0.7.0
        num_sequencers: 2
        out_offsets: [0.0, 0.0, 0.0, 0.0]
        awg_sequencers:
            -   identifier: 0
                chip_port_id: flux_line_q0
                outputs: [0, 1]
                gain_i: 0.1
                gain_q: 0.1
                offset_i: 0.
                offset_q: 0.
                num_bins: 1
                intermediate_frequency: 10.e+06
                gain_imbalance: .5
                phase_imbalance: 0.
                hardware_modulation: true
            -   identifier: 1
                chip_port_id: flux_line_q1
                outputs: [1, 0]
                gain_i: 1
                gain_q: 1
                offset_i: 0
                offset_q: 0
                num_bins: 1
                intermediate_frequency: 0.
                gain_imbalance: 0.5
                phase_imbalance: 0
                hardware_modulation: true
    -   name: RS
        alias: rs_1
        firmware: 4.2.76.0-3.30.046.294
        power: 16
        frequency: 8.0726e+09
        rf_on: true
    -   name: mini_circuits
        alias: attenuator
        firmware: None
        attenuation: 32

instrument_controllers:
    -   name: cluster
        alias: cluster_controller_0
        reference_clock: internal
        connection:
        name: tcp_ip
        address: 192.178.1.10
        modules:
            -   alias: QRM1
                slot_id: 12
            -   alias: QCM-RF1
                slot_id: 6
            -   alias: QCM1
                slot_id: 14
            -   alias: QCM2
                slot_id: 14
    -   name: RS
        alias: RS_controller_0
        reference_clock: internal
        connection:
        name: tcp_ip
        address: 192.178.1.21
        modules:
            -   alias: rs_1
                slot_id: 0
    -   name: mini_circuits
        alias: attenuator_controller_0
        connection:
        name: tcp_ip
        address: 192.188.1.39
        modules:
            -   alias: attenuator
                slot_id: 0