DP-HLS
 All Classes Namespaces Files Functions Variables Typedefs Macros Pages
frontend.h File Reference
#include "dp_hls_common.h"
#include "utils.h"
#include <math.h>

Go to the source code of this file.

Namespaces

 ALIGN_TYPE
 This namespace contains the functions that is required to be implemented by the user. ALIGN_TYPE itself is a macro, and is supposed to be defined as the kernel name in params.h.
 
 ALIGN_TYPE::PE
 
 ALIGN_TYPE::Traceback
 The namespace for the customized function related to the traceback.
 
 ALIGN_TYPE::Helper
 

Functions

void ALIGN_TYPE::PE::Compute (char_t local_query_val, char_t local_reference_val, score_vec_t up_prev, score_vec_t diag_prev, score_vec_t left_prev, const Penalties penalties, score_vec_t &write_score, tbp_t &write_traceback)
 The PE function defining the computation of the output score based on its upper, left, and diagonal dependencies. More...
 
void ALIGN_TYPE::InitializeScores (score_vec_t(&init_col_scr)[MAX_QUERY_LENGTH], score_vec_t(&init_row_scr)[MAX_REFERENCE_LENGTH], Penalties penalties)
 The function to initialize the initial row and column scores. More...
 
void ALIGN_TYPE::UpdatePEMaximum (const wavefront_scores_inf_t scores, ScorePack(&max)[PE_NUM], const idx_t chunk_row_offset, const idx_t wavefront, const idx_t p_cols, const idx_t ck_idx, const bool(&predicate)[PE_NUM], const idx_t query_len, const idx_t ref_len)
 This function unrolls PE_NUM units to compare the their local maximum/minimum and new cell scores. It can be queried to update the local minimum/maximum scores based on it's current index. The row index can be computed as the PE_idx + chunk_row_offset; and the column index is the wavefront index - PE_idx. The actual query and reference lengths are provided so that they can be compared to the current index. More...
 
void ALIGN_TYPE::InitializeMaxScores (ScorePack(&max)[PE_NUM], idx_t qry_len, idx_t ref_len)
 Initialize the ScorePacks with the minimum/maximum values. More...
 
void ALIGN_TYPE::Traceback::StateMapping (tbp_t tbp, TB_STATE &state, tbr_t &navigation)
 Map the current step's state and the traceback pointer to the next state and one of the Insertion, Deletion, Match/Mismatch, or Stop directions. More...
 
void ALIGN_TYPE::Traceback::StateInit (tbp_t tbp, TB_STATE &state)
 Initialize the initial traceback state based on the initial traceback pointer. More...
 
void ALIGN_TYPE::Helper::InitCol (score_vec_t(&init_col_scr)[MAX_QUERY_LENGTH], Penalties penalties)
 
void ALIGN_TYPE::Helper::InitRow (score_vec_t(&init_row_scr)[MAX_REFERENCE_LENGTH], Penalties penalties)