Acquire

class Acquire(duration, channel=None, mem_slot=None, reg_slots=None, mem_slots=None, reg_slot=None, kernel=None, discriminator=None, name=None)[source]

The Acquire instruction is used to trigger the ADC associated with a particular qubit; e.g. instantiated with AcquireChannel(0), the Acquire command will trigger data collection for the channel associated with qubit 0 readout. This instruction also provides acquisition metadata:

  • the number of cycles during which to acquire (in terms of dt),

  • the register slot to store classified, intermediary readout results,

  • the memory slot to return classified results,

  • the kernel to integrate raw data for each shot, and

  • the discriminator to classify kerneled IQ points.

Create a new Acquire instruction.

Parameters
  • duration (int) – Length of time to acquire data in terms of dt.

  • channel (Union[AcquireChannel, List[AcquireChannel], None]) – The channel that will acquire data.

  • mem_slot (Union[MemorySlot, List[MemorySlot], None]) – The classical memory slot in which to store the classified readout result.

  • mem_slots (Optional[List[MemorySlot]]) – Deprecated list form of mem_slot.

  • reg_slots (Union[RegisterSlot, List[RegisterSlot], None]) – Deprecated list form of reg_slot.

  • reg_slot (Optional[RegisterSlot]) – The fast-access register slot in which to store the classified readout result for fast feedback.

  • kernel (Optional[Kernel]) – A Kernel for integrating raw data.

  • discriminator (Optional[Discriminator]) – A Discriminator for discriminating kerneled IQ data into 0/1 results.

  • name (Optional[str]) – Name of the instruction for display purposes.

Raises

PulseError – If channels are supplied, and the number of register and/or memory slots does not equal the number of channels.

Attributes

Acquire.acquire

Acquire channel to acquire data.

Acquire.acquires

Acquire channels to be acquired on.

Acquire.channel

Return the Channel that this instruction is scheduled on.

Acquire.channels

Returns channels that this schedule uses.

Acquire.command

The associated command.

Acquire.discriminator

Return discrimination settings.

Acquire.duration

Duration of this instruction.

Acquire.id

Unique identifier for this instruction.

Acquire.instructions

Iterable for getting instructions from Schedule tree.

Acquire.kernel

Return kernel settings.

Acquire.mem_slot

The classical memory slot which will store the classified readout result.

Acquire.mem_slots

MemorySlots.

Acquire.name

Name of this instruction.

Acquire.operands

Return instruction operands.

Acquire.reg_slot

The fast-access register slot which will store the classified readout result for fast-feedback computation.

Acquire.reg_slots

RegisterSlots.

Acquire.start_time

Relative begin time of this instruction.

Acquire.stop_time

Relative end time of this instruction.

Acquire.timeslots

Occupied time slots by this instruction.

Methods

Acquire.__call__([channel, mem_slot, …])

Return new Acquire that is fully instantiated with its channels.

Acquire.append(schedule[, name])

Return a new Schedule with schedule inserted at the maximum time over all channels shared between self and schedule.

Acquire.ch_duration(*channels)

Return duration of the supplied channels in this Instruction.

Acquire.ch_start_time(*channels)

Return minimum start time for supplied channels.

Acquire.ch_stop_time(*channels)

Return maximum start time for supplied channels.

Acquire.draw([dt, style, filename, …])

Plot the instruction.

Acquire.flatten()

Return itself as already single instruction.

Acquire.insert(start_time, schedule[, name])

Return a new Schedule with schedule inserted within self at start_time.

Acquire.shift(time[, name])

Return a new schedule shifted forward by time.

Acquire.union(*schedules[, name])

Return a new schedule which is the union of self and schedule.