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 [ ]:
Content source: QudevETH/PycQED_py3
Similar notebooks: