In [1]:
from pycqed.instrument_drivers.physical_instruments.ZurichInstruments import ZI_HDAWG8
AWG8_8003 = ZI_HDAWG8.ZI_HDAWG8('AWG8_8003', device='dev8003')


Connecting to server on host localhost:8004 using API level 5
Trying to connect to device dev8003
Connected to device dev8003 over 1GbE
Initialized awgModule
Initialized scopeModule
Connected to: ZurichInstruments HDAWG8 (serial:dev8003, firmware:46232) in 1.50s

In [4]:
# Run this to create the parameter JSON files. 
# AWG8_8003.create_parameter_files()

In [5]:
# Getting all parameters currently takes several mins, this will be improved in the future
AWG8_8003.print_readable_snapshot(update=True)


AWG8_8003:
	parameter                        value
--------------------------------------------------------------------------------
IDN                               :	{'firmware': 46232, 'fpga_firmware': 4623...
awgs_0_auxtriggers_0_channel      :	0 
awgs_0_auxtriggers_0_slope        :	0 
awgs_0_auxtriggers_0_state        :	0 
awgs_0_auxtriggers_1_channel      :	0 
awgs_0_auxtriggers_1_slope        :	0 
awgs_0_auxtriggers_1_state        :	0 
awgs_0_auxtriggers_2_channel      :	0 
awgs_0_auxtriggers_2_slope        :	0 
awgs_0_auxtriggers_2_state        :	0 
awgs_0_auxtriggers_3_channel      :	0 
awgs_0_auxtriggers_3_slope        :	0 
awgs_0_auxtriggers_3_state        :	0 
awgs_0_elf_checksum               :	0 
awgs_0_elf_data                   :	[{'timestamp': 35775757230, 'vector': arr...
awgs_0_elf_memoryusage            :	7.7561e-06 
awgs_0_elf_name                   :	[{'timestamp': 35863007228, 'vector': 'aw...
awgs_0_enable                     :	1 
awgs_0_outputs_0_amplitude        :	0.31831 
awgs_0_outputs_0_enables_0        :	1 
awgs_0_outputs_0_enables_1        :	0 
awgs_0_outputs_0_enables_2        :	0 
awgs_0_outputs_0_enables_3        :	0 
awgs_0_outputs_0_enables_4        :	0 
awgs_0_outputs_0_enables_5        :	0 
awgs_0_outputs_0_enables_6        :	0 
awgs_0_outputs_0_enables_7        :	0 
awgs_0_outputs_0_mode             :	0 
awgs_0_outputs_1_amplitude        :	0.31831 
awgs_0_outputs_1_enables_0        :	0 
awgs_0_outputs_1_enables_1        :	0 
awgs_0_outputs_1_enables_2        :	0 
awgs_0_outputs_1_enables_3        :	0 
awgs_0_outputs_1_enables_4        :	0 
awgs_0_outputs_1_enables_5        :	0 
awgs_0_outputs_1_enables_6        :	0 
awgs_0_outputs_1_enables_7        :	0 
awgs_0_outputs_1_mode             :	0 
awgs_0_outputs_2_amplitude        :	0.31831 
awgs_0_outputs_2_enables_0        :	0 
awgs_0_outputs_2_enables_1        :	0 
awgs_0_outputs_2_enables_2        :	0 
awgs_0_outputs_2_enables_3        :	0 
awgs_0_outputs_2_enables_4        :	0 
awgs_0_outputs_2_enables_5        :	0 
awgs_0_outputs_2_enables_6        :	0 
awgs_0_outputs_2_enables_7        :	0 
awgs_0_outputs_2_mode             :	1 
awgs_0_outputs_3_amplitude        :	0.31831 
awgs_0_outputs_3_enables_0        :	0 
awgs_0_outputs_3_enables_1        :	0 
awgs_0_outputs_3_enables_2        :	0 
awgs_0_outputs_3_enables_3        :	0 
awgs_0_outputs_3_enables_4        :	0 
awgs_0_outputs_3_enables_5        :	0 
awgs_0_outputs_3_enables_6        :	0 
awgs_0_outputs_3_enables_7        :	0 
awgs_0_outputs_3_mode             :	0 
awgs_0_ready                      :	1 
awgs_0_sequencer_assembly         :	[{'timestamp': 35857967233, 'vector': '\t...
awgs_0_sequencer_continue         :	0 
awgs_0_sequencer_memoryusage      :	0.0087891 
awgs_0_sequencer_next             :	0 
awgs_0_sequencer_pc               :	8 
awgs_0_sequencer_program          :	[{'timestamp': 35841487229, 'vector': '\n...
awgs_0_sequencer_status           :	5 
awgs_0_single                     :	0 
awgs_0_sweep_awgtrigs_0           :	0 
awgs_0_sweep_awgtrigs_1           :	0 
awgs_0_sweep_awgtrigs_2           :	0 
awgs_0_sweep_awgtrigs_3           :	0 
awgs_0_time                       :	3 
awgs_0_userregs_0                 :	3 
awgs_0_userregs_1                 :	3 
awgs_0_userregs_10                :	3 
awgs_0_userregs_11                :	3 
awgs_0_userregs_12                :	3 
awgs_0_userregs_13                :	3 
awgs_0_userregs_14                :	3 
awgs_0_userregs_15                :	3 
awgs_0_userregs_2                 :	3 
awgs_0_userregs_3                 :	3 
awgs_0_userregs_4                 :	3 
awgs_0_userregs_5                 :	3 
awgs_0_userregs_6                 :	3 
awgs_0_userregs_7                 :	3 
awgs_0_userregs_8                 :	3 
awgs_0_userregs_9                 :	3 
awgs_0_waveform_data              :	[{'timestamp': 35798597227, 'vector': arr...
awgs_0_waveform_descriptors       :	[{'timestamp': 35876507237, 'vector': '{"...
awgs_0_waveform_index             :	0 
awgs_0_waveform_memoryusage       :	0.011719 
awgs_1_auxtriggers_3_channel      :	0 
awgs_1_auxtriggers_3_slope        :	0 
awgs_1_auxtriggers_3_state        :	0 
awgs_1_elf_checksum               :	0 
awgs_1_elf_data                   :	[{'timestamp': 35808087230, 'vector': arr...
awgs_1_elf_memoryusage            :	0 
awgs_1_elf_name                   :	[{'timestamp': 35797837229, 'vector': ''}] 
awgs_1_enable                     :	0 
awgs_1_ready                      :	0 
awgs_1_sequencer_assembly         :	[{'timestamp': 35861767229, 'vector': ''}] 
awgs_1_sequencer_continue         :	0 
awgs_1_sequencer_memoryusage      :	0 
awgs_1_sequencer_next             :	0 
awgs_1_sequencer_pc               :	0 
awgs_1_sequencer_program          :	[{'timestamp': 35811827232, 'vector': ''}] 
awgs_1_sequencer_status           :	0 
awgs_1_single                     :	0 
awgs_1_sweep_awgtrigs_0           :	0 
awgs_1_sweep_awgtrigs_1           :	0 
awgs_1_sweep_awgtrigs_2           :	0 
awgs_1_sweep_awgtrigs_3           :	0 
awgs_1_time                       :	3 
awgs_1_userregs_0                 :	3 
awgs_1_userregs_1                 :	3 
awgs_1_userregs_10                :	3 
awgs_1_userregs_11                :	3 
awgs_1_userregs_12                :	3 
awgs_1_userregs_13                :	3 
awgs_1_userregs_14                :	3 
awgs_1_userregs_15                :	3 
awgs_1_userregs_2                 :	3 
awgs_1_userregs_3                 :	3 
awgs_1_userregs_4                 :	3 
awgs_1_userregs_5                 :	3 
awgs_1_userregs_6                 :	3 
awgs_1_userregs_7                 :	3 
awgs_1_userregs_8                 :	3 
awgs_1_userregs_9                 :	3 
awgs_1_waveform_data              :	[{'timestamp': 35834527230, 'vector': arr...
awgs_1_waveform_descriptors       :	[{'timestamp': 35799557231, 'vector': ''}] 
awgs_1_waveform_index             :	0 
awgs_1_waveform_memoryusage       :	0 
awgs_2_auxtriggers_3_channel      :	0 
awgs_2_auxtriggers_3_slope        :	0 
awgs_2_auxtriggers_3_state        :	0 
awgs_2_elf_checksum               :	0 
awgs_2_elf_data                   :	[{'timestamp': 35879767227, 'vector': arr...
awgs_2_elf_memoryusage            :	0 
awgs_2_elf_name                   :	[{'timestamp': 35765777229, 'vector': ''}] 
awgs_2_enable                     :	0 
awgs_2_ready                      :	0 
awgs_2_sequencer_assembly         :	[{'timestamp': 35830567229, 'vector': ''}] 
awgs_2_sequencer_continue         :	0 
awgs_2_sequencer_memoryusage      :	0 
awgs_2_sequencer_next             :	0 
awgs_2_sequencer_pc               :	0 
awgs_2_sequencer_program          :	[{'timestamp': 35833807230, 'vector': ''}] 
awgs_2_sequencer_status           :	0 
awgs_2_single                     :	0 
awgs_2_sweep_awgtrigs_0           :	0 
awgs_2_sweep_awgtrigs_1           :	0 
awgs_2_sweep_awgtrigs_2           :	0 
awgs_2_sweep_awgtrigs_3           :	0 
awgs_2_time                       :	3 
awgs_2_userregs_0                 :	3 
awgs_2_userregs_1                 :	3 
awgs_2_userregs_10                :	3 
awgs_2_userregs_11                :	3 
awgs_2_userregs_12                :	3 
awgs_2_userregs_13                :	3 
awgs_2_userregs_14                :	3 
awgs_2_userregs_15                :	3 
awgs_2_userregs_2                 :	3 
awgs_2_userregs_3                 :	3 
awgs_2_userregs_4                 :	3 
awgs_2_userregs_5                 :	3 
awgs_2_userregs_6                 :	3 
awgs_2_userregs_7                 :	3 
awgs_2_userregs_8                 :	3 
awgs_2_userregs_9                 :	3 
awgs_2_waveform_data              :	[{'timestamp': 35866027228, 'vector': arr...
awgs_2_waveform_descriptors       :	[{'timestamp': 35847497562, 'vector': ''}] 
awgs_2_waveform_index             :	0 
awgs_2_waveform_memoryusage       :	0 
awgs_3_auxtriggers_3_channel      :	0 
awgs_3_auxtriggers_3_slope        :	0 
awgs_3_auxtriggers_3_state        :	0 
awgs_3_elf_checksum               :	0 
awgs_3_elf_data                   :	[{'timestamp': 35859967229, 'vector': arr...
awgs_3_elf_memoryusage            :	0 
awgs_3_elf_name                   :	[{'timestamp': 35767957228, 'vector': ''}] 
awgs_3_enable                     :	0 
awgs_3_ready                      :	0 
awgs_3_sequencer_assembly         :	[{'timestamp': 35853997231, 'vector': ''}] 
awgs_3_sequencer_continue         :	0 
awgs_3_sequencer_memoryusage      :	0 
awgs_3_sequencer_next             :	0 
awgs_3_sequencer_pc               :	0 
awgs_3_sequencer_program          :	[{'timestamp': 35780357232, 'vector': ''}] 
awgs_3_sequencer_status           :	0 
awgs_3_single                     :	0 
awgs_3_sweep_awgtrigs_0           :	0 
awgs_3_sweep_awgtrigs_1           :	0 
awgs_3_sweep_awgtrigs_2           :	0 
awgs_3_sweep_awgtrigs_3           :	0 
awgs_3_time                       :	3 
awgs_3_userregs_0                 :	3 
awgs_3_userregs_1                 :	3 
awgs_3_userregs_10                :	3 
awgs_3_userregs_11                :	3 
awgs_3_userregs_12                :	3 
awgs_3_userregs_13                :	3 
awgs_3_userregs_14                :	3 
awgs_3_userregs_15                :	3 
awgs_3_userregs_2                 :	3 
awgs_3_userregs_3                 :	3 
awgs_3_userregs_4                 :	3 
awgs_3_userregs_5                 :	3 
awgs_3_userregs_6                 :	3 
awgs_3_userregs_7                 :	3 
awgs_3_userregs_8                 :	3 
awgs_3_userregs_9                 :	3 
awgs_3_waveform_data              :	[{'timestamp': 35872767229, 'vector': arr...
awgs_3_waveform_descriptors       :	[{'timestamp': 35818267233, 'vector': ''}] 
awgs_3_waveform_index             :	0 
awgs_3_waveform_memoryusage       :	0 
raw_sigouts_0_mode                :	0 
raw_sigouts_1_mode                :	0 
raw_sigouts_6_mode                :	0 
raw_sigouts_7_mode                :	0 
sigouts_0_amplitudes_0            :	1 
sigouts_0_amplitudes_1            :	1 
sigouts_0_delay                   :	0 
sigouts_0_enables_0               :	0 
sigouts_0_enables_1               :	0 
sigouts_0_offset                  :	0 
sigouts_0_on                      :	1 
sigouts_1_amplitudes_0            :	0.31831 
sigouts_1_amplitudes_1            :	0.31831 
sigouts_1_delay                   :	0 
sigouts_1_enables_0               :	0 
sigouts_1_enables_1               :	0 
sigouts_1_offset                  :	0 
sigouts_1_on                      :	1 
sigouts_2_amplitudes_0            :	0.31831 
sigouts_2_amplitudes_1            :	0.31831 
sigouts_2_delay                   :	0 
sigouts_2_enables_0               :	0 
sigouts_2_enables_1               :	0 
sigouts_2_offset                  :	0 
sigouts_2_on                      :	1 
sigouts_3_amplitudes_0            :	0.31831 
sigouts_3_amplitudes_1            :	0.31831 
sigouts_3_delay                   :	0 
sigouts_3_enables_0               :	0 
sigouts_3_enables_1               :	0 
sigouts_3_offset                  :	0 
sigouts_3_on                      :	1 
sigouts_4_amplitudes_0            :	0.31831 
sigouts_4_amplitudes_1            :	0.31831 
sigouts_4_delay                   :	0 
sigouts_4_enables_0               :	0 
sigouts_4_enables_1               :	0 
sigouts_4_offset                  :	0 
sigouts_4_on                      :	1 
sigouts_5_amplitudes_0            :	0.31831 
sigouts_5_amplitudes_1            :	0.31831 
sigouts_5_delay                   :	0 
sigouts_5_enables_0               :	0 
sigouts_5_enables_1               :	0 
sigouts_5_offset                  :	0 
sigouts_5_on                      :	1 
sigouts_6_amplitudes_0            :	0.31831 
sigouts_6_amplitudes_1            :	0.31831 
sigouts_6_delay                   :	0 
sigouts_6_enables_0               :	0 
sigouts_6_enables_1               :	0 
sigouts_6_offset                  :	0 
sigouts_6_on                      :	1 
sigouts_7_amplitudes_0            :	0.31831 
sigouts_7_amplitudes_1            :	0.31831 
sigouts_7_delay                   :	0 
sigouts_7_enables_0               :	0 
sigouts_7_enables_1               :	0 
sigouts_7_offset                  :	0 
sigouts_7_on                      :	1 
system_activeinterface            :	None 
system_boardrevisions_0           :	None 
system_boardrevisions_1           :	None 
system_calib_auto                 :	0 
system_calib_calibrate            :	0 
system_calib_next                 :	0 
system_calib_required             :	0 
system_calib_tempthreshold        :	0 
system_calib_timeinterval         :	0 
system_extclk                     :	0 
system_fpgarevision               :	46232 
system_fwlogenable                :	0 
system_fwrevision                 :	46232 
system_fx3revision                :	None 
system_jumbo                      :	0 
system_owner                      :	None 
system_porttcp                    :	0 
system_portudp                    :	0 
system_powerconfigdate            :	0 
system_properties_freqresolution  :	48 
system_properties_freqscaling     :	4.6912e+06 
system_properties_maxfreq         :	9e+08 
system_properties_maxtimeconstant :	100 
system_properties_minfreq         :	0 
system_properties_mintimeconstant :	1e-06 
system_properties_negativefreq    :	0 
system_properties_timebase        :	1.6667e-08 
system_saveports                  :	0 
system_stall                      :	0 
timeout                           :	10 (s)

In [6]:
# Set the outputs to max (what units?)
AWG8_8003.sigouts_0_amplitudes_0(1)
AWG8_8003.sigouts_0_amplitudes_1(1)

In [60]:
# Configure one of the AWGs with a simple program
program_a = '''
wave w = -0.5*join(ones(128), blackman(128, 1, 0.2), -ones(128));
while (1) {
    playWave(-ones(128));
    playWave(ones(128));
    playWave(zeros(128));
    playWave(2, -ones(128));
    playWave(2, ones(128));
    playWave(2, zeros(128));
}'''

program_b = '''
wave w = -0.5*join(ones(128), blackman(128, 1, 0.2), -ones(128));
while (1) {
  playWave(w, w);
}'''

AWG8_8003.configure_awg_from_string(program_a) # To be made a public method
#AWG8_8003.configure_awg_from_string(program_b) # To be made a public method

In [61]:
# Start the AWG and turn on signal outputs 0 and 1 
for i in range(8): 
    AWG8_8003.set('sigouts_{}_enables_0'.format(i), 0)
    AWG8_8003.set('sigouts_{}_enables_1'.format(i), 0)
AWG8_8003.awgs_0_enable(1)
AWG8_8003.sigouts_0_on(1)
AWG8_8003.sigouts_1_on(1)

In [13]:
AWG8_8003.raw_sigouts_0_mode(1)
AWG8_8003.raw_sigouts_1_mode(1)

In [39]:
# The offset functionality is currently broken. 
AWG8_8003._dev.setd('sigouts/0/offset', 1)
AWG8_8003._dev.geti('sigouts/0/offset')


Out[39]:
2.2420775429197073e-44

In [54]:
for i in range(8):
    AWG8_8003.set('sigouts_{}_on'.format(i), 1)

In [ ]: