一种测试向量的生成方法和装置与流程

专利2025-05-30  5


本公开涉及集成电路测试领域,具体涉及自动测试向量生成领域,更具体地涉及一种测试向量的生成方法和装置。


背景技术:

1、在集成电路(ic)测试中,自动测试向量生成(atpg)是确保芯片功能正常的重要步骤。对于复杂的系统级芯片(soc),如何用尽可能低的测试成本达到足够高的故障覆盖率是测试中的一大挑战。现有技术中,压缩模式(comp)因其测试成本低的优点,是生成测试向量时的首选。然而,随着soc芯片复杂度的增加,单一的压缩模式往往无法达到较高的故障覆盖率;而全扫描模式(fullscan)虽然可以达到高覆盖率,但测试成本较高。因此,工程师通常采用增量测试的方法生成测试向量,首先使用一定长度的comp模式测试向量覆盖大部分故障,然后在此基础上使用一定长度的fullscan模式测试向量来覆盖那些压缩模式难以覆盖的故障,从而在有限的测试成本下进一步提高故障覆盖率。

2、目前,在增量测试中,只能凭借工程师的经验来选取不同测试模式对应的测试向量长度,如:comp模式和fullscan模式的测试向量长度,而如何确定comp模式与fullscan模式的测试向量长度并没有统一的方法。在利用常规经验选取不同测试模式的测试向量长度时,为了尽可能平衡测试成本和故障覆盖率,需要多次反复尝试不同测试向量长度下的故障覆盖效果,使得往往需要多次迭代才能确认最终的测试向量长度,效率较低且测试向量的组合选取结果不一定是当前测试成本下的最优解。并且当出现更多具有不同优劣势的测试模式时,常规的经验选取方法将需要更多的迭代周期和工程师的精力及时间,过度依赖工程师的工程经验,无法保证集成电路的测试效率和效果。


技术实现思路

1、为解决现有技术中增量测试中选取不同测试模式对应的测试向量长度所产生的上述技术问题至少之一,本公开提供了一种测试向量生成方法和装置。

2、根据本公开的第一个方面,提供了一种测试向量生成方法,包括:基于不同的测试模式下不同的第一测试向量长度,生成第一长度组合集;利用待测对象对应的预先训练好的神经网络模型,处理上述第一长度组合集,以生成故障覆盖率网络集;选取上述故障覆盖率网络集中满足预设的约束条件对应的测试向量组合,获得最优长度组合结果;以及基于上述待测对象,调用atpg工具,生成上述最优长度组合结果对应的测试向量。

3、在本公开的实施例中,由于增量测试中选取不同测试模式对应的测试向量长度,只能依赖工程经验,经多次迭代,无法快速确定不同测试模式对应的测试向量长度,通过实施本公开的实施例,基于不同的测试模式下不同的第一测试向量长度,生成第一长度组合集;利用待测对象对应的预先训练好的神经网络模型,处理上述第一长度组合集,以生成故障覆盖率网络集;选取上述故障覆盖率网络集中满足预设的约束条件对应的测试向量组合,获得最优长度组合结果;以及基于上述待测对象,调用atpg工具,生成上述最优长度组合结果对应的测试向量。通过引入神经网络模型,优化不同的测试模式的测试向量长度选取过程,可以更加准确的生成测试向量,具有高预测精度,能有效减少测试成本,仅需在训练神经网络模型时进行迭代一次,确保在一次迭代中就能选取到故障覆盖率达标且测试成本最低的测试向量比例,大幅提高测试效率。直接通过预先训练好的神经网络模型进行预测及约束条件下选取最优的测试向量长度组合,即最优长度组合结果,使用低精度的测试向量去训练神经网络,利用训练后网络得到一个高精度的故障覆盖率网络,能够很准确地帮助工程师去选取最优的测试向量组合,自动化了整个测试向量选取及生成过程,大大减少了工程师的精力、时间和经验依赖,合理利用不同的测试模式的优势,达到测试成本与故障覆盖率的最佳平衡。

4、根据本公开的实施例,上述测试模式包括第一测试模式和第二测试模式;上述基于不同的测试模式下不同的第一测试向量长度,生成第一长度组合集,包括:以上述第一测试模式对应的第一测试向量长度为第一步长,遍历第一测试模式范围,生成若干个第一长度;在确定每个上述第一长度的基础上,以上述第二测试模式对应的第一测试向量长度为第二步长,遍历第二测试模式范围,生成若干个第二长度;以及根据每个上述第一长度和对应的第二长度,得到第一长度组合集。

5、根据本公开的实施例,上述神经网络模型的训练过程,包括:基于不同的测试模式下不同的第二测试向量长度,生成若干个测试向量长度组合;根据上述待测对象和每个上述测试向量长度组合,利用上述atpg工具,生成每个上述测试向量长度组合下对应的故障覆盖测试数据;预处理上述故障覆盖测试数据,获得测试数据文件;以及基于上述测试数据文件,训练预先构建的神经网络模型。

6、根据本公开的实施例,上述根据上述待测对象和每个上述测试向量长度组合,利用上述atpg工具,生成每个上述测试向量长度组合下对应的故障覆盖测试数据,包括:基于上述待测对象,生成每个上述测试向量长度组合对应的工作目录环境;配置每个上述工作目录环境对应的atpg配置文件;以及基于每个上述atpg配置文件,调用上述atpg工具,获得每个上述测试向量长度组合下对应的故障覆盖测试数据。

7、根据本公开的实施例,上述基于每个上述atpg配置文件,调用上述atpg工具,获得每个上述测试向量长度组合下对应的故障覆盖测试数据,包括:基于每个上述atpg配置文件,调用上述atpg工具,在每个上述工作目录环境下生成上述不同的测试模式的测试日志文件;以及提取每个上述工作目录环境下上述不同的测试模式的测试日志文件中的二维序列测试数据,得到每个上述测试向量长度组合下对应的故障覆盖测试数据。

8、根据本公开的实施例,上述故障覆盖测试数据包括测试向量长度信息和故障覆盖率信息;上述预处理上述故障覆盖测试数据,获得测试数据文件,包括:整合每个上述测试向量长度组合下上述不同的测试模式对应的测试向量长度信息和故障覆盖率信息,得到每个上述测试向量长度组合下的整合信息数据;对每个上述测试向量长度组合下的整合信息数据新增标识位,以标识上述整合信息数据对应的测试模式;以及将每个上述测试向量长度组合下的整合信息数据和对应的标识位存入预设格式的文件中,获得上述测试数据文件。

9、根据本公开的实施例,上述不同的测试模式,包括:comp模式、fullscan模式、opmisr模式、elastic模式中至少两种。

10、根据本公开的实施例,上述预设的约束条件,包括:覆盖率条件、测试成本条件、上述不同的测试模式的向量长度条件中至少一种。

11、根据本公开的实施例,上述神经网络模型包括长短期记忆网络模型、门控循环单元网络模型、循环神经网络模型中至少一种。

12、根据本公开的实施例,上述方法利用预设的程序脚本自动执行;上述程序脚本包括shell、python、tcl、c++中至少一种。

13、本公开的第二方面提供了一种测试向量生成装置,上述装置包括:第一组合模块,用于基于不同的测试模式下不同的第一测试向量长度,生成第一长度组合集;模型预测模块,用于利用待测对象对应的预先训练好的神经网络模型,处理上述第一长度组合集,以生成故障覆盖率网络集;组合选取模块,用于选取上述故障覆盖率网络集中满足预设的约束条件对应的测试向量组合,获得最优长度组合结果;以及测试向量生成模块,用于基于上述待测对象,调用atpg工具,生成上述最优长度组合结果对应的测试向量。

14、根据本公开的实施例,上述测试模式包括第一测试模式和第二测试模式;上述第一组合模块,包括:第一长度子模块,用于以上述第一测试模式对应的第一测试向量长度为第一步长,遍历第一测试模式范围,生成若干个第一长度;第二长度子模块,用于在确定每个上述第一长度的基础上,以上述第二测试模式对应的第一测试向量长度为第二步长,遍历第二测试模式范围,生成若干个第二长度;以及集合子模块,用于根据每个上述第一长度和对应的第二长度,得到第一长度组合集。

15、根据本公开的实施例,上述装置还包括:第二组合模块,用于基于不同的测试模式下不同的第二测试向量长度,生成若干个测试向量长度组合;测试数据生成模块,用于根据上述待测对象和每个上述测试向量长度组合,利用上述atpg工具,生成每个上述测试向量长度组合下对应的故障覆盖测试数据;预处理模块,用于预处理上述故障覆盖测试数据,获得测试数据文件;以及模型训练模块,用于基于上述测试数据文件,训练预先构建的神经网络模型。

16、根据本公开的实施例,上述测试数据生成模块,包括:环境生成子模块,用于基于上述待测对象,生成每个上述测试向量长度组合对应的工作目录环境;文件配置子模块,用于配置每个上述工作目录环境对应的atpg配置文件;以及工具调用子模块,用于基于每个上述atpg配置文件,调用上述atpg工具,获得每个上述测试向量长度组合下对应的故障覆盖测试数据。

17、根据本公开的实施例,上述工具调用子模块,包括:日志生成单元,用于基于每个上述atpg配置文件,调用上述atpg工具,在每个上述工作目录环境下生成上述不同的测试模式的测试日志文件;以及提取数据单元,用于提取每个上述工作目录环境下上述不同的测试模式的测试日志文件中的二维序列测试数据,得到每个上述测试向量长度组合下对应的故障覆盖测试数据。

18、根据本公开的实施例,上述故障覆盖测试数据包括测试向量长度信息和故障覆盖率信息;上述预处理模块,包括:数据整合子模块,用于整合每个上述测试向量长度组合下上述不同的测试模式对应的测试向量长度信息和故障覆盖率信息,得到每个上述测试向量长度组合下的整合信息数据;模式标识子模块,用于对每个上述测试向量长度组合下的整合信息数据新增标识位,以标识上述整合信息数据对应的测试模式;以及文件生成子模块,用于将每个上述测试向量长度组合下的整合信息数据和对应的标识位存入预设格式的文件中,获得上述测试数据文件。

19、根据本公开的实施例,上述不同的测试模式,包括:comp模式、fullscan模式、opmisr模式、elastic模式中至少两种。

20、根据本公开的实施例,上述预设的约束条件,包括:覆盖率条件、测试成本条件、上述不同的测试模式的向量长度条件中至少一种。

21、根据本公开的实施例,上述神经网络模型包括长短期记忆网络模型、门控循环单元网络模型、循环神经网络模型中至少一种。

22、根据本公开的实施例,上述方法利用预设的程序脚本自动执行;上述程序脚本包括shell、python、tcl、c++中至少一种。

23、本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,上述一个或多个处理器执行上述一个或多个计算机程序以实现上述方法的步骤。

24、本公开的第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。

25、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。


技术特征:

1.一种测试向量生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述测试模式包括第一测试模式和第二测试模式;

3.根据权利要求1所述的方法,其特征在于,所述神经网络模型的训练过程,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据所述待测对象和每个所述测试向量长度组合,利用所述atpg工具,生成每个所述测试向量长度组合下对应的故障覆盖测试数据,包括:

5.根据权利要求4所述的方法,其特征在于,所述基于每个所述atpg配置文件,调用所述atpg工具,获得每个所述测试向量长度组合下对应的故障覆盖测试数据,包括:

6.根据权利要求3所述的方法,其特征在于,所述故障覆盖测试数据包括测试向量长度信息和故障覆盖率信息;

7.根据权利要求1所述的方法,其特征在于,所述不同的测试模式,包括:comp模式、fullscan模式、opmisr模式、elastic模式中至少两种。

8.根据权利要求1所述的方法,其特征在于,所述预设的约束条件,包括:覆盖率条件、测试成本条件、所述不同的测试模式的向量长度条件中至少一种。

9.根据权利要求1-6任一项所述的方法,其特征在于,所述神经网络模型包括长短期记忆网络模型、门控循环单元网络模型、循环神经网络模型中至少一种。

10.根据权利要求1-6任一项所述的方法,其特征在于,所述方法利用预设的程序脚本自动执行;所述程序脚本包括shell、python、tcl、c++中至少一种。

11.一种测试向量生成装置,其特征在于,所述装置包括:

12.根据权利要求11所述的装置,其特征在于,所述装置还包括:


技术总结
提供一种测试向量生成方法和装置,方法包括:基于不同的测试模式下不同的第二测试向量长度,生成若干个测试向量长度组合,并利用ATPG工具生成故障覆盖测试数据,利用预处理后的故障覆盖测试数据训练神经网络模型。基于不同的测试模式下不同的第一测试向量长度生成第一长度组合集,利用预先训练好的神经网络模型处理第一长度组合集,以生成故障覆盖率网络集,选取故障覆盖率网络集中满足预设的约束条件对应的测试向量组合,获得最优长度组合结果;以及基于待测对象,调用ATPG工具,生成最优长度组合结果对应的测试向量。本公开的测试向量生成方法优化不同的测试模式的测试向量长度选取过程,合理利用不同的测试模式的优势,大幅提高测试效率。

技术研发人员:邓琛,洪钦智,沈钲
受保护的技术使用者:比科奇微电子(杭州)有限公司
技术研发日:
技术公布日:2024/11/11
转载请注明原文地址: https://tieba.8miu.com/read-14490.html

最新回复(0)