【技术实现步骤摘要】
一种寄存器传输级代码生成方法、装置、设备及介质
[0001]本申请涉及计算机
,特别涉及一种寄存器传输级代码生成方法、装置、设备、介质。
技术介绍
[0002]基于CPU(central processing unit,中央处理器)处理器的正则表达式匹配引擎消耗大量计算资源,因而需要借助FPGA(Filed Programmable Gate Array,现场可编程逻辑门阵列)作为协处理器进行任务卸载。FPGA编程语言的Verilog代码冗长,一条简单的正则表达式所需的Verilog代码就有近1000行,人为实现正则表达式Verilog代码需要消耗大量的人力和时间成本,并且可能引起较多错误。
技术实现思路
[0003]有鉴于此,本申请的目的在于提供一种寄存器传输级代码生成方法、装置、设备、介质,能够进行正则表达式对应的FPGA编程语言代码自动生成,提高代码生成效率,节约人力和时间成本,避免人为撰写过程中导致的错误,缩短正则表达式FPGA加速引擎的开发周期,使得系统迭代更快。其具体方案如下:
[0 ...
【技术保护点】
【技术特征摘要】
1.一种寄存器传输级代码生成方法,其特征在于,包括:将预设的正则表达式转换成非确定有限状态自动机,得到非确定有限状态自动机信息;将所述非确定有效状态自动机信息保存为所述非确定有限状态自动机的状态跳转表;根据FPGA可执行语言的特点生成所述状态跳转表对应的FPGA可执行语言代码文件,并将所述FPGA可执行语言代码文件存储到FPGA中,以便所述FPGA并行执行各个所述正则表达式对应的所述FPGA可执行语言代码文件,以将待匹配字符串与各个所述正则表达式进行并行匹配。2.根据权利要求1所述的寄存器传输级代码生成方法,其特征在于,所述将预设的正则表达式转换成非确定有限状态自动机,包括:对所述正则表达式进行词法分析,以将所述正则表达式的字符序列转化成单词Token序列;以预设的非确定有限状态自动机基础结构为模板,利用所述单词Token序列构造所述非确定有限状态自动机。3.根据权利要求1所述的寄存器传输级代码生成方法,其特征在于,所述非确定有效状态自动机信息包括起始状态、终止状态、总状态数及每条状态跳转路径。4.根据权利要求1所述的寄存器传输级代码生成方法,其特征在于,所述根据FPGA可执行语言的特点生成所述状态跳转表对应的FPGA可执行语言代码文件,包括:根据Verilog语言的特点生成所述状态跳转表对应的Verilog代码文件。5.根据权利要求1所述的寄存器传输级代码生成方法,其特征在于,所述根据FPGA可执行语言的特点生成所述状态跳转表对应的FPGA可执行语言代码文件,包括:根据VHDL语言的特点生成所述状态跳转表对应的VHDL代码文件。6.根据权利要求1至5任一项所述的寄存器传输级代码生成方法,其特征在于,所述根据FPGA可执行语言的特...
【专利技术属性】
技术研发人员:李建权,文曦畅,徐敬蘅,闫凡,郜振锋,
申请(专利权)人:深信服科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。