芯片验证方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37198833 阅读:11 留言:0更新日期:2023-04-20 22:55
本申请提供一种芯片验证方法、装置、电子设备及存储介质,方法包括:获取测试用例,并将所述测试用例转换为IR形式;将所述IR形式的测试用例转换为目标模块所要求的格式发送给所述目标模块;其中,所述目标模块为用于进行芯片验证的模块;生成所述测试用例中各参数的张量值;将所述张量值发送给所述目标模块;接收并比较各所述目标模块返回的运算结果;所述运算结果为所述目标模块根据所述张量值执行所述测试用例所得到的结果。本申请可以达到一个测试用例被不同的后端模块执行的功能,从而无需针对一个测试用例用不同程序语言编写不同版本,提高了芯片验证的效率,并提高了验证结果的可靠性。果的可靠性。果的可靠性。

【技术实现步骤摘要】
芯片验证方法、装置、电子设备及存储介质


[0001]本申请涉及芯片
,具体而言,涉及一种芯片验证方法、装置、电子设备及存储介质。

技术介绍

[0002]在AI(Artificial Intelligence,人工智能)芯片制造之前,需要完成芯片功能的验证和软件栈原型功能的开发,确保芯片流片成功。通常做法是用软件对芯片建模的方式,开发了一个黄金验证模型(golden reference model,该模型是一个芯片模拟器,有和真实芯片一样的接口和功能),在该模型的基础上,进行芯片功能验证以及对应软件栈的开发。与此同时黄金验证模型本身的正确性也需要在架构和功能层面得到充分的验证,以便使用黄金验证模型的软件团队和硬件设计验证(design verification)团队不会将额外的错误引入其中而难以发现。
[0003]常见实现方式是:使用软件工程的方式,用C/C++ 语言开发一个黄金验证模型,通常也叫“cmodel”。为了让这个模型像真实硬件一样“运行”起来,还需要开发一套与之匹配的驱动程序(driver)。黄金验证模型运行之后的结果,需要和一些已有的第三方实现的运行结果进行对比,以便发现功能和架构设计方面的问题。此外,验证过程中还可能需要将黄金验证模型运行之后的结果、已有的第三方实现的运行结果、以及真实芯片的运行结果进行对比,以验证真实芯片的功能。
[0004]其中,在AI芯片设计领域,第三方实现可以是现有的AI框架(例如tensorflow、pytorch等)写的一段小程序,也可以是用代数库numpy实现的函数,也可以是一段运行在诸如英伟达等GPU(Graphics Processing Unit,图形处理器)上面的CUDA(Compute Unified Device Architecture,是一种新的操作GPU计算的硬件和软件架构)代码, 还可以是一段运行在CPU上面的C++代码。
[0005]那么,由于第三方实现、黄金验证模型、以及真实芯片所能识别的程序语言往往互不相同,那么就需要测试人员在不同的环境和AI框架之间,把同样的测试用例用匹配相应框架的程序语言和接口,重新写一遍。但是芯片验证过程需要的测试用例往往是非常多的,这就导致需要花费大量的人力和时间才能完成测试用例的撰写,影响了芯片验证的效率。此外,由于很少有测试人员能同时掌握所有的程序语言,因此针对同一个测试用例,往往需要多个不同程序编写人员分别进行编写,那就可能出现由于人员的编写偏差,使得不同程序语言写出的测试用例在细节上存在偏差,从而影响比对结果的可信度,进而影响验证结果的可靠性。

技术实现思路

[0006]本申请实施例的目的在于提供一种芯片验证方法、装置、电子设备及存储介质,用以提高芯片验证的效率,以及提高验证结果的可靠性。
[0007]本申请实施例提供了一种芯片验证方法,包括:获取测试用例,并将所述测试用例
转换为IR(Intermediate expression,中间表达)形式;将所述IR形式的测试用例转换为目标模块所要求的格式发送给所述目标模块;其中,所述目标模块为用于进行芯片验证的模块;生成所述测试用例中各参数的张量值;将所述张量值发送给所述目标模块;接收并比较各所述目标模块返回的运算结果;所述运算结果为所述目标模块根据所述张量值执行所述测试用例所得到的结果。
[0008]在上述实现过程中,通过将测试用例转换为IR形式发给目标模块,由于IR本质上是程序或代码的中间表达形式,反映的是程序或代码(即测试用例)所用到的各个功能和各功能之间的执行逻辑,因此基于IR形式的测试用例,可以很容易地转换为不同后端模块(即用于进行芯片验证的模块,例如黄金验证模块、真实芯片、第三方提供的芯片验证程序等)所需求的程序语言形式,从而使得一个测试用例可以被不同的后端模块所执行,无需把同样的测试用例用不同的程序语言和接口重复进行编写,从而缩短了测试用例的构建时间,提高了芯片验证的效率。同时,由于后端模块可以对同一个测试用例进行执行,这也就避免了不同后端模块因执行的测试用例之间存在偏差所带来的比对结果可信度低的问题,提高了验证结果的可靠性。
[0009]进一步地,不同的所述测试用例基于同一套预设接口构建得到。
[0010]在上述实现方式中,通过提供同一套预设接口来构建测试用例,这就使得用同一套接口构建的测试用例,在转化为IR 形式之后是统一的,并不会因为后端的不同语言而受影响。
[0011]进一步地,生成所述测试用例中各参数的张量值,包括:根据所述测试用例中规定的数据尺寸、数据类型、数据存储格式随机生成所述各参数的张量值。
[0012]在上述实现方式中,通过随机生成各参数的张量值的方式,可以使得芯片验证结果更为可信,降低芯片仅针对特定值有效的风险。
[0013]进一步地,将所述张量值发送给所述目标模块,包括:当所述测试用例中规定的数据尺寸、数据类型、数据存储格式中的至少之一不满足所述目标模块的格式要求时,将所述张量值转换为目标模块所要求的形式发送给所述目标模块。
[0014]可以理解,测试用例通常是针对被测试的芯片进行设计的,因此测试用例中规定的数据尺寸、数据类型、数据存储格式通常是被测试的芯片所要求的数据尺寸、数据类型、数据存储格式。而第三方芯片验证程序所要求的数据尺寸、数据类型、数据存储格式,可能与被测试的芯片所要求的数据尺寸、数据类型、数据存储格式不同。那么通过上述实现方式,将张量值转换为目标模块所要求的形式后发送给目标模块,就可以保证目标模块可正确执行测试用例,输出正确的结果数据。
[0015]进一步地,将所述测试用例转换为IR形式,包括:根据所述测试用例调用的接口、各接口的调用顺序、以及各接口对应的IR算子,转换得到包含IR算子的函数对象;所述函数对象为所述IR形式的测试用例。
[0016]进一步地,将所述IR形式的测试用例转换为目标模块所要求的格式发送给所述目标模块,包括:按照预设的IR形式的算子与所述目标模块的算子的对应关系,将所述IR形式的测试用例转换为目标模块所要求的格式发送给所述目标模块。
[0017]可以理解,定义IR时,会定义好表征各种功能或操作的算子(本文称之为IR算子),而测试用例本身是编写的需要运行一系列功能或操作的程序,因此在上述实现方式中,通
过预先定义好的IR算子,可以将测试用例转换为包含IR算子的函数对象,后续只需要按照预设的IR形式的算子与所述目标模块的算子的对应关系,函数对象中的IR算子转换为目标模块的算子,并按照目标模块所要求的程序语言进行编译即可,可以很容易地实现测试用例从原有格式到目标模块所要求的格式的转换。
[0018]进一步地,在将所述IR形式的测试用例转换为目标模块所要求的格式发送给所述目标模块之前,所述方法还包括:根据当前启用的运行时的类型,确定该运行时的类型所对应的后端模块为所述目标模块;所述后端模块为用于进行芯片验证的模块。
[0019]可以理解,运行时(runtime)是指某一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种芯片验证方法,其特征在于,包括:获取测试用例,并将所述测试用例转换为IR形式;将所述IR形式的测试用例转换为目标模块所要求的格式发送给所述目标模块;其中,所述目标模块为用于进行芯片验证的模块;生成所述测试用例中各参数的张量值;将所述张量值发送给所述目标模块;接收并比较各所述目标模块返回的运算结果;所述运算结果为所述目标模块根据所述张量值执行所述测试用例所得到的结果。2.如权利要求1所述的芯片验证方法,其特征在于,不同的所述测试用例基于同一套预设接口构建得到。3.如权利要求1所述的芯片验证方法,其特征在于,生成所述测试用例中各参数的张量值,包括:根据所述测试用例中规定的数据尺寸、数据类型、数据存储格式随机生成所述各参数的张量值。4.如权利要求3所述的芯片验证方法,其特征在于,将所述张量值发送给所述目标模块,包括:当所述测试用例中规定的数据尺寸、数据类型、数据存储格式中的至少之一不满足所述目标模块的格式要求时,将所述张量值转换为目标模块所要求的形式发送给所述目标模块。5.如权利要求1

4任一项所述的芯片验证方法,其特征在于,将所述测试用例转换为IR形式,包括:根据所述测试用例调用的接口、各接口的调用顺序、以及各接口对应的IR算子,转换得到包含IR算子的函数对象;所述函数对象为所述IR形式的测试用例。6.如权利要求5所述的芯片验证方法,其特征在于,将所述IR形式的测试用例转换为目标模块所要求的格式发送给所述目标模块,包括:按照预设的IR形式的算子与所述目标模块的算子的对应关系,将所述IR形式的测试用例转换为目标模块所要求的格式发送给所述目标模块。7.如权利要求1

4任一项所述的芯片验...

【专利技术属性】
技术研发人员:段茗
申请(专利权)人:成都登临科技有限公司
类型:发明
国别省市:

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

1