Skip to content

Add QCVT: pulse schedule visualization for AveragerProgramV2 - #426

Open
DRNag2 wants to merge 4 commits into
openquantumhardware:mainfrom
DRNag2:add-qcvt
Open

Add QCVT: pulse schedule visualization for AveragerProgramV2#426
DRNag2 wants to merge 4 commits into
openquantumhardware:mainfrom
DRNag2:add-qcvt

Conversation

@DRNag2

@DRNag2 DRNag2 commented Aug 12, 2026

Copy link
Copy Markdown

Summary

  • Merge QCVT into QICK as discussed in Adding a .simulate() to the AveragerProgram class?  #229 (option 3)
  • Ships as the qcvt package (pip install "qick[qcvt]") with offline demos under qick_demos/qcvt/
  • Adds offline pytest coverage and a path-filtered CI workflow
  • Includes documented accessors on QickConfig / program classes

Notes for reviewers

  • Load-bearing program attributes currently used: macro_list, pulses, envelopes, ro_chs, loop_dict, plus gens/readouts clock/maxv fields in QickConfig

  • pip install -e ".[qcvt]" pytest

  • pytest qick_lib/qcvt/tests/ -v

  • python qick_demos/qcvt/run_offline_example.py

Addresses #229

DRNag2 and others added 2 commits August 11, 2026 23:27
Merge the standalone QCVT tool (https://github.com/DRNag2/QCVT) into QICK as
discussed in openquantumhardware#229. Ships as the qcvt package (install
via pip install "qick[qcvt]"), with offline demos, tests, and CI.
Formalize the QickConfig and asm_v2 fields QCVT needs (clocks, maxv,
macros, pulses, envelopes, ro_chs, loop_dict) so tools can depend on
methods instead of raw instance dicts.
@ttshaw1

ttshaw1 commented Aug 25, 2026

Copy link
Copy Markdown

@meeg I checked this out and can say it's definitely at a point where it'll be valuable to experimenters. There's one point that I think we should get your input on. In my lab it's "common knowledge" that arb pulses wind up with higher amplitude than const pulses for the same DAC gain. So to get continuity from an arb to a const pulse, you need to multiply the dac gain of the const by 1/sqrt(2) (and also subtract 45 degrees from its phase). This is demonstrated by the attached screenshot and code
image

arb_const_demo.py

The visualizer doesn't know about this discrepancy, and displays the programmed DAC gain. The straightforward thing to do would be to blanket apply this 1/sqrt(2) correction in the visualizer, so that the visualization in the screenshot has continuous gain rather than the discontinuities we see here. But I don't know where this correction originates from, so I don't know if that's the best idea. Do you think we should take a more nuanced approach?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants