#include "xf_utils_hw/stream_combine.hpp"
template < int _WIn, int _NStrm > void streamCombine ( hls::stream <ap_uint <_NStrm>>& select_cfg, hls::stream <ap_uint <_WIn>> istrms [_NStrm], hls::stream <bool>& e_istrm, hls::stream <ap_uint <_WIn*_NStrm>>& ostrm, hls::stream <bool>& e_ostrm, MSBSideT alg )
Combine multiple streams into one, shift selected streams to MSB side.
The first selected stream will be copied to MSB. The data within the stream will not change the bit-order.
Parameters:
_WIn | input stream width. |
_NStrm | number of input streams. |
select_cfg | one-hot encoded selection, LSB for istrms[0]. |
istrms | input data streams. |
e_istrm | end flag for all input streams. |
ostrm | output data stream. |
e_ostrm | end flag stream for output data. |
alg | algorithm selector for this function. |