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
]
-
acquisitions:
- 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)