#include "xf_database/scan_col.hpp"
template < int burst_len, int vec_len, int ch_num, int size0, int size1, int size2 > 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, const int nrow, hls::stream <ap_uint <8*size0>> c0_strm [ch_num], hls::stream <ap_uint <8*size1>> c1_strm [ch_num], hls::stream <ap_uint <8*size2>> c2_strm [ch_num], hls::stream <bool> e_row_strm [ch_num] )
Scan three columns from DDR/HBM buffers, emit multiple rows concurrently.
Parameters:
| burst_len | burst read length, must be supported by MC. |
| vec_len | number of items to be scanned as a vector from AXI port. |
| ch_num | 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. |
| nrow | number of row to scan. |
| 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. |