本发明涉及电子设计自动化,具体涉及一种在sv语言环境中实现正则表达式处理的装置及方法。
背景技术:
1、在电子设计自动化(electronic design automation,eda)领域,system verilog语言(sv语言)作为一种硬件设计和验证的语言,被广泛用于仿真和验证复杂的电子系统。system verilog在出库字符串和文本的功能相对较弱,尤其是不支持正则表达式处理。因此在进行eda仿真时,需要从外部导入格式化的文件,增加了验证的复杂性。
技术实现思路
1、针对现有技术存在的不足,本申请提供了一种在sv语言环境中实现正则表达式处理的装置及方法,能够在sv语言环境中实现正则表达式处理功能,能够增强eda仿真验证过程中的字符串处理操作,并且无需从外部导入格式化的文件,从而提高验证效率。
2、为解决上述问题,本发明提供如下技术方案:
3、第一方面,本申请实施例提供一种在sv语言环境中实现正则表达式处理的装置,包括:
4、正则命令生成模块,用于接收用户在sv语言环境下输入的第一调用信息,根据所述第一调用信息并按照预设规则生成正则表达式处理命令,并将所述正则表达式处理命令写入预先设定的路径下的命令文件中,其中,所述第一调用信息至少包括待处理的正则表达式、正则表达式的命令类型和待处理的字符串;
5、正则命令处理模块,用于读取并解析所述命令文件中的正则表达式处理命令,获得所述正则表达式处理命令的正则表达式、命令类型以及待处理的字符串,采用对应命令类型的处理命令对所述正则表达式和所述待处理的字符串进行处理,并将处理结果写入所述预先设定的存放路径下的结果文件中;
6、所述正则命令生成模块还用于读取所述结果文件中的处理结果,并将所述处理结果返回所述用户。
7、在一些实施方式中,所述命令文件和所述结果文件均为文本文件;
8、所述命令文件中的每一行用于保存一个正则表达式处理命令,所述正则表达式处理命令包括所述待处理的正则表达式、所述正则表达式的命令类型和所述待处理的字符串;
9、所述结果文件中的每一行表示一个正则表达式命令的处理结果,所述结果文件中的行与所述命令文件中的行一一对应。
10、在一些实施方式中,所述正则命令生成模块还用于接收并解析用户输入的路径设置命令,获得所述命令文件和所述结果文件的所述预先设定的存放路径。
11、在一些实施方式中,所述正则命令生成模块还用于在将所述正则表达式处理命令写入所述预先设定的路径下的命令文件中后,发送第二调用信息至所述正则命令处理模块以调用所述正则命令处理模块进行正则表达式处理命令处理,其中,所述第二调用信息包括所述结果文件的存放路径。
12、在一些实施方式中,所述正则命令处理模块中具有与正则表达式处理相关的库函数。
13、第二方面,本申请实施例提供一种在sv语言环境中实现正则表达式处理的方法,包括:
14、正则命令生成模块接收用户在sv语言环境下输入的第一调用信息,根据所述第一调用信息并按照预设规则生成正则表达式处理命令,并将所述正则表达式处理命令写入预先设定的路径下的命令文件中,其中,所述第一调用信息至少包括待处理的正则表达式、正则表达式的命令类型和待处理的字符串;
15、正则命令处理模块读取并解析所述命令文件中的正则表达式处理命令,获得所述正则表达式处理命令的正则表达式、命令类型以及待处理的字符串,采用对应命令类型的处理命令对所述正则表达式和所述待处理的字符串进行处理,并将处理结果写入所述预先设定的存放路径下的结果文件中;
16、所述正则命令生成模块读取所述结果文件中的处理结果,并将所述处理结果返回所述用户。
17、在一些实施方式中,所述命令文件和所述结果文件均为文本文件;
18、所述命令文件中的每一行用于保存一个正则表达式处理命令,所述正则表达式处理命令包括所述待处理的正则表达式、所述正则表达式的命令类型和所述待处理的字符串;
19、所述结果文件中的每一行表示一个正则表达式命令的处理结果,所述结果文件中的行与所述命令文件中的行一一对应。
20、在一些实施方式中,所述方法还包括:
21、所述正则命令生成模块接收并解析用户输入的路径设置命令,获得所述命令文件和所述结果文件的所述预先设定的存放路径。
22、在一些实施方式中,所述方法还包括:
23、所述正则命令生成模块在将所述正则表达式处理命令写入所述预先设定的路径下的命令文件中后,发送第二调用信息至所述正则命令处理模块以调用所述正则命令处理模块进行正则表达式处理命令处理,其中,所述第二调用信息包括所述结果文件的存放路径。
24、在一些实施方式中,所述正则命令处理模块中具有与正则表达式处理相关的库函数。
25、本申请提供了一种在sv语言环境中实现正则表达式处理的装置及方法,本申请通过正则命令生成模块将用户输入的第一调用信息按照设定的规则生成正则表达式处理命令,正则命令处理模块读取并解析该正则表达式处理命令,采用对应命令类型的处理命令函数对正则表达式和待处理的字符串进行处理,能够在sv语言环境中实现正则表达式处理功能,增强了eda仿真验证过程中的字符串处理操作,并且无需从外部导入格式化的文件,从而提高验证效率。
1.一种在sv语言环境中实现正则表达式处理的装置,其特征在于,包括:
2.根据权利要求1所述的装置,其特征在于:
3.根据权利要求2所述的装置,其特征在于:
4.根据权利要求1-3任一项所述的装置,其特征在于:
5.根据权利要求4所述的装置,其特征在于:
6.一种在sv语言环境中实现正则表达式处理的方法,其特征在于,包括:
7.根据权利要求6所述的方法,其特征在于:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.根据权利要求6-8任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求9所述的方法,其特征在于: