This is an old revision of the document!
The dataflow sublanguage
The dataflow sublanguage provides a convenient short-hand when designing asynchronous circuits using pipelined asynchronous circuits. The dataflow language operates exclusively on channels, and treats channels as variables to specify the dataflow computation.
chan(int) a, b, c; dataflow { a + b -> c }
This corresponds to an adder, with inputs on channels a
and b
and the output on channel c
. There is an implicit assumption that the design is pipelined, and corresponds to the following CHP program:
*[ a?x,b?y;c!(x+y) ]