Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| language:langs:dflow [2023/04/09 23:46] – [Clusters and Ordering] rajit | language:langs:dflow [2024/07/22 17:54] (current) – [Function] rajit | ||
|---|---|---|---|
| Line 26: | Line 26: | ||
| ===== Function ===== | ===== Function ===== | ||
| - | The syntax shown above corresponds to the // | + | The syntax shown in the first example |
| ===== Split ===== | ===== Split ===== | ||
| Line 57: | Line 57: | ||
| <code act> | <code act> | ||
| dataflow { | dataflow { | ||
| - | {c = 0 ? 1 : 0} A -> X, Y | + | {c = 0 ? 0 : 1} A -> X, Y |
| } | } | ||
| </ | </ | ||
| Line 64: | Line 64: | ||
| < | < | ||
| dataflow { | dataflow { | ||
| - | c = 0 ? 1 : 0 -> ctrl; | + | c = 0 ? 0 : 1 -> ctrl; |
| {ctrl} A -> X, Y | {ctrl} A -> X, Y | ||
| } | } | ||
| Line 92: | Line 92: | ||
| } | } | ||
| </ | </ | ||
| - | The fact that '' | + | The fact that '' |
| 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: | ||
| Line 213: | Line 213: | ||
| dataflow { | dataflow { | ||
| order { | order { | ||
| - | c < e | + | c < e // c must be produced before e is available |
| } | } | ||
| a + b -> c; | a + b -> c; | ||
| d + e -> out | d + e -> out | ||
| + | } | ||
| + | </ | ||
| + | In general, the order block contains a semi-colon separated list of directives. Each directive is a list of comma-separated channels followed by ''<'' | ||
| + | |||
| + | ====== Syntactic replication ====== | ||
| + | |||
| + | The dataflow sub-language has support for syntactic replication for splits, merges, mixers, and arbiters. For a split, the output side can use syntactic replication; | ||
| + | For example, the following syntax is legal (assuming everything is of the right type): | ||
| + | <code act> | ||
| + | dataflow { | ||
| + | {ctrl} l -> (, i : 8 : out[i]) | ||
| + | } | ||
| + | </ | ||