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