6 #ifndef DP_HLS_DP_HLS_COMMON_H
7 #define DP_HLS_DP_HLS_COMMON_H
52 static_assert(MAX_QUERY_LENGTH % PE_NUM == 0,
"MAX_QUERY_LENGTH must divide PE_NUM, compilation terminated!");
58 #define CK_NUM (MAX_QUERY_LENGTH / PE_NUM)
63 #define BANDING_NAMESPACE Rectangular
64 #define TBMEM_SIZE (CK_NUM * (MAX_REFERENCE_LENGTH + PE_NUM - 1))
65 #define TB_CHUNK_WIDTH (MAX_REFERENCE_LENGTH + PE_NUM - 1)
66 #define BANDWIDTH 0 // Just put here to make the fixed banded kernel compilable in rectangular mode.
69 #error "BANDWIDTH must be defined in fixed banding kernel, please define BANDWIDTH."
71 #define BANDING_NAMESPACE Fixed
72 #define TBMEM_SIZE (CK_NUM * (2 * BANDWIDTH + PE_NUM - 1 + PE_NUM - 1))
73 #define TB_CHUNK_WIDTH (2 * BANDWIDTH + PE_NUM - 1 + PE_NUM - 1)
75 #error "This Banding Strategy is not Supported. "
78 #error "Banding Strategy is not Defined, Please define a banding strategy."
95 #define AL_END (tbr_t) 0b000 // 0 stopping condition
96 #define AL_INS (tbr_t) 0b001 // 1 Align Insertion
97 #define AL_MMI (tbr_t) 0b010 // 2 Align Match/Mismatch
98 #define AL_DEL (tbr_t) 0b011 // 3 Align Deletion
99 #define AL_NULL (tbr_t) 0b100 // 4 Do not change coordinate
103 #endif //DP_HLS_DP_HLS_COMMON_H
hls::vector< type_t, N_LAYERS > score_vec_t
Vector of scores, used to store the scores of each layer in the same coordiante in the DP matrix...
Definition: dp_hls_common.h:31
A structure to hold score and index information.
Definition: dp_hls_common.h:46
score_vec_t chunk_col_scores_inf_t[PE_NUM+1]
Definition: dp_hls_common.h:88
score_vec_t wavefront_scores_t[PE_NUM]
Definition: dp_hls_common.h:85
idx_t ck
Definition: dp_hls_common.h:48
score_vec_t wavefront_scores_inf_t[PE_NUM+1]
Definition: dp_hls_common.h:86
type_t score
Definition: dp_hls_common.h:47
char_t input_char_block_t[PE_NUM]
Definition: dp_hls_common.h:91
const int PRAGMA_N_BLOCKS
Number of blocks, defined for use in pragma derivatives.
Definition: dp_hls_common.h:24
tbr_t traceback_buf_t[MAX_QUERY_LENGTH+MAX_REFERENCE_LENGTH]
Definition: dp_hls_common.h:101
score_vec_t init_row_score_block_t[MAX_REFERENCE_LENGTH]
Definition: dp_hls_common.h:84
const int PRAGMA_PE_NUM
Number of processing elements, defined for use in pragma derivatives.
Definition: dp_hls_common.h:18
score_vec_t dp_mem_block_t[PE_NUM+1][2]
Definition: dp_hls_common.h:87
score_vec_t init_col_score_block_t[MAX_QUERY_LENGTH]
Definition: dp_hls_common.h:83
tbp_t tbp_vec_t[PE_NUM]
Definition: dp_hls_common.h:90
ap_uint< 3 > tbr_t
Definition: dp_hls_common.h:94
idx_t p_col
Definition: dp_hls_common.h:49
hls::vector< idx_t, PE_NUM > idx_vec_t
Definition: dp_hls_common.h:89