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

Go to the source code of this file.

Namespaces

 Traceback
 

Functions

void Traceback::Traceback (tbp_t(&tbmat)[MAX_QUERY_LENGTH][MAX_REFERENCE_LENGTH], tbr_t(&traceback_out)[MAX_REFERENCE_LENGTH+MAX_QUERY_LENGTH], const int max_row, const int max_col)
 Traceback function. It extract the traceback path from a matrix of traceback pointers. More...
 
void Traceback::TracebackOptimized (tbp_t(&tbmat)[PE_NUM][TBMEM_SIZE], traceback_buf_t(&traceback_out), idx_t(&ck_start_col)[MAX_QUERY_LENGTH/PE_NUM], idx_t(&ck_end_col)[MAX_QUERY_LENGTH/PE_NUM], int ck_idx, int pe_idx, int col_idx, int v_row, int v_col)
 Traceback function. It extract the traceback path from a matrix of traceback pointers. More...
 
template<int VIRTUAL_CHUNK_WIDTH>
void Traceback::NextAddressFixedSize (tbr_t &nav, int &chunk, int &pe, int &col, int &v_row, int &v_col)
 
template<int CHUNK_WIDTH>
void Traceback::TracebackFixedSize (tbp_t(&tbmat)[PE_NUM][TBMEM_SIZE], traceback_buf_t(&traceback_out), int ck_idx, int pe_idx, int col_idx, int v_row, int v_col)
 
void Traceback::pointer_to_coordinate (tbp_t tbp, TB_STATE &state, int &row, int &column)
 A traceback pointer to coordinate mapping function. The traceback function is implemeted as a state machine. The state represents the matrix the traceback is tracing in. To increase the customizability, the function that maps a traceback pointer with it's current state to the next coordinate and the state the next step goes to shall be overrite by the user. More...
 
void Traceback::state_initial (tbp_t tbp, TB_STATE &state)
 Function used to set the initial state of the traceback, according to the ruls of the traceback pointer set by the user. More...
 
tbp_t Traceback::extract_direction (tbp_t tbp)
 Private helper function that extract the direction bit of the traceback pointer. More...
 
tbr_t Traceback::state_to_path (TB_STATE state)
 
void Traceback::NextAddress (tbr_t &nagivation, idx_t(&ck_start_idx)[CK_NUM], idx_t(&ck_end_idx)[CK_NUM], int &chunk, int &pe, int &col, int &v_row, int &v_col)