DevelopersHiQ / Language
HiQ Pulse
The schedule below the gates: ports, frames, waveforms and what plays when, with a unit on every time and frequency. The checker returns the schedule length; no route compiles or runs it yet.
- .qcosp
- qcos-pulse/0
- Ports, frames, waveforms and timing
- Lowers to qcos-ir/1 · check only
The working extension is .qcosp, and comments start with #. It describes the schedule itself: ports, frames, waveforms, and what plays when. It lowers to the control level of the IR (qcos-ir/1), and the check returns that document with the length of the schedule, per frame and in total. No route compiles or runs it yet, and no hardware is reached from it.
pulse rabidt 0.5 nsbits 1port d0 drive qubits 0port m0 measure qubits 0frame f0 on d0 freq 5.1 GHz phase pi/2frame r0 on m0 freq 7000 MHzwaveform g gaussian duration 40 ns amp 0.4 sigma 8 nswaveform c constant duration 20 ns amp 0.2waveform both composite g, cplay both on f0shift_phase f0 -pi/4set_frequency f0 5.2 GHzdelay 1 ns on f0, r0barriercapture r0 1 us -> 0Shapes are constant, ramp (from and to), gaussian (sigma, optional), blackman, kaiser (beta, optional), composite and sampled (re, and optional im). Every time takes ps, ns, us or ms, and every frequency Hz, kHz, MHz or GHz. Every length must be a multiple of dt, and no amplitude may pass 1.
pulse pdt 1 nswaveform w constant duration 1.5 ns amp 1