System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数字电路设计,尤其涉及一种用于大规模存储器内建自测试的分组方法、装置、设备及存储介质。
技术介绍
1、在电子设计自动化领域(eda),存储器内自建内测试(mbist,memory built-inself-test)是重要的可测性设计技术之一。而在mbist设计中一个关键环节是mbist分组。mbist分组是指在满足功耗、距离等约束条件的情况下,对存储器进行分组,使得总的分组数量尽可能少。分组结果用于后续布局测试控制器,每个分组将由一个单独的测试控制器来管理和测试,以测试存储器是否能够正常工作。
2、现有的mbist分组方法主要分为三类,分别是基于精确算法,启发式算法和混合算法。基于精确算法的mbist分组方法把mbist分组问题建模成数学问题,应用数学求解器得到分组方案;基于启发式算法的mbist分组方法通过构建启发式函数指导存储器的分组;基于混合算法的mbist分组方法结合多种算法共同解决mbist分组问题。近年来,随着集成电路规模的不断扩大和内部存储器数量的急剧增加,电子设计自动化技术面临着巨大的挑战。然而,现有的mbist分组方法在处理大规模集成电路时显得力不从心。首先,现有的基于精确算法的方法在处理大规模集成电路mbist分组时面临着巨大的时间挑战。由于这类算法的时间复杂度通常呈指数级增长,当应用于大规模集成电路时,其求解时间开销会变得过长,无法在可接受的时间范围内完成分组。这使得精确算法在解决大规模mbist分组问题时变得不切实际。其次,尽管启发式算法能够在一定程度上提高求解速度,但在处理大规模
技术实现思路
1、为此,本申请的实施例提供了一种用于大规模存储器内建自测试的分组方法、装置、设备及存储介质,可以有效缩短分组时间和减少分组数量。
2、第一方面,本申请提供一种用于大规模存储器内建自测试的分组方法。
3、本申请是通过以下技术方案得以实现的:一种用于大规模存储器内建自测试的分组方法,所述分组方法包括:
4、获取所有待分组的存储器的属性信息,基于所述属性信息对存储器进行预分组,得到预分组结果;
5、利用贪心算法对所述预分组结果的存储器继续进行分组,基于预设约束条件得到初步分组结果;
6、利用模拟退火算法对所述初步分组结果中的存储器进行随机移动操作和随机交换操作,直至满足预设终止条件,得到最终优化分组结果。
7、在本申请一较佳的示例中可以进一步设置为,基于功率利用率和距离利用率对所述最终优化分组结果进行评价。
8、在本申请一较佳的示例中可以进一步设置为,所述获取所有待分组的存储器的属性信息的步骤为:获取待分组的存储器的时钟域信息、接口信息和层次归属信息。
9、在本申请一较佳的示例中可以进一步设置为,所述基于所述属性信息对存储器进行预分组,得到预分组结果的步骤包括:
10、将具有不同时钟域信息的存储器隔离到不同的组别;
11、将具有不同接口信息的存储器隔离到不同的组别;
12、将具有不同层次归属信息的存储器隔离到不同的组别。
13、在本申请一较佳的示例中可以进一步设置为,所述利用贪心算法对所述预分组结果的存储器继续进行分组,基于预设约束条件得到初步分组结果的步骤包括:
14、s21:取预分组结果中的一个组别,从所述组别中取一个还未被重新划分组别的初始存储器;
15、s22:确定与所述初始存储器距离最近的未被划分到新组别的邻居存储器,将初始存储器和邻居存储器划分到一个新的组别;
16、s23:判断所述新的组别是否满足预设约束条件;
17、s24:若满足预设约束条件,继续执行步骤s22;
18、s25:若不满足预设约束条件,则停止向新的组别中加入该邻居存储器,将新的组别作为初步分组结果的一个组别,返回执行步骤s21,迭代执行直至预分组结果中的存储器都被重新分组。
19、在本申请一较佳的示例中可以进一步设置为,所述利用模拟退火算法对所述初步分组结果中的存储器进行随机移动操作和随机交换操作的步骤中:
20、所述随机移动操作为将一个存储器从一个组别移动到另外一个组别;
21、所述随机交换操作为将两个不同组别中的存储器互相交换组别;
22、其中,随机移动操作和随机交换操作限制条件为在属于同一预分组结果下的初步分组结果的组别间进行。
23、第二方面,本申请提供一种用于大规模存储器内建自测试的分组装置。
24、本申请是通过以下技术方案得以实现的:一种用于大规模存储器内建自测试的分组装置,所述分组装置包括:
25、预分组模块,用于获取所有待分组的存储器的属性信息,基于所述属性信息对存储器进行预分组,得到预分组结果;
26、初步分组模块,用于利用贪心算法对所述预分组结果的存储器继续进行分组,基于预设约束条件得到初步分组结果;
27、优化分组模块,用于利用模拟退火算法对所述初步分组结果中的存储器进行随机移动操作和随机交换操作,直至满足预设终止条件,得到最终优化分组结果。
28、在本申请一较佳的示例中可以进一步设置为,所述分组装置还包括:
29、评价模块,用于基于功率利用率和距离利用率对所述最终优化分组结果进行评价。
30、第三方面,本申请提供一种计算机设备。
31、本申请是通过以下技术方案得以实现点的:
32、一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意用于大规模存储器内建自测试的分组方法的步骤。
33、第四方面,本申请提供一种计算机可读存储介质。
34、本申请是通过以下技术方案得以实现的:
35、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意用于大规模存储器内建自测试的分组方法的步骤。
36、综上所述,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
37、所述分组方法首先通过获取所有待分组的存储器的属性信息,基于属性信息对存储器进行预分组,得到预分组结果;再进本文档来自技高网...
【技术保护点】
1.一种用于大规模存储器内建自测试的分组方法,其特征在于,所述分组方法包括:
2.根据权利要求1所述的用于大规模存储器内建自测试的分组方法,其特征在于,所述分组方法还包括:
3.根据权利要求1所述的用于大规模存储器内建自测试的分组方法,其特征在于,所述获取所有待分组的存储器的属性信息的步骤为:
4.根据权利要求3所述的用于大规模存储器内建自测试的分组方法,其特征在于,所述基于所述属性信息对存储器进行预分组,得到预分组结果的步骤包括:
5.根据权利要求1所述的用于大规模存储器内建自测试的分组方法,其特征在于,所述利用贪心算法对所述预分组结果的存储器继续进行分组,基于预设约束条件得到初步分组结果的步骤包括:
6.根据权利要求1所述的用于大规模存储器内建自测试的分组方法,其特征在于,所述利用模拟退火算法对所述初步分组结果中的存储器进行随机移动操作和随机交换操作的步骤中:
7.一种用于大规模存储器内建自测试的分组装置,其特征在于,所述分组装置包括:
8.根据权利要求7所述的用于大规模存储器内建自测试的分组
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现权利要求1至6任意一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任意一项所述方法的步骤。
...【技术特征摘要】
1.一种用于大规模存储器内建自测试的分组方法,其特征在于,所述分组方法包括:
2.根据权利要求1所述的用于大规模存储器内建自测试的分组方法,其特征在于,所述分组方法还包括:
3.根据权利要求1所述的用于大规模存储器内建自测试的分组方法,其特征在于,所述获取所有待分组的存储器的属性信息的步骤为:
4.根据权利要求3所述的用于大规模存储器内建自测试的分组方法,其特征在于,所述基于所述属性信息对存储器进行预分组,得到预分组结果的步骤包括:
5.根据权利要求1所述的用于大规模存储器内建自测试的分组方法,其特征在于,所述利用贪心算法对所述预分组结果的存储器继续进行分组,基于预设约束条件得到初步分组结果的步骤包括:
6.根据权...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。