conditional
Module containing logic to handle conditional playback.
Module Contents
Classes
-
class ConditionalManager[source]
Class to manage a conditional control flow.
-
enable_conditional: list = [][source]
Reference to initial FEEDBACK_SET_COND instruction.
-
num_real_time_instructions: int = 0[source]
Number of real time instructions.
-
start_time: int = 0[source]
Start time of conditional playback.
-
end_time: int = 0[source]
End time of conditional playback.
-
update(operation: quantify_scheduler.backends.qblox.operation_handling.base.IOperationStrategy) → None[source]
Update the conditional manager.
- Parameters:
-
-
reset() → None[source]
Reset the conditional manager.
-
property duration: int[source]
Duration of the conditional playback.
-
class FeedbackTriggerOperator[source]
Bases: enum.Enum
Enum for feedback trigger operations.
-
OR = 0[source]
Any selected counters exceed their thresholds.
-
NOR = 1[source]
No selected counters exceed their thresholds.
-
AND = 2[source]
All selected counters exceed their thresholds.
-
NAND = 3[source]
Any selected counters do not exceed their thresholds.
-
XOR = 4[source]
An odd number of selected counters exceed their thresholds.
-
XNOR = 5[source]
An even number of selected counters exceed their thresholds.
-
class FeedbackTriggerCondition[source]
Contains all information needed to enable conditional playback.
-
enable: bool[source]
Enable/disable conditional playback.
-
operator: FeedbackTriggerOperator[source]
Specifies the logic to apply on the triggers that are selected by the mask.
See FeedbackTriggerOperator
for more information.
-
addresses: dataclasses.InitVar[Sequence[int]][source]
Sequence of trigger addresses to condition on. Addresses may
range from 1 to 15.
-
mask: int[source]
Represents a bitwise mask in base-10. It dictates which trigger addresses
will be monitored. For example, to track addresses 0 and 3, the mask would
be 1001 in binary, which is 17 in base-10. This mask together with the
operator will determine the conditional operation.