#include "xf_database/nested_loop_join.hpp"
template < int CMP_NUM, typename KEY_T, typename LEFT_FIELD_T, typename RIGHT_FIELD_T > void nestedLoopJoin ( hls::stream <KEY_T>& strm_in_left_key, hls::stream <LEFT_FIELD_T>& strm_in_left_field, hls::stream <bool>& strm_in_left_e, hls::stream <KEY_T>& strm_in_right_key, hls::stream <RIGHT_FIELD_T>& strm_in_right_field, hls::stream <bool>& strm_in_right_e, hls::stream <KEY_T> strm_out_left_key [CMP_NUM], hls::stream <LEFT_FIELD_T> strm_out_left_field [CMP_NUM], hls::stream <KEY_T> strm_out_right_key [CMP_NUM], hls::stream <RIGHT_FIELD_T> strm_out_right_field [CMP_NUM], hls::stream <bool> strm_out_e [CMP_NUM] )
Nested loop join function.
Parameters:
CMP_NUM | number of key compraring unit in parallel |
KEY_T | the type of the key of left table |
LEFT_FIELD_T | the type of the field of left table |
RIGHT_FIELD_T | the type of the field of right table |
strm_in_left_key | the key stream of the left input table |
strm_in_left_field | the field stream of the left input table |
strm_in_left_e | the end flag stream to mark the end of left input table |
strm_in_right_key | the key stream of the right input table |
strm_in_right_field | the field stream of the right input table |
strm_in_right_e | the end flag stream to mark the end of right input table |
strm_out_left_key | the output key stream of left table |
strm_out_left_field | the output field stream of left table |
strm_out_right_key | the output key stream of right table |
strm_out_right_field | the output field stream of right |
strm_out_e | the end flag stream to mark the end of out table |