spinqick.core.readout_v2

Module to implement dot charge sensor readout with qick, and pauli spin blockade spin-to-charge conversion.

Attributes

MAX_GAIN

DEFAULT_SPAM_NAMES

Functions

init_dcs(prog, cfg[, mode])

Initialize DCS generator and readout channel.

readout_dcs(prog, cfg[, mode])

Basic dcs readout.

program_spam_step_waveforms(prog, cfg, step)

Program waveforms for a given spam step.

program_spam_waveforms(prog, cfg)

Iterate through each spam step and program waveforms.

play_spam_step(prog, cfg, step[, pause])

Iterate through spam gates and play pulse.

setup_spam_gens(prog, cfg)

Declare all generators in the spam sequence.

init_spam_point_sweep(prog, cfg, sweep_step, gx_gen, ...)

Declares generators and program waveforms for a 2D sweep of a spam point. The user can

init_point_multisweep(prog, cfg, sweep_step, gx_gens, ...)

Declare generators and program waveforms for a 2D sweep of a spam point. This is used for

init_psb(prog, cfg)

Initialize pauli spin blockade readout in a qickprogram.

psb_fm(prog, spam_cfg, dcs_cfg)

Plays flush and measure spam steps.

psb_f11(prog, spam_cfg)

Plays flush, entry_20 and exit_11 steps.

psb_fe(prog, spam_cfg)

Plays flush, entry_20 and exit_11 steps, then pulse to idle.

psb_em(prog, spam_cfg, dcs_cfg)

Plays entry_11 and measurement coordinates.

Module Contents

spinqick.core.readout_v2.MAX_GAIN = 32765
spinqick.core.readout_v2.DEFAULT_SPAM_NAMES = ['flush', 'idle', 'entry_20', 'entry_11', 'exit_11', 'meas']
spinqick.core.readout_v2.init_dcs(prog, cfg, mode='sd_chop')

Initialize DCS generator and readout channel.

Parameters:
spinqick.core.readout_v2.readout_dcs(prog, cfg, mode='sd_chop')

Basic dcs readout.

Plays an AC signal and triggers the ADC to read out the signal.

Parameters:
spinqick.core.readout_v2.program_spam_step_waveforms(prog, cfg, step)

Program waveforms for a given spam step.

Parameters:
spinqick.core.readout_v2.program_spam_waveforms(prog, cfg)

Iterate through each spam step and program waveforms.

Parameters:
spinqick.core.readout_v2.play_spam_step(prog, cfg, step, pause=True)

Iterate through spam gates and play pulse.

Parameters:
spinqick.core.readout_v2.setup_spam_gens(prog, cfg)

Declare all generators in the spam sequence.

Parameters:
spinqick.core.readout_v2.init_spam_point_sweep(prog, cfg, sweep_step, gx_gen, gy_gen, x_sweep, y_sweep)

Declares generators and program waveforms for a 2D sweep of a spam point. The user can specify a sweep over any two gates which are defined in their spam sequence for that point.

Parameters:
  • sweep_step (str) – the name of the spam step which will be swept.

  • gx_gen (int) – the generator whose voltage is being swept on the x-axis

  • gy_gen (int) – the generator whose voltage is being swept on the y-axis

  • x_sweep (qick.asm_v2.QickParam) – QickParam object describing the x-axis sweep

  • y_sweep (qick.asm_v2.QickParam) – QickParam object describing the y-axis sweep

  • prog (qick.asm_v2.QickProgramV2)

  • cfg (spinqick.models.spam_models.DefaultSpamDac)

spinqick.core.readout_v2.init_point_multisweep(prog, cfg, sweep_step, gx_gens, gy_gens, x_sweeps, y_sweeps, pulse_length=None)

Declare generators and program waveforms for a 2D sweep of a spam point. This is used for the measurement window scan code, as it allows you to sweep more than one spamstep.

Parameters:
  • sweep_step (str) – the name of the spam step which will be swept.

  • gx_gens (list[int]) – the generators whose voltages are being swept on the x-axis

  • gy_gens (list[int]) – the generators whose voltages are being swept on the y-axis

  • x_sweeps (list[qick.asm_v2.QickParam]) – QickParam objects describing the x-axis sweeps

  • y_sweeps (list[qick.asm_v2.QickParam]) – QickParam objects describing the y-axis sweeps

  • pulse_length (float | None) – specify a pulse duration to store the whole pulse in waveform memory. Otherwise, plays a pulse and waits until the user pulses to idle.

  • prog (qick.asm_v2.QickProgramV2)

  • cfg (spinqick.models.spam_models.DefaultSpamDac)

spinqick.core.readout_v2.init_psb(prog, cfg)

Initialize pauli spin blockade readout in a qickprogram.

Parameters:
spinqick.core.readout_v2.psb_fm(prog, spam_cfg, dcs_cfg)

Plays flush and measure spam steps.

Parameters:
spinqick.core.readout_v2.psb_f11(prog, spam_cfg)

Plays flush, entry_20 and exit_11 steps.

Parameters:
spinqick.core.readout_v2.psb_fe(prog, spam_cfg)

Plays flush, entry_20 and exit_11 steps, then pulse to idle.

Parameters:
spinqick.core.readout_v2.psb_em(prog, spam_cfg, dcs_cfg)

Plays entry_11 and measurement coordinates.

Then plays readout_dcs, and waits for the readout to end.

Parameters: