#include "xf_utils_hw/stream_split.hpp"
template < int _WIn, int _WOut, int _NStrm > void streamSplit ( hls::stream <ap_uint <_WIn>>& istrm, hls::stream <bool>& e_istrm, hls::stream <ap_uint <_WOut>> ostrms [_NStrm], hls::stream <bool>& e_ostrm, MSBSideT alg )
split one wide stream into multiple streams, start from the MSB.
If _WIn > _WOut * _NStrm
, the extra bits will be discarded.
Parameters:
_WIn | input stream width, should be no less than _WOut * _NStrm. |
_WOut | output stream width. |
_NStrm | number of output stream. |
istrm | input data stream. |
e_istrm | end flag for the input. |
ostrms | output data streams. |
e_ostrm | end flag streams for all outputs. |
alg | algorithm selector for this function. |