scanCol overload (11) - 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
    >
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,
    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 <bool> e_row_strm [ch_nm]
    )

scan 3 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.
c0vec_ptr buffer pointer to column 0.
c1vec_ptr buffer pointer to column 1.
c2vec_ptr buffer pointer to column 2.
c0_strm array of column 0 stream.
c1_strm array of column 1 stream.
c2_strm array of column 2 stream.
e_row_strm array of output end flag stream.