scanCol overload (13) - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English
#include "xf_database/scan_col_2.hpp"
template <
    int burst_len,
    int vec_len,
    int ch_nm,
    int size0,
    int size1,
    int size2,
    int size3,
    int size4
    >
static void scanCol (
    ap_uint <8*size0*vec_len>* c0vec_ptr,
    ap_uint <8*size1*vec_len>* c1vec_ptr,
    ap_uint <8*size2*vec_len>* c2vec_ptr,
    ap_uint <8*size3*vec_len>* c3vec_ptr,
    ap_uint <8*size4*vec_len>* c4vec_ptr,
    hls::stream <ap_uint <8*size0>> c0_strm [ch_nm],
    hls::stream <ap_uint <8*size1>> c1_strm [ch_nm],
    hls::stream <ap_uint <8*size2>> c2_strm [ch_nm],
    hls::stream <ap_uint <8*size3>> c3_strm [ch_nm],
    hls::stream <ap_uint <8*size4>> c4_strm [ch_nm],
    hls::stream <bool> e_row_strm [ch_nm]
    )

scan 5 columns from DDR/HBM buffers.

The LSB of first vector of first column specifies the number of rows to be scanned. For a following buffer, if the first vector is zero, same number of zeros will be emitted, otherwise, same number of rows will be read from the buffer.

Parameters:

burst_len burst read length, must be supported by MC.
vec_len scan this number of items as a vector from AXI port.
ch_nm number of concurrent output channels per column.
size0 size of column 0, in byte.
size1 size of column 1, in byte.
size2 size of column 2, in byte.
size3 size of column 3, in byte.
size4 size of column 4, in byte.
c0vec_ptr buffer pointer to column 0.
c1vec_ptr buffer pointer to column 1.
c2vec_ptr buffer pointer to column 2.
c3vec_ptr buffer pointer to column 3.
c4vec_ptr buffer pointer to column 4.
c0_strm array of column 0 stream.
c1_strm array of column 1 stream.
c2_strm array of column 2 stream.
c3_strm array of column 3 stream.
c4_strm array of column 4 stream.
e_row_strm array of output end flag stream.