Ejemplo n.º 1
0
#Can be done in YAML
# instr_ddg = DDG_DG645('ddg_real')
# new_exp.add_instrument(instr_ddg)

#Ideally, the length and polarity are set to default values in the drivers via the YAML file - i.e. just set TrigPulseDelay
ddg_module = DDG(new_exp._station.load_pulser())
ddg_module.get_trigger_output('AB').TrigPulseLength = 50e-9
ddg_module.get_trigger_output('AB').TrigPolarity = 1
ddg_module.get_trigger_output('AB').TrigPulseDelay = 10e-9
ddg_module.get_trigger_output('CD').TrigPulseLength = 100e-9
ddg_module.get_trigger_output('CD').TrigPulseDelay = 50e-9
ddg_module.get_trigger_output('CD').TrigPolarity = 1
ddg_module.get_trigger_output('EF').TrigPulseLength = 400e-9
ddg_module.get_trigger_output('EF').TrigPulseDelay = 250e-9
ddg_module.get_trigger_output('EF').TrigPolarity = 0

acq_module = ACQ(new_exp._station.load_fpgaACQ())
acq_module.NumSamples = 50
acq_module.NumSegments = 1
# acq_module.SampleRate = 1e9
# acq_module.TriggerEdge = 0
acq_module.set_trigger_source(ddg_module, 'AB')

# awg.set_trigger_source(ddg_module.get_trigger_source('A'))

tc = TimingConfiguration(1e-6, [ddg_module], [], acq_module)
# lePlot = tc.plot().show()
leData = new_exp.run(tc)
input('press <ENTER> to continue')
Ejemplo n.º 2
0
    WFS_Constant("zero1", mod_freq_qubit, 512e-9, 0.25))
awg_wfm_q2.add_waveform_segment(
    WFS_Gaussian("init2", mod_freq_qubit, 512e-9, 0.5))
awg_wfm_q2.add_waveform_segment(WFS_Constant("zero2", None, 512e-9, 0.0))
awg_wfm_q2.get_output_channel(0).marker(0).set_markers_to_segments(
    ["init", "init2"])
awg_wfm_q2.program_AWG()

#CONNECTED CHANNEL 1 of Agi1 to Input 0 of digitizer and MARKER 2 of Agi1 to Input Trg0 of digitizer

acq_module = ACQ(new_lab._station.load_M4iDigitizer())
acq_module.NumSamples = 256
acq_module.NumSegments = 1
acq_module.SampleRate = 500e6
acq_module.TriggerEdge = 1
acq_module.set_trigger_source(awg_wfm_q.get_output_channel(0).marker(1))

# awg.set_trigger_source(ddg_module.get_trigger_source('A'))

expConfig = ExperimentConfiguration(10e-6, [ddg_module],
                                    [awg_wfm_q, awg_wfm_q2], acq_module,
                                    [freq_module])
# lePlot = expConfig.plot().show()
# input('press <ENTER> to continue')

leData = expConfig.get_data()

import matplotlib.pyplot as plt
plt.plot(leData[0][0])
plt.show()
Ejemplo n.º 3
0
ddg_module.get_trigger_output('B').TrigPulseLength = 100e-9
ddg_module.get_trigger_output('B').TrigPulseDelay = 50e-9
ddg_module.get_trigger_output('B').TrigPolarity = 1
ddg_module.get_trigger_output('C').TrigPulseLength = 400e-9
ddg_module.get_trigger_output('C').TrigPulseDelay = 250e-9
ddg_module.get_trigger_output('C').TrigPolarity = 0

temp_config = ddg_module._get_current_config()
ddg_module.get_trigger_output('C').TrigPolarity = 1
ddg_module._set_current_config(temp_config, instr_ddg)

acq_module = ACQ(instr_acq)
acq_module.NumSamples = 50
acq_module.SampleRate = 1e9
acq_module.InputTriggerEdge = 0
acq_module.set_trigger_source(ddg_module.get_trigger_output('B'))

mod_freq1 = WM_SinusoidalIQ("FreqMod 1", 100e6)
mod_freq2 = WM_SinusoidalIQ("FreqMod 2", 50e6)
#
awg_wfm2 = WaveformAWG("Waveform 2", [(instr_awg, 'CH3'), (instr_awg, 'CH4')],
                       1e9)
awg_wfm2.add_waveform_segment(WFS_Gaussian("init", mod_freq1, 75e-9, 1.0))
awg_wfm2.add_waveform_segment(WFS_Constant("pad1", None, 45e-9, 0.5))
awg_wfm2.add_waveform_segment(WFS_Constant("hold", None, 45e-9, 0.5))
awg_wfm2.add_waveform_segment(WFS_Gaussian("pulse", None, 75e-9, 1.0))
awg_wfm2.add_waveform_segment(WFS_Constant("pad2", mod_freq2, 45e-9, 0.5))
awg_wfm2.add_waveform_segment(WFS_Constant("read", None, 150e-9, 0.0))
awg_wfm2.get_output_channel(0).Amplitude = 1.0
awg_wfm2.get_output_channel(0).marker(0).set_markers_to_segments(
    ["pad1", "pad2"])