System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及芯片验证,尤其涉及一种芯片指令集的验证方法及装置。
技术介绍
1、芯片指令集是图形处理器gpu芯片可以执行的指令的集合。通常,用户使用高级语言编写指令程序,通过编译器将指令程序编译成汇编代码,然后将汇编代码编译成测试用例发送给gpu执行单元执行。在gpu芯片的研发过程中,需要验证每条指令的正确性。
2、相关技术中,一般是通过用户手写指令的汇编代码,将汇编代码编译生成用于测试的测试用例输入至gpu芯片中进行验证;或者通过现有的高级语言测试集(opencl-cts)直接提供指令,并编译成测试用例进行gpu芯片验证。
3、通过手写测试用例不仅费时,且很难覆盖所有场景;另外,高级语言的测试集中的指令覆盖率也有限,且存在大量重复的测试用例。可见,上述两种方式均影响了芯片指令集的验证准确性和验证效率。
技术实现思路
1、本专利技术提供一种芯片指令集的验证方法及装置,用以解决相关技术中芯片指令集的验证准确性和验证效率低的技术缺陷。
2、本专利技术提供一种芯片指令集的验证方法,包括:
3、基于存储有芯片指令集的第一表格文件和存储有限制条件的第二表格文件进行指令生成处理,生成合法指令;
4、基于所述合法指令生成内核文件,并根据所述内核文件生成测试用例,其中,所述测试用例包括输入数据;
5、将所述输入数据分别输入至仿真器以及芯片算法单元,得到所述芯片算法单元输出的标准结果以及所述仿真器输出的仿真结果;其中,所述仿真器
6、将所述仿真结果与所述标准结果进行比较,根据比较结果确定验证结果。
7、根据本专利技术提供的一种芯片指令集的验证方法,基于存储有芯片指令集的第一表格文件和存储有限制条件的第二表格文件进行指令生成处理,生成合法指令,包括:
8、基于存储有芯片指令集的第一表格文件生成多条初始的芯片指令;
9、通过存储有限制条件的第二表格文件分别对所述多条芯片指令进行遍历检查,将不符合限制条件的芯片指令确定为所述合法指令。
10、根据本专利技术提供的一种芯片指令集的验证方法,所述芯片指令包括:指令名称、修饰符、源操作符和目的操作符;
11、所述限制条件包括:所述限制条件适用的指令名称、至少一个子条件,其中,所述子条件包括至少一个修饰符、至少一个源操作符或至少一个目的操作符;
12、在所述子条件为多个的情形下,多个所述子条件之间为与关系;在所述子条件包括多个修饰符的情形下,多个修饰符之间为或关系;在所述子条件包括多个源操作符的情形下,多个源操作符之间为或关系;在所述子条件包括多个目的操作符的情形下,多个目的操作符之间为或关系;
13、通过存储有限制条件的第二表格文件分别对所述多条芯片指令进行检查,将不符合限制条件的芯片指令确定为所述合法指令,包括:
14、通过所述第二表格文件中的每一条限制条件,分别对多条所述芯片指令进行检查;
15、若所述芯片指令符合限制条件,确定所述芯片指令为非法指令;
16、若所述芯片指令不符合限制条件,确定所述芯片指令为合法指令。
17、根据本专利技术提供的一种芯片指令集的验证方法,所述限制条件包括两个子条件:包括至少一个修饰符的子条件和包括至少一个源操作符的子条件;
18、对于每条芯片指令:
19、通过所述第二表格文件中的每一条限制条件,分别对多条所述芯片指令进行检查,包括:
20、确定所述芯片指令的指令名称是否属于所述限制条件适用的指令名称;
21、确定所述芯片指令的修饰符是否属于所述子条件中包含的修饰符;
22、确定所述芯片指令的源操作符是否属于所述子条件中包含的源操作符;
23、若确定所述芯片指令的指令名称属于所述限制条件适用的指令名称、所述芯片指令的修饰符属于所述子条件中包含的修饰符以及所述芯片指令的源操作符属于所述子条件中包含的源操作符,则确定所述芯片指令符合限制条件;若反之,则确定所述芯片指令不符合限制条件。
24、根据本专利技术提供的一种芯片指令集的验证方法,基于所述合法指令生成内核文件,并根据所述内核文件生成测试用例,包括:
25、基于所述合法指令,添加输入指令和输出指令,生成所述内核文件;
26、将所述内核文件输入至诊断平台中,生成对应的测试用例。
27、根据本专利技术提供的一种芯片指令集的验证方法,将所述仿真结果与所述标准结果进行比较,根据比较结果确定验证结果,包括:
28、将所述仿真结果与所述标准结果进行比较;
29、若比较结果一致,则验证结果为成功;
30、若比较结果不一致,则验证结果为失败,并保存所述输入数据、所述内核文件、所述仿真结果以及所述标准结果,用于后续检查。
31、本专利技术还提供一种芯片指令集的验证装置,包括:
32、合法指令处理模块,用于基于存储有芯片指令集的第一表格文件和存储有限制条件的第二表格文件进行指令生成处理,生成合法指令;
33、测试用例生成模块,用于基于所述合法指令生成内核文件,并根据所述内核文件生成测试用例,其中,所述测试用例包括输入数据;
34、仿真结果生成模块,用于将所述输入数据分别输入至仿真器以及芯片算法单元,得到所述芯片算法单元输出的标准结果以及所述仿真器输出的仿真结果;其中,所述仿真器用于仿真图形处理器芯片,所述芯片算法单元用于提供图形处理器芯片的算法;
35、对比验证模块,用于将所述仿真结果与所述标准结果进行比较,根据比较结果确定验证结果。
36、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述芯片指令集的验证方法的步骤。
37、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述芯片指令集的验证方法的步骤。
38、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述芯片指令集的验证方法的步骤。
39、本专利技术提供的芯片指令集的验证方法及装置,通过将芯片指令集和限制条件分别存储第一表格文件和第二表格文件中,基于第一表格文件和第二表格文件进行指令生成处理得到合法指令,然后基于合法指令生成内核文件,并根据内核文件生成测试用例,从而可以实现自动将芯片指令集生成对应的测试用例,无需手写汇编代码,进而将测试用例中的输入数据分别输入至仿真器以及芯片算法单元,得到芯片算法单元输出的标准结果以及仿真器输出的仿真结果后进行比较,根据比较结果确定验证结果,可以提升芯片指令集的验证准确性和验证效率。
本文档来自技高网...【技术保护点】
1.一种芯片指令集的验证方法,其特征在于,包括:
2.根据权利要求1所述的芯片指令集的验证方法,其特征在于,
3.根据权利要求2所述的芯片指令集的验证方法,其特征在于,所述芯片指令包括:指令名称、修饰符、源操作符和目的操作符;
4.根据权利要求3所述的芯片指令集的验证方法,其特征在于,所述限制条件包括两个子条件:包括至少一个修饰符的子条件和包括至少一个源操作符的子条件;
5.根据权利要求1所述的芯片指令集的验证方法,其特征在于,基于所述合法指令生成内核文件,并根据所述内核文件生成测试用例,包括:
6.根据权利要求1所述的芯片指令集的验证方法,其特征在于,将所述仿真结果与所述标准结果进行比较,根据比较结果确定验证结果,包括:
7.一种芯片指令集的验证装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述芯片指令集的验证方法的步骤。
9.一种非暂态计算机可读存储
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述芯片指令集的验证方法的步骤。
...【技术特征摘要】
1.一种芯片指令集的验证方法,其特征在于,包括:
2.根据权利要求1所述的芯片指令集的验证方法,其特征在于,
3.根据权利要求2所述的芯片指令集的验证方法,其特征在于,所述芯片指令包括:指令名称、修饰符、源操作符和目的操作符;
4.根据权利要求3所述的芯片指令集的验证方法,其特征在于,所述限制条件包括两个子条件:包括至少一个修饰符的子条件和包括至少一个源操作符的子条件;
5.根据权利要求1所述的芯片指令集的验证方法,其特征在于,基于所述合法指令生成内核文件,并根据所述内核文件生成测试用例,包括:
6.根据权利要求1所述的芯片指令集的验证方法,其特征在于,将所述仿真结果与所...
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,
申请(专利权)人:上海壁仞科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。