splitCol 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 _WColIn,
    int _WCol1,
    int _WCol2,
    int _WCol3,
    int _WCol4
    >
void splitCol (
    hls::stream <ap_uint <_WColIn>>& din_strm,
    hls::stream <bool>& in_e_strm,
    hls::stream <ap_uint <_WCol1>>& dout1_strm,
    hls::stream <ap_uint <_WCol2>>& dout2_strm,
    hls::stream <ap_uint <_WCol3>>& dout3_strm,
    hls::stream <ap_uint <_WCol4>>& dout4_strm,
    hls::stream <bool>& out_e_strm
    )

Split previously combined columns into four.

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 split column primitive breaks the wide output stream into independent column-specific streams.

The counter part of this primitive is combineCol .

Parameters:

_WColIn the width of input stream.
_WCol1 the width of 1st output stream.
_WCol2 the width of 2nd output stream.
_WCol3 the width of 3rd output stream.
_WCol4 the width of 4th output stream.
din_strm input data stream
in_e_strm end flag stream for input data
dout1_strm 1st output data stream
dout2_strm 2nd output data stream
dout3_strm 3rd output data stream
dout4_strm 4th output data stream
out_e_strm end flag stream for output data