qat.purr.backends.qblox.ir module

class Opcode(value)

Bases: Enum

An enumeration.

ACQUIRE = 'acquire'
ACQUIRE_TTL = 'acquire_ttl'
ACQUIRE_WEIGHED = 'acquire_weighed'
ADD = 'add'
ADDRESS = ''
AND = 'and'
JUMP = 'jmp'
JUMP_GREATER_EQUALS = 'jge'
JUMP_LESS_THAN = 'jlt'
LOOP = 'loop'
MOVE = 'move'
NEW_LINE = '\n'
NOP = 'nop'
NOT = 'not'
OR = 'or'
PLAY = 'play'
RESET_PHASE = 'reset_ph'
SET_AWG_GAIN = 'set_awg_gain'
SET_AWG_OFFSET = 'set_awg_offs'
SET_MARKER = 'set_mrk'
SET_NCO_FREQUENCY = 'set_freq'
SET_NCO_PHASE = 'set_ph'
SET_NCO_PHASE_OFFSET = 'set_ph_delta'
STOP = 'stop'
SUB = 'sub'
UPDATE_PARAMETERS = 'upd_param'
WAIT = 'wait'
WAIT_SYNC = 'wait_sync'
WAIT_TRIGGER = 'wait_trigger'
XOR = 'xor'
class Q1asmInstruction(opcode, *operands, comment=None)

Bases: object

class Sequence(waveforms, weights, acquisitions, program)

Bases: object

acquisitions: Dict[str, Any]
program: str
waveforms: Dict[str, Dict[str, Any]]
weights: Dict[str, Any]
class SequenceBuilder

Bases: object

High-level builder apis for sequence codegen. This includes q1asm, waveforms, weights, and acquisitions.

acquire(acq, bin, duration, comment=None)
acquire_ttl(acq, bin, enable, duration, comment=None)
acquire_weighed(acq, bin, weight_i, weight_q, duration, comment=None)
add(a, b, dest, comment=None)
add_acquisition(name, index, num_bins)
add_waveform(name, index, data)
add_weight(name, index, data)
build()
jge(a, b, address, comment=None)
jlt(a, b, address, comment=None)
jmp(address, comment=None)
label(label, comment=None)
logic_and(a, b, dest, comment=None)
logic_not(src, dest, comment=None)
logic_or(a, b, dest, comment=None)
logic_xor(a, b, dest, comment=None)
lookup_waveform_by_data(data)
loop(a, address, comment=None)
move(src, dest, comment=None)
nop(comment=None)
play(wave_i, wave_q, duration, comment=None)
reset_ph(comment=None)
set_awg_gain(gain_i, gain_q, comment=None)
set_awg_offs(offset_i, offset_q, comment=None)
set_freq(frequency, comment=None)
set_mrk(mask, comment=None)
set_ph(phase, comment=None)
set_ph_delta(phase_delta, comment=None)
stop(comment=None)
sub(a, b, dest, comment=None)
upd_param(duration, comment=None)
wait(duration, comment=None)
wait_sync(duration, comment=None)
wait_trigger(trigger, duration, comment=None)