Skip to content

Timing

Alignment

An enumeration that specifies which edges of two blocks should be aligned.

  • EndToStart — for sequential dependencies: the right edge of the LHS block is aligned with the left edge of the RHS block.

  • StartToStart — for parallel dependencies: the left edge of the LHS block is aligned with the left edge of the RHS block.

InstructionRelationship

Defines an ordering relationship between a left-hand and right-hand block.

The user can specify the type of alignment as well as the minimum and maximum allowed offset that the instruction edges can differ by.

If strict timing is required, the min and max values should be set to confine the allowed offsets between the two blocks. A null value indicates no constraint on the minimum or maximum offset.

Fields

name type description
Alignment Alignment The type of alignment to specify between the two blocks.
MinOffset Interval? The minimum allowed offset between the two aligned edges. Can be non-zero to indicate an intentional time displacement.
MaxOffset Interval? The maximum allowed offset between the two aligned edges.

Dependency

Specifies a timing dependency between two blocks.

Inherits from: Instruction

The user can specify an instruction relationship between an ordered pair (LHS and RHS) of blocks. A backend will endeavour to schedule blocks as early as possible within the constraints of all dependencies, and will return an error if no valid resolution is found.

Fields

name type description
Relationship InstructionRelationship The relationship to apply between the two blocks.
LHS Block The block that relates to the left-hand side of the alignment.
RHS Block The block that relates to the right-hand side of the alignment.