English
Languages
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

TimeBlockade

class TimeBlockade(duration, channel, name=None)[source]

Bases: qiskit.pulse.instructions.directives.Directive

Pulse TimeBlockade directive.

This instruction is intended to be used internally within the pulse builder, to convert Schedule into ScheduleBlock. Because ScheduleBlock cannot take an absolute instruction time interval, this directive helps the block representation to find the starting time of an instruction.

Example

This schedule plays constant pulse at t0 = 120.

schedule = Schedule()
schedule.insert(120, Play(Constant(10, 0.1), DriveChannel(0)))

This schedule block is expected to be identical to above at a time of execution.

block = ScheduleBlock()
block.append(TimeBlockade(120, DriveChannel(0)))
block.append(Play(Constant(10, 0.1), DriveChannel(0)))

Such conversion may be done by

from qiskit.pulse.transforms import block_to_schedule, remove_directives

schedule = remove_directives(block_to_schedule(block))

Note

The TimeBlockade instruction behaves almost identically to Delay instruction. However, the TimeBlockade is just a compiler directive and must be removed before execution. This may be done by remove_directives() transform. Once these directives are removed, occupied timeslots are released and user can insert another instruction without timing overlap.

Create a time blockade directive.

Parameters
  • duration (int) – Length of time of the occupation in terms of dt.

  • channel (Channel) – The channel that will be the occupied.

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

Methods

append

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

ch_duration

Return duration of the supplied channels in this Instruction.

ch_start_time

Return minimum start time for supplied channels.

ch_stop_time

Return maximum start time for supplied channels.

draw

Plot the instruction.

insert

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

is_parameterized

Return True iff the instruction is parameterized.

shift

Return a new schedule shifted forward by time.

Attributes

channel

Return the Channel that this instruction is scheduled on.

Return type

Channel

channels

Returns the channels that this schedule uses.

Return type

Tuple[Channel]

duration

Duration of this instruction.

Return type

int

id

Unique identifier for this instruction.

Return type

int

instructions

Iterable for getting instructions from Schedule tree.

Return type

Tuple[Tuple[int, Instruction]]

name

Name of this instruction.

Return type

str

operands

Return instruction operands.

Return type

Tuple

parameters

Parameters which determine the instruction behavior.

Return type

Set

start_time

Relative begin time of this instruction.

Return type

int

stop_time

Relative end time of this instruction.

Return type

int