namespace text¶
// namespaces namespace xf::data_analytics::text::internal // classes template < typename uint512, typename uint64, typename uint32, typename uint16, int Len1 = 32, int Len2 = 24, int TH1 = 1, int TH2 = 1 > class GeoIP
reEngine¶
#include "xf_data_analytics/text/re_engine.hpp"
template < int PU_NM, int INSTR_DEPTH, int CCLASS_NM, int CPGP_NM, int MSG_LEN, int STACK_SIZE > void reEngine ( ap_uint <64>* cfg_in_buff, ap_uint <64>* msg_in_buff, ap_uint <16>* len_in_buff, ap_uint <32>* out_buff )
The reEngine executes the input messages with configured RE pattern. The pattern is pre-compiled to a list of instructions and is provied by user through the cfg_buff. Therefore, the reEngine which is based on the hardware regex-VM is dynamically configurable. User could improve the throughput by increasing the template parameter PU_NM to accelerate the matching process by sacrificing the on-board resources.
Parameters:
PU_NM | Number of processing units in parallel. |
INSTR_DEPTH | The depth of instruction buffer in 64-bit. |
CCLASS_NM | Supported max number of character classes in regular expression pattern. |
CPGP_NM | Supported max number of capturing group in regular expression pattern. |
MSG_LEN | Supported max length for each message in 8-byte. |
STACK_SIZE | Max size of internal stack buffer in regex-VM. |
cfg_in_buff | Input configurations which provides a list of instructions, number of instructions, number of character classes, number of capturing groups, and bit set map. |
msg_in_buff | Input messages to be matched by the regular expression. |
len_in_buff | input length for each message. |
out_buff | Output match results. |