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 template < typename AXI_DT, int CH = 64, int BL = 512 > class TwoGramPredicate
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. |