#include "xf_database/combine_split_col.hpp"
template < int _WCol1, int _WCol2, int _WCol3, int _WCol4, int _WColOut > void combineCol ( hls::stream <ap_uint <_WCol1>>& din1_strm, hls::stream <ap_uint <_WCol2>>& din2_strm, hls::stream <ap_uint <_WCol3>>& din3_strm, hls::stream <ap_uint <_WCol4>>& din4_strm, hls::stream <bool>& in_e_strm, hls::stream <ap_uint <_WColOut>>& dout_strm, hls::stream <bool>& out_e_strm )
Combines four columns into one.
Columns are passed through streams of certain width in hardware. Normally, each column uses one stream, but for some primitives, the processing semantic abstract the columns into a couple of groups, and trait each group as a whole. To make calling such primitives easier, the combine column primitive fuses data of same row but different columns into one wide column.
The counter part of this primitive is splitCol
.
Parameters:
_WCol1 | the width of 1st input stream. |
_WCol2 | the width of 2nd input stream. |
_WCol3 | the width of 3rd input stream. |
_WCol4 | the width of 4th input stream. |
_WColOut | the width of output stream. |
din1_strm | 1st input data stream. |
din2_strm | 2nd input data stream. |
din3_strm | 3rd input data stream. |
din4_strm | 4th input data stream. |
in_e_strm | end flag stream for input data. |
dout_strm | output data stream. |
out_e_strm | end flag stream for output data. |