combineCol overload (3) - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English
#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.