DiCarloLab-Delft / PycQED_py3

Python3 version of PycQED using QCoDeS as backend
MIT License
70 stars 41 forks source link

AWG8 and UHFQC sequence uploading interferes #348

Closed AdriaanRol closed 7 years ago

AdriaanRol commented 7 years ago

The qubit object prepare for timedomain loads pulses both on the UHFQC and on the AWG8. Whenever this is called the first compilation on the UFHQC always fails (as described in #342 ). After that the microwave pulses get loaded on the AWG8. Here no error is raised and the program is assumed to be correct. It turns out the program is not correct. This can be solved by (only) uploading the program to the AWG8 again.

Below is a codesnippet of code that works (and comments on where it fails) as well as 2 screenshots of the expected output and the output we get.

# This is the content of prepare for readout
QL._prep_ro_instantiate_detectors()
QL._prep_ro_sources()
QL._prep_ro_pulse()  # here the UFHQC pulses are uploaded and the cell crashes the first time
QL._prep_ro_integration_weights()

QL._prep_td_sources()
QL._prep_mw_pulses()                                   # here the waveforms are incorrect
AWG8_8008.upload_codeword_program()  # by adding this line the output is as expected

It appears that th eproblem is caused by interference between the AWG8 and UHFQC LabOne interfaces.

Correct (expected) output image Incorrect output image

AdriaanRol commented 7 years ago

This potentially got resolved in the latest software update. I still need to test wether I can get rid of the workaround (that involved loading everything twice).