Block execution order

Only blocks with no output connectors are ordered top down by screen position. Blocks with output connectors have no screen position ordering. They are only constrained to execute before the block they connect to.

Embed enforces a top-down order of Signal Consumer block execution. Therefore, if you want to write values to a hardware register in a specific order, simply arrange hardware register Extern Write blocks from top to bottom in the desired order.

The execOrder block executes its inputs in top-down order as well. To read hardware registers in a specific order, you can wire the Extern Read block to an execOrder block to control when each Extern Read input is executed. For example, suppose you have the following configuration:

 

execOrder example

It is ambiguous when the Extern Read block is executed. To enforce the order of execution, wire the Extern Read block into an execOrder block like so:

execOrder example2

In this configuration, the Extern Read block will execute third.