基于关联规则的FPGA/IP核代码规则检查方法技术

技术编号:19903271 阅读:21 留言:0更新日期:2018-12-26 02:52
本发明专利技术涉及一种基于关联规则的FPGA/IP核代码规则检查方法,涉及FPGA/IP核验证技术领域。本发明专利技术的方法效率高、自动化程度高。测试人员在使用代码规则检查工具针对代码完成初步的规则检查,得到违反工具内部语法规则的检查结果之后,即可利用自动化的数据分析脚本与关联规则进行匹配,对检查结果进行分析,给出代码存在缺陷情况的判断,而不需要人工对每一条工具结果进行详细的分析、判断。本发明专利技术的方法可靠性好。代码规则检查过程依赖于代码规则检查工具以及已确认的代码缺陷数据,仅在最后一步经过测试人员的人工确认,尽可能避免引入人为操作,有效减少了因测试人员水平有限、精力不足等人为因素导致的缺陷误报、漏报情况,得到更可靠的代码规则检查结果。

【技术实现步骤摘要】
基于关联规则的FPGA/IP核代码规则检查方法
本专利技术涉及FPGA/IP核验证
,具体涉及一种基于关联规则的FPGA/IP核代码规则检查方法。
技术介绍
现场可编程门阵列(FieldProgrammableGateArray,FPGA)设计过程中采用硬件描述语言(HardwareDescriptionLanguage,HDL)所编写的寄存器传输级(Register-TransferLevel,RTL)代码,由于设计人员技术水平有限、开发经验欠缺等因素,导致RTL代码中存在设计缺陷的情况往往难以避免,这将会导致预期的设计无法完全实现,影响FPGA系统功能。为了尽早地发现代码中存在的缺陷,降低后续进行故障排查的时间与经济成本,在RTL代码编写阶段进行代码规则检查是有效手段之一。代码规则检查主要是依据既定的代码规则,针对代码的版面书写规范性、可综合性、可重用性以及时钟和复位设计规范性等方面进行检查,而其中采用的规则多是从FPGA设计工作中总结并制定的规范性要求。目前常见的代码规则检查方法包括代码走查和工具检查两种方法:(1)代码走查代码走查是测试人员采用人工方式审查代码,期望发现代码中存在的设计缺陷。该方法存在以下不足:人工审查效率过低,且对测试人员的专业水平有较高要求。(2)工具检查工具检查指的是测试人员使用代码规则检查工具,依据工具内部预先设定的代码规则,检测代码中存在的缺陷。该方法存在以下不足:代码规则检查工具种类多样,且各自所采用规则以及检查的侧重点各有不同,测试人员需综合多个工具的检查结果进行分析,确认代码缺陷,自动化程度不高;在代码设计规模、复杂度较高时,分析工作量大,人工效率低,且会出现缺陷误报、漏报等情况,可靠性难以保障。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何设计一种效率高、自动化程度高、可靠性好的FPGA/IP核代码规则检查方法。(二)技术方案为了解决上述技术问题,本专利技术提供了一种基于关联规则的FPGA/IP核代码规则检查方法,包括以下步骤:步骤(1)、关联规则挖掘的数据准备关联规则挖掘的数据对象根据代码规则检查工具的检查结果以及经由测试人员分析确认后的代码缺陷信息生成;代码规则检查工具的检查结果来自代码规则检查工具输出的txt或csv文件,其中代码规则检查工具输出文件的每一条记录,代表代码规则检查工具在代码中检查到了一次违反语法规则的情况,代码缺陷信息则通过测试人员整理已测试项目中确定的代码缺陷数据,逐个确定缺陷所对应的被测项目编号、缺陷所在代码文件名称、缺陷所在代码行号和缺陷类型,并写入xls格式的表格文件中;将所述xls文件与代码规则检查工具输出的检查结果文件一同输入到数据处理脚本,脚本依次读取所输入的文件,并进行逐行扫描,从代码规则检查工具检查结果中提取每条检查记录的数据信息,包括当前被测项目编号、检查记录所在代码文件名称、代码行号、违反语法规则名称;从代码缺陷数据中提取被测项目编号、缺陷所在代码文件名称、缺陷所在代码行号和缺陷类型;将被测项目编号、代码文件名称、代码行号三个数据属性作为定位信息,数据处理脚本扫描所输入的文件后,以定位信息是否相同作为判断条件,将代码规则检查工具检查结果与代码缺陷数据进行交叉连接;连接生成的数据集中仅保留来自不同代码规则检查工具检查结果的违反语法规则名称属性以及来自代码缺陷数据的缺陷类型属性,并将保留的数据作为关联规则挖掘的数据对象;将代码规则检查工具的检查结果以及相应项目的代码缺陷数据输入数据处理脚本,脚本自动处理后得到数据集;步骤(2)、关联规则挖掘将由数据处理脚本得到的数据集作为关联规则挖掘的事务集,并利用多维关联规则挖掘算法,挖掘代码缺陷类型与各个代码规则检查工具结果之间的关联规则,并将挖掘结果保存到关联规则库中;步骤(3)、将挖掘出的关联规则用于代码规则检查根据已测项目结果挖掘得到有关代码缺陷的关联规则之后,当面临新的FPGA/IP核验证任务时,先利用代码规则检查工具进行初步检查,将检查结果文件输入数据分析脚本,数据分析脚本提取代码规则检查工具检查出的违反语法规则情况,并与关联规则库中的关联规则进行匹配,给出对于缺陷类型的判断结果以及置信度,经确认之后,完成当前被测项目的代码规则检查工作。优选地,所述其中xls文件的格式如表1:优选地,所述代码规则检查工具为Alint和Leda,所述数据集如表2:优选地,所述多维关联规则挖掘算法为多维Apriori算法。优选地,若所述关联规则为:该规则置信度为70%,那么表明当代码规则检查工具Alint发现代码违反了语法规则STARC_VLOG.2.10.3.3,并且代码规则检查工具Leda同时发现代码违反了语法规则B_3208的情况下,当前这句代码有70%的可能性存在数据位宽不匹配的问题。(三)有益效果相比于传统的规则检查方法,本专利技术的方法具有以下的优势:(1)效率高、自动化程度高。测试人员在使用代码规则检查工具针对代码完成初步的规则检查,得到违反工具内部语法规则的检查结果之后,即可利用自动化的数据分析脚本与关联规则进行匹配,对检查结果进行分析,给出代码存在缺陷情况的判断,而不需要人工对每一条工具结果进行详细的分析、判断。(2)可靠性好。代码规则检查过程依赖于代码规则检查工具以及已确认的代码缺陷数据,仅在最后一步经过测试人员的人工确认,尽可能避免引入人为操作,有效减少了因测试人员水平有限、精力不足等人为因素导致的缺陷误报、漏报情况,得到更为可靠的代码规则检查结果。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合实施例,对本专利技术的具体实施方式作进一步详细描述。本专利技术提供的一种基于关联规则的FPGA/IP核代码规则检查方法,具体步骤如下:步骤(1)、关联规则挖掘的数据准备。关联规则挖掘的数据对象根据代码规则检查工具的检查结果以及经由测试人员分析确认后的代码缺陷信息生成。代码规则检查工具的检查结果来自代码规则检查工具输出的txt或csv文件,其中代码规则检查工具输出文件的每一条记录,代表代码规则检查工具在代码中检查到了一次违反语法规则的情况。代码缺陷信息则通过测试人员整理已测试项目中确定的代码缺陷数据,逐个确定缺陷所对应的被测项目编号、缺陷所在代码文件名称、缺陷所在代码行号、缺陷类型,并写入xls格式的表格文件中,其中xls文件的格式如表1所示。表1xls文件格式将上述xls格式文件与代码规则检查工具输出的检查结果文件一同输入到数据处理脚本。脚本依次读取所输入的文件,并进行逐行扫描,从代码规则检查工具检查结果中提取每条检查记录的数据信息,包括当前被测项目编号、检查记录所在代码文件名称、代码行号、违反语法规则名称;从代码缺陷数据中提取被测项目编号、缺陷所在代码文件名称、缺陷所在代码行号、缺陷类型。将被测项目编号、代码文件名称、代码行号三个数据属性作为定位信息,数据处理脚本扫描所输入的文件后,以定位信息是否相同作为判断条件,将代码规则检查工具检查结果与代码缺陷数据进行交叉连接。连接生成的数据集中仅保留来自不同代码规则检查工具检查结果的违反语法规则名称属性以及来自代码缺陷数据的缺陷类型属性,并将保留的数据作为关联规则挖掘的数据对象。例如将代码规则检查工具Ali本文档来自技高网
...

【技术保护点】
1.一种基于关联规则的FPGA/IP核代码规则检查方法,其特征在于,包括以下步骤:步骤(1)、关联规则挖掘的数据准备关联规则挖掘的数据对象根据代码规则检查工具的检查结果以及经由测试人员分析确认后的代码缺陷信息生成;代码规则检查工具的检查结果来自代码规则检查工具输出的txt或csv文件,其中代码规则检查工具输出文件的每一条记录,代表代码规则检查工具在代码中检查到了一次违反语法规则的情况,代码缺陷信息则通过测试人员整理已测试项目中确定的代码缺陷数据,逐个确定缺陷所对应的被测项目编号、缺陷所在代码文件名称、缺陷所在代码行号和缺陷类型,并写入xls格式的表格文件中;将所述xls文件与代码规则检查工具输出的检查结果文件一同输入到数据处理脚本,脚本依次读取所输入的文件,并进行逐行扫描,从代码规则检查工具检查结果中提取每条检查记录的数据信息,包括当前被测项目编号、检查记录所在代码文件名称、代码行号、违反语法规则名称;从代码缺陷数据中提取被测项目编号、缺陷所在代码文件名称、缺陷所在代码行号和缺陷类型;将被测项目编号、代码文件名称、代码行号三个数据属性作为定位信息,数据处理脚本扫描所输入的文件后,以定位信息是否相同作为判断条件,将代码规则检查工具检查结果与代码缺陷数据进行交叉连接;连接生成的数据集中仅保留来自不同代码规则检查工具检查结果的违反语法规则名称属性以及来自代码缺陷数据的缺陷类型属性,并将保留的数据作为关联规则挖掘的数据对象;将代码规则检查工具的检查结果以及相应项目的代码缺陷数据输入数据处理脚本,脚本自动处理后得到数据集;步骤(2)、关联规则挖掘将由数据处理脚本得到的数据集作为关联规则挖掘的事务集,并利用多维关联规则挖掘算法,挖掘代码缺陷类型与各个代码规则检查工具结果之间的关联规则,并将挖掘结果保存到关联规则库中;步骤(3)、将挖掘出的关联规则用于代码规则检查根据已测项目结果挖掘得到有关代码缺陷的关联规则之后,当面临新的FPGA/IP核验证任务时,先利用代码规则检查工具进行初步检查,将检查结果文件输入数据分析脚本,数据分析脚本提取代码规则检查工具检查出的违反语法规则情况,并与关联规则库中的关联规则进行匹配,给出对于缺陷类型的判断结果以及置信度,经确认之后,完成当前被测项目的代码规则检查工作。...

【技术特征摘要】
1.一种基于关联规则的FPGA/IP核代码规则检查方法,其特征在于,包括以下步骤:步骤(1)、关联规则挖掘的数据准备关联规则挖掘的数据对象根据代码规则检查工具的检查结果以及经由测试人员分析确认后的代码缺陷信息生成;代码规则检查工具的检查结果来自代码规则检查工具输出的txt或csv文件,其中代码规则检查工具输出文件的每一条记录,代表代码规则检查工具在代码中检查到了一次违反语法规则的情况,代码缺陷信息则通过测试人员整理已测试项目中确定的代码缺陷数据,逐个确定缺陷所对应的被测项目编号、缺陷所在代码文件名称、缺陷所在代码行号和缺陷类型,并写入xls格式的表格文件中;将所述xls文件与代码规则检查工具输出的检查结果文件一同输入到数据处理脚本,脚本依次读取所输入的文件,并进行逐行扫描,从代码规则检查工具检查结果中提取每条检查记录的数据信息,包括当前被测项目编号、检查记录所在代码文件名称、代码行号、违反语法规则名称;从代码缺陷数据中提取被测项目编号、缺陷所在代码文件名称、缺陷所在代码行号和缺陷类型;将被测项目编号、代码文件名称、代码行号三个数据属性作为定位信息,数据处理脚本扫描所输入的文件后,以定位信息是否相同作为判断条件,将代码规则检查工具检查结果与代码缺陷数据进行交叉连接;连接生成的数据集中仅保留来自不同代码规则检查工具检查结果的违反语法规则名称属性以及来自代码缺陷数据的缺陷类型属性,并将保留的数据作为关联规则挖掘的数据对象;将代码...

【专利技术属性】
技术研发人员:李东方王志昊陈丽容沈炜王晓龙王宏朱秋岩胡亚云王纪叶东升吴超张建伟宋珺
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1