BBN-Q / PyQLab

A python library for instrument control and superconducting QIP experiments.
Apache License 2.0
25 stars 11 forks source link

APS2 translator: does not correctly merge instruction streams with control flow` #90

Closed blakejohnson closed 9 years ago

blakejohnson commented 9 years ago

It is easiest to illustrate at a blackboard, but I'll try to explain it in words...

We currently take the strategy of using the minimum time stamp of control flow instructions to sort them into the correct place of the instruction stream. However, we should really treat control flow instructions (CFI) like sync instructions and guarantee that everything before/after a CFI gets put on the instruction queue before/after the CFI.

blakejohnson commented 9 years ago

To see the problem in action, use this sequence:

seq = [[MEAS(q3), Id(q3,800e-9), qwait('CMP')] \
       + qif(1,[MEAS(q3), Id(q3,800e-9), qwait('CMP'), X(q3)],\
               [MEAS(q3), Id(q3,800e-9), qwait('CMP'), X(q3)])]

And these configuration files (renamed .txt to make GitHub happy): ChannelParams.txt Instruments.txt