#include "xf_utils_hw/stream_combine.hpp"
template < int _WIn, int _WOut, int _NStrm > void streamCombine ( hls::stream <ap_uint <_WIn>> istrms [_NStrm], hls::stream <bool>& e_istrm, hls::stream <ap_uint <_WOut>>& ostrm, hls::stream <bool>& e_ostrm, LSBSideT alg )
Combine multiple streams into a wide one, align to LSB.
The first selected stream will be copied to LSB. The data within the stream will not change the bit-order.
If _WOut > _WIn * _NStrm
, extra bits will be filled with zeros.
Parameters:
_WIn | input stream width. |
_WOut | output stream width, should be no less than _WIn * _NStrm. |
_NStrm | number of input streams. |
istrms | input data streams. |
e_istrm | end flag for all input streams. |
ostrm | output data stream. |
e_ostrm | end flag stream for the output. |
alg | algorithm selector for this function. |