#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 |