System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于多核CPU的两阶段故障仿真方法技术_技高网

一种基于多核CPU的两阶段故障仿真方法技术

技术编号:44951151 阅读:0 留言:0更新日期:2025-04-12 01:23
本发明专利技术提供了一种基于多核CPU的两阶段故障仿真方法,包括:获取电路模型、测试向量集合和故障列表,向量集合包括多个测试向量,故障列表包括多个故障;获取多核CPU的线程数N,将多个测试向量均衡地分给N个线程,将多个故障分为M个故障块,得到故障块集合,M>N;由N个线程按照预设仿真方式进行仿真,该方式包括由每个线程分别执行以下操作:执行第一阶段的仿真,其包括:每个线程每次获取一个剩余的故障块进行测试,直至自身获取的故障块已完成测试且没有剩余的故障块时转入第二阶段的仿真,根据仿真时检测到的故障和故障列表更新未检测到的故障;和执行第二阶段的仿真,其包括:利用自身分到的测试向量测试所有未被检测到的故障。

【技术实现步骤摘要】

本专利技术涉及集成电路相关,具体来说涉及集成电路的故障仿真与测试领域,更具体地说,涉及一种基于多核cpu的两阶段故障仿真方法。


技术介绍

1、数字电路的故障模型有很多种,如固定型故障(stuck-at fault)、桥接故障(bridge fault)、永久故障(permanent fault)和瞬态故障(transient fault)等。

2、随着纳米集成电路技术的发展,单个超大规模集成电路(very large scaleintegration circuit,简称vlsi)可以集成超过10亿个晶体管。为发现设计或者制造过程中可能遗漏的缺陷,故障仿真在vlsi设计过程的测试开发阶段起着至关重要的作用。故障仿真(fault simulation)算法通过将生成的测试向量输入到电路中,模拟在电路中注入的各种故障来评估电路的行为,从而检测电路中的故障。随着vlsi规模的快速增长,故障仿真算法的性能直接影响了测试生成和故障诊断的效率,故障仿真的运行时间过长成为当下设计测试开发阶段的关键问题。

3、为了提高故障仿真算法的速度和有效性,研究者们已经对各个方面进行了深入研究。许多工作利用gpu强大的并行计算能力来加速故障仿真。此外,一些研究旨在通过最小化故障仿真过程中的内存使用或采用共享内存策略来加快多核故障仿真。在分布式计算领域,也有学者探讨了分布式计算对故障仿真的加速效应。此外,一些研究工作基于传统的并行向量单故障传播(ppsfp)或并行故障仿真方法对故障模拟进行了优化。

4、在当今的研究领域中,针对故障仿真所提出的方法多种多样,但单一的方法往往难以应对故障仿真领域所带来的多重挑战。故障仿真面临着诸多复杂性和不确定性,例如集成电路规模的不断扩大、设计复杂度的增加以及制造工艺的不断进步,这些因素使得单一的故障仿真优化方法难以满足实际需求。同时,在多线程仿真算法研究中,目前尚缺乏有效的算法设计,线程间的负载均衡和任务调度策略有待提高,迄今尚未找到有效的方法将各种优化策略和多线程算法有效结合。

5、在调研前人的故障仿真加速算法的过程中发现其使用的单线程模型在多线程中会造成高成本的通信代价,且采用的任务分配策略也会造成多线程间大量的无效等待和负载不均衡问题。

6、需要说明的是:本
技术介绍
仅用于介绍本专利技术的相关信息,以便于帮助理解本专利技术的技术方案,但并不意味着相关信息必然是现有技术。相关信息与本专利技术方案一同提交和公开,在没有证据表明相关信息已在本专利技术的申请日以前公开的情况下,相关信息不应被视为现有技术。


技术实现思路

1、因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种基于多核cpu的两阶段故障仿真方法。

2、本专利技术的目的是通过以下技术方案实现的:

3、根据本专利技术的第一方面,提供一种基于多核cpu的两阶段故障仿真方法,包括:获取待测试的电路模型、测试向量集合和故障列表,其中,测试向量集合包括多个测试向量,故障列表包括多个待注入的故障; 获取多核cpu的线程数n,将多个测试向量均衡地分给n个线程,将多个故障分为m个故障块,得到故障块集合,其中,m>n;由n个线程按照预设的两阶段故障仿真方式进行仿真,该方式包括由每个线程分别执行以下操作:执行第一阶段的仿真,其包括:每个线程每次获取一个剩余的故障块进行测试,直至自身获取的故障块已完成测试且没有剩余的故障块时转入第二阶段的仿真,其中,根据仿真时检测到的故障和故障列表更新未检测到的故障;和执行第二阶段的仿真,其包括:利用自身分到的测试向量测试所有未被检测到的故障。

4、可选的,第一阶段的仿真包括:维护各个线程共享的剩余故障块集合和共享的未检测到的故障集合,其中,剩余故障块集合初始为m个故障块的集合,未检测到的故障集合初始为故障列表中所有的故障的集合;每个线程被配置为执行以下处理:每个线程每次从剩余故障块集合获取一个剩余的故障块,并将其从剩余故障块集合中移除;将自身分到的测试向量输入电路模型,得到第一结果;将获取的故障块中的每个故障单独注入电路模型,得到对应的电路故障模型;利用自身分到的测试向量输入电路故障模型,得到第二结果;针对每个故障进行检测,其中,根据第一结果和第二结果确定是否检测到该故障,若检测到该故障,则更新未检测到的故障集合。该方案至少能够实现以下有益技术效果:本专利技术以新的故障块分配策略来平衡线程之间的工作负载,以提高故障仿真的性能和有效性。

5、可选的,第二阶段的仿真包括重复执行以下处理:获取最新的未检测到的故障集合,仅从中提取一个未检测到的故障;将该未检测到的故障注入到单独注入电路模型,得到该未检测到的故障对应的电路故障模型;利用自身分到的测试向量输入该未检测到的故障对应的电路故障模型,得到第三结果;针对该未检测到的故障进行检测,其中,根据第一结果和第三结果确定是否检测到该故障,若检测到该故障,则更新未检测到的故障集合。该方案至少能够实现以下有益技术效果:第二阶段仍然保持各个线程原有分配的测试向量,仅改变故障的获取粒度,由一次获取故障块中的多个故障改为仅获取单个故障,从而在剩余未被检测到的故障相对较少时更好地优化故障分配,并通过第二阶段尽可能地保障结果的准确性。

6、可选的,所述方法还包括:为每个未检测到的故障维护一个已处理线程列表,该列表中记录已经注入过该故障但未检测出该故障的线程id;当每个线程进行第二阶段的仿真时,根据每个已处理线程列表屏蔽自身曾经未检测到的故障,选择未注入过的故障进行仿真。该方案至少能够实现以下有益技术效果:该方案可让线程在进入第二阶段时,有效识别自己仿真过的故障,以有效减少无效工作。

7、可选的,所述方法还包括:当所有线程均完成第二阶段的仿真后,在故障列表上标注出已检测到的故障和未检测到的故障。该方案至少能够实现以下有益技术效果:标注出已检测到的故障和未检测到的故障,可以便于用户更好地分析如何优化电路,提升电路的性能。

8、可选的,当一个线程完成其第一阶段的仿真后,该线程直接转入第二阶段的仿真而无需等待其他线程完成其第一阶段的仿真。该方案至少能够实现以下有益技术效果:避免某个线程先完成任务而需等待其他线程完成第一阶段的仿真的情况,提高计算资源的利用率。

9、可选的,m的取值范围为[2n,3n]。该方案至少能够实现以下有益技术效果:通过实验表明,当m的取值为线程数的2-3倍左右时,整体的仿真性能较优。

10、根据本专利技术的第二方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储可执行指令;所述一个或多个处理器被配置为经由执行所述可执行指令以实现第一方面所述方法的步骤。

本文档来自技高网...

【技术保护点】

1.一种基于多核CPU的两阶段故障仿真方法,包括:

2.根据权利要求1所述的方法,其特征在于,第一阶段的仿真包括:

3.根据权利要求1或2所述的方法,其特征在于,第二阶段的仿真包括重复执行以下处理:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,当一个线程完成其第一阶段的仿真后,该线程直接转入第二阶段的仿真而无需等待其他线程完成其第一阶段的仿真。

7.根据权利要求1所述的方法,其特征在于,M的取值范围为[2N,3N]。

8.一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现权利要求1-7之一所述方法的步骤。

9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求1-7之一所述方法的步骤。

10.一种电子设备,其特征在于,包括:

【技术特征摘要】

1.一种基于多核cpu的两阶段故障仿真方法,包括:

2.根据权利要求1所述的方法,其特征在于,第一阶段的仿真包括:

3.根据权利要求1或2所述的方法,其特征在于,第二阶段的仿真包括重复执行以下处理:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,当一个线程完成其第一阶段的仿真后,该线程直接转...

【专利技术属性】
技术研发人员:王涌豪晁志腾汪森林谷丰王天成叶靖李华伟
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

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

1