namespace genomics¶
// typedefs typedef float custom_float typedef ap_uint <64> hapLenType typedef ap_uint <hap_width> hapType typedef ap_uint <64> hapTypeBundle typedef ap_uint <512> busType typedef ap_uint <64> readType typedef ap_uint <64> longlong typedef ap_uint <64> bwtint_t typedef ap_uint <256> smem_t typedef ap_uint <32> addr_bundle typedef ap_uint <512> data_bundle typedef unsigned char byte_t typedef ap_uint <32> uint_t typedef hls::stream <addr_bundle> addr_channel typedef hls::stream <data_bundle> data_channel typedef hls::stream <byte_t> ctrl_channel typedef ap_uint <2> uint2_t typedef ap_uint <1> uint1_t typedef struct xf::genomics::_pe pe // structs struct HapLenPack struct _pe struct accData struct accDataBundle struct bwtintv_t_fpga struct cellData struct readBundle struct readInfor // unions union floatUnion // global variables const int read_fifo_depth const int read_block_size const int hap_width
computePairhmm¶
#include "phmmmodules.hpp"
template <unsigned int PU_NUM> void computePairhmm ( ap_uint <512>* input_data, short numRead, short numHap, int iterNum, float* output_data )
PairHMM module to compute the likelihood.
Parameters:
PU_NUM | number of process engines in grid |
input_data | input read/ref data |
numRead | number of read sequence data |
numHap | number of hap sequence data |
iterNum | number of iterations |
output_data | output data |
ddr_streaming¶
#include "smemmodules.hpp"
void ddr_streaming ( bwtint_t bwt_primary, bwtint_t L2 [5], byte_t* seq, byte_t* seq_len, smem_t* mem, uint_t* mem_num, int batch_size, data_bundle* bwt, bwtint_t bwt_size )
SMEM module handles SMEM operation and also I/O.
Parameters:
bwt_primary | bwt initial value |
L2 | bwt parameters |
seq | input sequence |
seq_len | input sequence length |
mem | output data |
mem_num | number of output data |
batch_size | batch size |
bwt | bwt of the sequence |
bwt_size | size of the bwt |
swInt¶
#include "swmaxscore_compute.hpp"
template < int DATAWIDTH, int FACTOR > void swInt ( hls::stream <ap_uint <DATAWIDTH>>& inRefStream, hls::stream <bool>& refprocessDone, hls::stream <ap_uint <DATAWIDTH>>& inReadStream, hls::stream <bool>& readprocessDone, hls::stream <ap_uint <49>>& outStream )
Smithwaterman module computes the max score.
Parameters:
DATAWIDTH | input data width |
FACTOR | number of process engines |
inRefStream | input reference data |
refprocessDone | reference end of stream |
inReadStream | input read data |
readprocessDone | read end of stream |