Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision |
language:langs:dflow [2024/01/07 16:24] – [Clusters and Ordering] rajit | language:langs:dflow [2024/07/22 17:54] (current) – [Function] rajit |
---|
===== Function ===== | ===== Function ===== |
| |
The syntax shown above corresponds to the //function// dataflow block. A function dataflow element receives one input token on each of its input channels, computes a function of the values received, and produces one output token with the value computed. The example above shows the function syntax. The left hand side of the arrow is a channel expression that corresponds to the function being computed, and the right hand side is the name of the channel on which the output is produced. | The syntax shown in the first example above corresponds to the //function// dataflow block. A function dataflow element receives one input token on each of its input channels, computes a function of the values received, and produces one output token with the value computed. The example above shows the function syntax. The left hand side of the arrow is a channel expression that corresponds to the function being computed, and the right hand side is the name of the channel on which the output is produced. |
| |
===== Split ===== | ===== Split ===== |
<code act> | <code act> |
dataflow { | dataflow { |
{c = 0 ? 1 : 0} A -> X, Y | {c = 0 ? 0 : 1} A -> X, Y |
} | } |
</code> | </code> |
<code act> | <code act> |
dataflow { | dataflow { |
c = 0 ? 1 : 0 -> ctrl; | c = 0 ? 0 : 1 -> ctrl; |
{ctrl} A -> X, Y | {ctrl} A -> X, Y |
} | } |
} | } |
</code> | </code> |
The fact that ''a'' is used twice on the left hand side implies that there will be a token copy circuit introduced. Note also that semicolon is used as a separator, like in the CHP language. | The fact that ''a'' is used twice on the left hand side implies that there will be a token copy circuit introduced. Note also that semicolon is used as a separator, so there is no semicolon after the last dataflow statement in the block. |
| |
In pipelined circuits, it is important to be able to introduce slack to optimize performance. The syntax for this is the following: | In pipelined circuits, it is important to be able to introduce slack to optimize performance. The syntax for this is the following: |