CN114996076B - 一种用于芯片仿真的遍历型用例验证方法、系统及电子设备 - Google Patents
一种用于芯片仿真的遍历型用例验证方法、系统及电子设备 Download PDFInfo
- Publication number
- CN114996076B CN114996076B CN202210774112.7A CN202210774112A CN114996076B CN 114996076 B CN114996076 B CN 114996076B CN 202210774112 A CN202210774112 A CN 202210774112A CN 114996076 B CN114996076 B CN 114996076B
- Authority
- CN
- China
- Prior art keywords
- verified
- case
- block
- verification
- control word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种用于芯片仿真的遍历型用例验证方法、系统及电子设备,该方法包括:基于待验证块的数量产生控制序列以根据控制序列控制待验证块的用例执行;生成用例测试矩阵,根据二维数据结构对每个待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应置1,当控制序列执行完成时形成验证矩阵;根据验证矩阵生成二维数据结构中的控制字索引的子集,计算子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。
Description
技术领域
本发明属于芯片验证领域,具体涉及一种用于芯片仿真的遍历型用例验证方法、系统及电子设备。
背景技术
芯片验证一直是随着芯片设计不断发展的一个行业,功能验证在芯片的整体设计周期中占据很多时间。
在进行功能验证时,需要通过预先生成的测试用例进行验证。直接测试用例和随机测试用例是目前主流的两种测试用例,对于有穷个数的验证目标集合,其数量值的大小如果用直接测试用例覆盖会造成大量的用例集合的产生,增加用例的维护成本。若用随机测试用例覆盖将需要较多的用例执行次数,才能到达一定意思的100%覆盖率。计算一个极端的例子,如果使用随机测试用例覆盖2种验证目标,对于一共执行该用例x次,计算得其中能够实现100%功能覆盖的概率值为1-1/2(x-2),其中x≥2。可见随着验证目标数值增大,用例需要执行的次数将急剧增加且要达到100%的功能覆盖率会慢慢变得越来越艰难。
随着芯片规模的增加片上系统涵盖的模块和子系统越来越多,无论是从用例的选择还是功能覆盖率的角度均进一步加剧的验证过程的复杂化。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种用于芯片仿真的遍历型用例验证方法、系统及电子设备。本发明要解决的技术问题通过以下技术方案实现:
一种用于芯片仿真的遍历型用例验证方法,所述芯片包括若干待验证块,每个所述待验证块具有相同的逻辑单元,该方法包括步骤:
S1、基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;
S2、生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;
S3、根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;
S4、将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。
在一个具体实施方式中,根据所述二维数据结构对每个所述待验证块依次执行相应的用例生成用例测试矩阵,还包括:
S21、控制每个所述待验证块分别根据控制序列中对应的控制字索引进行用例验证;
S22、当判断用例测试矩阵中任一元素为1时,获取待验证块序列号以根据该待验证块的控制序列生成用例文件,停止该待验证块的用例验证,删除该待验证块序列号,并将删除该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度加1;
S23、将所述用例文件同步至其他待验证块,使得每个其他待验证块停止当前验证,并均遍历该用例文件中的控制序列以执行该用例文件对应的用例,若其他待验证块执行该用例文件对应的用例结果与预设结果均一致,则继续执行所述当前验证,若否,则继续执行S22,直到剩余待验证块执行该用例文件对应的用例结果与预设结果均一致以使该验证矩阵中的元素全为0或者所有待验证块序列号均删除。
在一个具体实施方式中,若所有待验证块序列号均删除,则将该二维数据结构中的所有控制字索引在控制字集合中的元素的置信度均加1。
在一个具体实施方式中,根据置信度从控制字集合中抽取元素包括:
使置信度较高的元素被抽取的优先级大于置信度较低的元素被抽取的优先级。
在一个具体实施方式中,所述置信度范围为0≤K≤5,置信度阈值为1,其中,K为整数;相应的,依次从置信度由大到小的顺序进行抽取,使置信度为0的元素不被抽取,且在信度较高的元素数量足够多时,使置信度较高的元素被抽取的数量大于置信度较低的元素被抽取的数量。
在一个具体实施方式中,所述控制字集合中元素对应的用例包括直接测试用例数据和随机测试用例数据,所述直接测试用例数据的置信度初始化值为5,所述随机测试用例数据的置信度初始化值为3。
在一个具体实施方式中,步骤S1之前还包括:将置信度低于置信度阈值的元素从所述控制字集合中删除,并用相应的直接测试用例数据和随机测试用例数据进行补充。
本发明同时提供一种用于芯片仿真的遍历型用例验证系统,所述芯片包括若干待验证块,每个所述待验证块具有相同的逻辑单元;
该系统包括:
用例序列产生模块,用于基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;
验证矩阵生成模块,用于生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;
验证结果输出模块,用于根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;
置信度更新模块,用于将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。
在一个具体实施方式中,验证矩阵生成模块包括:
用例验证单元,用于控制每个所述待验证块分别根据控制序列中对应的控制字索引进行用例验证;
置信度控制单元,用于当判断用例测试矩阵中任一元素为1时,获取待验证块序列号以根据该待验证块的控制序列生成用例文件,停止该待验证块的用例验证,删除该待验证块序列号,并将删除该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度加1;
验证矩阵生成单元,将所述用例文件同步至其他待验证块,使得每个其他待验证块停止当前验证,并均遍历该用例文件中的控制序列以执行该用例文件对应的用例,若其他待验证块执行该用例文件对应的用例结果与预设结果均一致,则继续执行所述当前验证,若否,则迭代至置信度控制单元,直到剩余待验证块执行该用例文件对应的用例结果与预设结果均一致以使该验证矩阵中的元素全为0或者所有待验证块序列号均删除。
本发明同时提供一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述的方法步骤。
本发明的有益效果:
本发明的用于芯片仿真的遍历型用例验证方法基于待验证块的数量产生控制序列以根据控制序列控制待验证块的用例执行,并形成验证矩阵,根据验证矩阵判断用例执行情况,能够通过一次验证实现多个待验证块的验证,从而提升复杂芯片的验证效率,此外,通过动态的调整置信度,使得能够准确的记录发生错误较高的用例,对控制序列的生成提供更多的参考依据,在用例数量较少的情况下,也能够准确的进行芯片的验证。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种一种用于芯片仿真的遍历型用例验证方法流程示意图;
图2是本发明实施例提供的一种用于芯片仿真的遍历型用例验证系统模块框图;
图3是本发明实施例提供的一种电子设备模块示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
图1是本发明实施例提供的一种一种用于芯片仿真的遍历型用例验证方法流程示意图,所述芯片包括若干待验证块,每个所述待验证块具有相同的逻辑单元,该方法包括步骤:
S1、基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;
本实施例的待验证块即为芯片的子模块或者子系统,该子模块一般而逻辑上的区分,底层物理结构上均是相同的。待验证块序列号为预先对子模块进行划分的序号,用于区分不同子模块。在产生控制序列时,二维数据结构的每列表示每个待验证块,每行表示待验证块所要验证的用例。控制字集合中每个元素对应一个测试用例,控制字集合中元素的数量一般根据芯片的验证需求而确定。产生控制序列时,不同待验证块之间相互独立抽取元素的位置索引,而由于每行的元素数量是小于控制字集合中总元素的数量,这种方式可能导致每个待验证块抽取的元素的位置索引均一致,为了确保覆盖率处于较高的水平,在生成控制序列之后,需要判断该成控制序列中的不同的元素的数量和控制字集合中总元素的数量的比值满足一定条件,否则,则认为控制序列不符合要求,需要重新生成。本实施例优选的第一比例阈值为0.8:1-1:1,对于待验证块较少的情况,可以选择较低的阈值,例如0.8:1,对于待验证块较多的情况(例如待验证块大于8),为了确保芯片的功能正常,需要满足1:1,即控制字集合中的每一个元素均需要在控制序列中某个位置找到。
需要说明的是,控制字集合中的每个元素都有对应的置信度数值,置信度数值能够控制对该元素抽取的概率,置信度高的元素被抽取的概率高,置信度低的元素被抽取的概率低。置信度所表示的是,该用例进行测试时能够测试到错误的概率较高,因此可以提高置信度高的元素被抽取的概率。
S2、生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;
用例测试矩阵中的元素数量与控制序列中的元素数量相同,一般的,如果执行顺利,则用例测试矩阵中的元素数量与验证矩阵中的元素数量也相同,并且均为0。但如果验证过程中用例测试矩阵出出现1,则需要该行删除,即,在测试该待验证块时,发现该待验证块存在错误,验证不通过,需要进行后续排查,而保留没有错误的待验证块。因此,最终得到的验证矩阵中的元素数量可能小于用例测试矩阵中的元素数量。
具体的,根据所述二维数据结构对每个所述待验证块依次执行相应的用例生成用例测试矩阵,还包括:
S21、控制每个所述待验证块分别根据控制序列中对应的控制字索引进行用例验证;
S22、当判断用例测试矩阵中任一元素为1时,获取待验证块序列号以根据该待验证块的控制序列生成用例文件,停止该待验证块的用例验证,删除该待验证块序列号,并将删除该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度加1;
S23、将所述用例文件同步至其他待验证块,使得每个其他待验证块停止当前验证,并均遍历该用例文件中的控制序列以执行该用例文件对应的用例,若其他待验证块执行该用例文件对应的用例结果与预设结果均一致,则继续执行所述当前验证,若否,则继续执行S22,直到剩余待验证块执行该用例文件对应的用例结果与预设结果均一致以使该验证矩阵中的元素全为0或者所有待验证块序列号均删除。
在该步骤中,由于发现了某个用例在对某个待验证块进行验证时出现了错误,因此,将该待验证块的控制序列生成用例文件同步给其他待验证块也执行一遍,如果其他待验证块执行过程中也发生错误,则表明该问题是系统性的问题,并不是偶发问题,同时也意味着该用例能够准确的识别这种问题。而如果其他待验证块执行过程中没有发生错误,则说明该问题是偶发问题,可能只是该验证块自身的问题。
S3、根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;基于步骤S2的执行,由于在执行过程中,存在1的待验证块均进行了删除,最终得到的验证矩阵中的元素数量可能小于用例测试矩阵中的元素数量。如果删除的待验证块较多,则表明较多的待验证块存在问题,并且由于删除,使得元素数量大大降低,从而导致无法准确的反映验证结果,直接认定验证失败。因此只有当验证矩阵中子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,才输出第一结果,该第一结果包括:待验证块存验证错误的数量和错误原因,例如第二比例阈值可以是0.5:1。
S4、将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。最终能够输出的控制字索引位置的元素均为验证通过的情况,说明,该元素对于查找出错误的贡献度较低,则将置信度减1,降低抽取到的概率,从而让查找出错误的贡献度较高的元素或者其他元素有更高的抽取概率。
本实施例的用于芯片仿真的遍历型用例验证方法基于待验证块的数量产生控制序列以根据控制序列控制待验证块的用例执行,并形成验证矩阵,根据验证矩阵判断用例执行情况,能够通过一次验证实现多个待验证块的验证,从而提升复杂芯片的验证效率,此外,通过动态的调整置信度,使得能够准确的记录发生错误较高的用例,对控制序列的生成提供更多的参考依据,在用例数量较少的情况下,也能够准确的进行芯片的验证。
在一个具体实施方式中,若所有待验证块序列号均删除,则将该二维数据结构中的所有控制字索引在控制字集合中的元素的置信度均加1。此时表明每个待验证块均存在问题,表明当前选取的控制序列能够准确的测试到错误,则将其所有的元素的置信度均加1。
在一个具体实施方式中,根据置信度从控制字集合中抽取元素包括:
使置信度较高的元素被抽取的优先级大于置信度较低的元素被抽取的优先级。
在一个具体实施方式中,所述置信度范围为0≤K≤5,置信度阈值为1,其中,K为整数;相应的,依次从置信度由大到小的顺序进行抽取,使置信度为0的元素不被抽取,且在信度较高的元素数量足够多时,使置信度较高的元素被抽取的数量大于置信度较低的元素被抽取的数量。
也就是说,在抽取时,会优先抽取置信度最高的元素,例如抽取数量为控制字索引数量的40%,之后在抽取信度较高的元素,例如抽取30%,依次抽取直至抽取完成。需要说明的是,若信度较高的元素数量较少时,则全部进行选择。
在一个具体实施方式中,所述控制字集合中元素对应的用例包括直接测试用例数据和随机测试用例数据,所述直接测试用例数据的置信度初始化值为5,所述随机测试用例数据的置信度初始化值为3。
在一个具体实施方式中,步骤S1之前还包括:将置信度低于置信度阈值的元素从所述控制字集合中删除,并用相应的直接测试用例数据和随机测试用例数据进行补充。一般的,设置置信度阈值为1,则将置信度为0的元素从所述控制字集合中删除。如果该元素对应的用例是直接测试用例数据,则使用直接测试用例数据进行补充,如果该元素对应的用例是随机测试用例数据,则使用随机测试用例数据进行补充。
请参见图2,本实施例提供一种用于芯片仿真的遍历型用例验证系统,所述芯片包括若干待验证块,每个所述待验证块具有相同的逻辑单元;
该系统包括:
用例序列产生模块21,用于基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;
验证矩阵生成模块22,用于生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;
验证结果输出模块23,用于根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;
置信度更新模块24,用于将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。
在一个具体实施方式中,验证矩阵生成模块包括:
用例验证单元,用于控制每个所述待验证块分别根据控制序列中对应的控制字索引进行用例验证;
置信度控制单元,用于当判断用例测试矩阵中任一元素为1时,获取待验证块序列号以根据该待验证块的控制序列生成用例文件,停止该待验证块的用例验证,删除该待验证块序列号,并将删除该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度加1;
验证矩阵生成单元,将所述用例文件同步至其他待验证块,使得每个其他待验证块停止当前验证,并均遍历该用例文件中的控制序列以执行该用例文件对应的用例,若其他待验证块执行该用例文件对应的用例结果与预设结果均一致,则继续执行所述当前验证,若否,则迭代至置信度控制单元,直到剩余待验证块执行该用例文件对应的用例结果与预设结果均一致以使该验证矩阵中的元素全为0或者所有待验证块序列号均删除。
本发明实施例还提供了一种电子设备,如图3所示,包括处理器31、通信接口32、存储器33和通信总线34,其中,处理器31,通信接口32,存储器33通过通信总线34完成相互间的通信,
存储器33,用于存放计算机程序;
处理器31,用于执行存储器33上所存放的程序时,实现如下步骤:
S1、基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;
S2、生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;
S3、根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;
S4、将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供的方法可以应用于电子设备。具体的,该电子设备可以为:台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本申请的实施例可提供为方法、系统(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式,这里将它们都统称为“模块”或“系统”。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本申请是参照本申请实施例的方法、系统(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (8)
1.一种用于芯片仿真的遍历型用例验证方法,其特征在于,所述芯片包括若干待验证块,每个所述待验证块具有相同的逻辑单元,该方法包括步骤:
S1、基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;
S2、生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;
S3、根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;
S4、将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1;
根据所述二维数据结构对每个所述待验证块依次执行相应的用例生成用例测试矩阵,还包括:
S21、控制每个所述待验证块分别根据控制序列中对应的控制字索引进行用例验证;
S22、当判断用例测试矩阵中任一元素为1时,获取待验证块序列号以根据该待验证块的控制序列生成用例文件,停止该待验证块的用例验证,删除该待验证块序列号,并将删除该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度加1;
S23、将所述用例文件同步至其他待验证块,使得每个其他待验证块停止当前验证,并均遍历该用例文件中的控制序列以执行该用例文件对应的用例,若其他待验证块执行该用例文件对应的用例结果与预设结果均一致,则继续执行所述当前验证,若否,则继续执行S22,直到剩余待验证块执行该用例文件对应的用例结果与预设结果均一致以使该验证矩阵中的元素全为0或者所有待验证块序列号均删除。
2.根据权利要求1所述的用于芯片仿真的遍历型用例验证方法,其特征在于,若所有待验证块序列号均删除,则将该二维数据结构中的所有控制字索引在控制字集合中的元素的置信度均加1。
3.根据权利要求1所述的用于芯片仿真的遍历型用例验证方法,其特征在于,根据置信度从控制字集合中抽取元素包括:
使置信度较高的元素被抽取的优先级大于置信度较低的元素被抽取的优先级。
4.根据权利要求3所述的用于芯片仿真的遍历型用例验证方法,其特征在于,所述置信度范围为0≤K≤5,置信度阈值为1,其中,K为整数;相应的,依次从置信度由大到小的顺序进行抽取,使置信度为0的元素不被抽取,且在信度较高的元素数量足够多时,使置信度较高的元素被抽取的数量大于置信度较低的元素被抽取的数量。
5.根据权利要求4所述的用于芯片仿真的遍历型用例验证方法,其特征在于,所述控制字集合中元素对应的用例包括直接测试用例数据和随机测试用例数据,所述直接测试用例数据的置信度初始化值为5,所述随机测试用例数据的置信度初始化值为3。
6.根据权利要求5所述的用于芯片仿真的遍历型用例验证方法,其特征在于,步骤S1之前还包括:将置信度低于置信度阈值的元素从所述控制字集合中删除,并用相应的直接测试用例数据和随机测试用例数据进行补充。
7.一种用于芯片仿真的遍历型用例验证系统,其特征在于,所述芯片包括若干待验证块,每个所述待验证块具有相同的逻辑单元;
该系统包括:
用例序列产生模块,用于基于所述待验证块的数量产生控制序列以根据所述控制序列控制所述待验证块的用例执行,其中,所述控制序列为二维数据结构,第一维表示待验证块序列号,第二维表示控制字索引;所述控制字索引为根据置信度从控制字集合中抽取元素的位置索引,且每个待验证块对应的控制字索引的数量与所述控制字集合中总元素的数量的比值大于预设第一比例阈值;
验证矩阵生成模块,用于生成用例测试矩阵,根据所述二维数据结构对每个所述待验证块依次执行相应的用例,当待验证块用例执行结果与预设结果一致时,将该用例测试矩阵对应位置置0,当待验证块用例执行结果与预设结果不一致时,将该用例测试矩阵对应位置置1,当所述控制序列执行完成时形成验证矩阵;
验证结果输出模块,用于根据所述验证矩阵生成二维数据结构中的控制字索引的子集,计算所述子集中元素的数量与控制字集合中总元素的数量的比值大于预设第二比例阈值时,输出第一结果;
置信度更新模块,用于将该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度减1;
验证矩阵生成模块包括:
用例验证单元,用于控制每个所述待验证块分别根据控制序列中对应的控制字索引进行用例验证;
置信度控制单元,用于当判断用例测试矩阵中任一元素为1时,获取待验证块序列号以根据该待验证块的控制序列生成用例文件,停止该待验证块的用例验证,删除该待验证块序列号,并将删除该待验证块序列号对应的所有控制字索引位置在控制字集合中的元素的置信度加1;
验证矩阵生成单元,将所述用例文件同步至其他待验证块,使得每个其他待验证块停止当前验证,并均遍历该用例文件中的控制序列以执行该用例文件对应的用例,若其他待验证块执行该用例文件对应的用例结果与预设结果均一致,则继续执行所述当前验证,若否,则迭代至置信度控制单元,直到剩余待验证块执行该用例文件对应的用例结果与预设结果均一致以使该验证矩阵中的元素全为0或者所有待验证块序列号均删除。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210774112.7A CN114996076B (zh) | 2022-07-01 | 2022-07-01 | 一种用于芯片仿真的遍历型用例验证方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210774112.7A CN114996076B (zh) | 2022-07-01 | 2022-07-01 | 一种用于芯片仿真的遍历型用例验证方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114996076A CN114996076A (zh) | 2022-09-02 |
CN114996076B true CN114996076B (zh) | 2023-02-07 |
Family
ID=83019890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210774112.7A Active CN114996076B (zh) | 2022-07-01 | 2022-07-01 | 一种用于芯片仿真的遍历型用例验证方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996076B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069673B (zh) * | 2023-04-06 | 2023-06-13 | 禾多科技(北京)有限公司 | 仿真应用运行控制方法、装置、电子设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021238006A1 (zh) * | 2020-05-29 | 2021-12-02 | 上海商汤智能科技有限公司 | 人工智能芯片验证 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602007008463D1 (de) * | 2006-12-18 | 2010-09-23 | Ibm | Verfahren, system und computerprogramm zum prüfen enquellen |
JP2016115175A (ja) * | 2014-12-16 | 2016-06-23 | 株式会社東芝 | ソフトウェアテスト装置およびソフトウェアテストプログラム |
US9710364B2 (en) * | 2015-09-04 | 2017-07-18 | Micron Technology Licensing, Llc | Method of detecting false test alarms using test step failure analysis |
CN108228469B (zh) * | 2018-02-23 | 2021-10-08 | 科大讯飞股份有限公司 | 测试用例选取方法及装置 |
CN108920353A (zh) * | 2018-04-03 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种测试方法、装置及电子设备 |
-
2022
- 2022-07-01 CN CN202210774112.7A patent/CN114996076B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021238006A1 (zh) * | 2020-05-29 | 2021-12-02 | 上海商汤智能科技有限公司 | 人工智能芯片验证 |
CN113742202A (zh) * | 2020-05-29 | 2021-12-03 | 上海商汤智能科技有限公司 | Ai芯片验证系统、方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114996076A (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104360920B (zh) | 一种接口自动化测试方法及装置 | |
US20200235947A1 (en) | Changing smart contracts recorded in block chains | |
CN108335718B (zh) | 一种测试方法及装置 | |
CN114996076B (zh) | 一种用于芯片仿真的遍历型用例验证方法、系统及电子设备 | |
CN105183641B (zh) | 一种内核模块的数据一致性校验方法及系统 | |
US10295596B1 (en) | Method and system for generating validation tests | |
CN113127331B (zh) | 一种基于故障注入的测试方法、装置及计算机设备 | |
US10007746B1 (en) | Method and system for generalized next-state-directed constrained random simulation | |
CN109144806B (zh) | 一种寄存器传输级电路的功能验证方法及装置 | |
CN115658482A (zh) | 数据库测试方法及装置、电子设备及计算机可读存储介质 | |
CN115757172A (zh) | 测试执行方法、装置、存储介质及计算机设备 | |
CN112380127B (zh) | 测试用例回归方法、装置、设备和存储介质 | |
US8301431B2 (en) | Apparatus and method for accelerating simulations and designing integrated circuits and other systems | |
US8732638B1 (en) | Verifying proper representation of semiconductor device fingers | |
CN114490415A (zh) | 业务测试方法、计算机设备、存储介质和计算机程序产品 | |
US10503854B1 (en) | Method and system for generating validation tests | |
US7155378B2 (en) | Method for providing cycle-by-cycle ad HOC verification in a hardware-accelerated environment | |
US7650579B2 (en) | Model correspondence method and device | |
CN111949505B (zh) | 一种测试方法、装置及设备 | |
CN116467131B (zh) | 一种处理器的ecc功能验证方法、装置、介质和设备 | |
CN112447256B (zh) | 存储器的真实建模注错验证方法、装置、存储介质和终端 | |
CN113591141B (zh) | 基于模糊测试的固件镜像文件刷写校验方法、系统及终端 | |
CN112466376B (zh) | 基于真实建模的过擦除验证方法、装置、存储介质和终端 | |
US20090037165A1 (en) | Method and Apparatus for Processing Transactions in a Simulation Environment | |
CN108628750B (zh) | 一种测试代码处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |