In hardware, performing computations on a stream typically requires
handshaking signals to provide flow control. Many different handshaking
protocols are available, and they are typically implemented in an ad hoc
manner suited to the current design. An approach according to the
invention uses a subset of the possible flow-control protocols in an
effort to achieve a maximum amount of flexibility and reusability, while
requiring only a moderate level of overhead when compared to
manually-designed systems.