一种三维系统芯片测试资源优化方法及系统与流程

文档序号:17944639发布日期:2019-06-18 23:27阅读:315来源:国知局
一种三维系统芯片测试资源优化方法及系统与流程

本发明涉及芯片测试领域,具体涉及一种三维系统芯片(3dsystemonchip,3dsoc)测试资源优化方法及系统。



背景技术:

半导体工业制造技术突飞猛进的发展为更复杂的高速芯片制造奠定了坚实的基础,以垂直硅通孔(tsv)为中心的三维系统芯片制造是一种非常有发展前景的芯片制造技术,其在在提高互连密度,减少互联线长度,缩小封装尺寸,降低功耗方面具有明显的优势。垂直硅通孔(tsv)是在填满导电材料的硅衬底上垂直穿过的互连通孔,其缩短了两个三维芯片上的晶元间互连线长度,多用于功能互连,如电源/地,时钟和i/o等,另外预留出一定数目的tsv用于三维系统芯片的不同晶元间测试访问。基于tsv技术的三维系统芯片制造是芯片制造业将来发展的两大主要方向之一。

三维系统芯片由晶元层堆叠而成,在晶元层上分布有内嵌的芯核及垂直硅通孔(tsv)。为保证三维系统芯片的可靠性,必须对其进行严格的测试,在对三维系统芯片进行测试时,芯片的每个晶元以及整个堆叠的系统芯片都需要经过测试。目前对三维系统芯片测试优化的研究主要集中在获得最优的测试时间或者测试调度,如pradhan分析了晶元的堆叠顺序如何影响整个堆叠三维系统芯片测试时间,提出了最优的堆叠顺序,获得最小测试时间的算法;landeregg,seidenbenz等提出了适用于绑定前测试和绑定后测试的三维系统芯片晶元级测试外壳和测试结构,这种方法很实际,但却没考虑测试调度问题。贪心算法以及testrail提出的方法是目前最成熟的三维系统芯片测试资源优化方法。



技术实现要素:

本发明的目的在于提供一种全新的三维系统芯片测试资源优化方法及系统,以期可以在有限的可用资源下对测试资源和/或测试调度进行优化,得到测试时间和测试带宽的最优分配。本发明采用以下技术方案实现。

一种三维系统芯片测试资源优化方法,用于优化三维系统芯片测试资源和/或测试调度,包括步骤:

基于stakelberg博弈理论建立sto(3dsoctestoptimization,sto)模型;

建立博弈模型;

初始化测试策略;

寻找最优的测试策略。

优选的是,所述sto模型,包括m个资源管理者(resourcemanager,rm)和n个消费者(consumerunit,cu)。

上述任一方案优选的是,所述资源管理者rm对测试资源进行管理,所述消费者消费测试资源。

上述任一方案优选的是,所述测试资源包括可用的tsv数目、测试时间、测试带宽即三维系统芯片各层i/o引脚数中的至少两种。

上述任一方案优选的是,所述sto模型中,记录集合l={1,2,……,m},集合v={1,2,……,n}。

上述任一方案优选的是,sto模型中,为cu提供最优的测试带宽分配,cu的需求皆由rm提供,rm的目标为获得最大利润,各rm之间形成竞争机制,以公道的价格为cu提供服务,cu与rm之间最终形成一个均衡状态。

上述任一方案优选的是,建立多主多从的博弈模型分析sto模型中rm与cu之间的均衡问题。

上述任一方案优选的是,在所述博弈模型中,m个资源管理者进行博弈,资源管理者和消费者都独立地做出决策并了解他人的信息,并可以做出理性的决策。

上述任一方案优选的是,rm博弈过程中,各个rm作为主导者以最大化收益为目标制定协调函数ii,各个cu以最大化各自的剩余带宽qi(w)、最小化测试成本ci(y)为目标,综合主导者的决策和自身的需求来确定各自的带宽需求。

上述任一方案优选的是,所述博弈模型表示为其中,{sn}为cun的策略集合,包括带宽需求剩余带宽qi(w)、测试成本ci(y)中的至少一种;{sk}为rmk的策略集合,包括协调函数ii、带宽策略pw中的至少一种;表示资源管理者的收益集合。

上述任一方案优选的是,建立博弈模型后,初始化资源管理者rm的策略和消费者cu的策略,包括初始化rm的带宽策略pw和cu的带宽需求

上述任一方案优选的是,对rm的策略和cu的策略不断进行优化,直至找到最优的测试策略,博弈模型达到平衡。

上述任一方案优选的是,α*为所有资源管理者rm的最佳策略向量,β*为所有消费者cu的最佳策略向量,当α*和β*满足条件时,任一资源管理者和/或任一消费者均无法通过单独改变自身的策略来获得最大收益,博弈模型达到平衡,sto模型也达到平衡,此时得到测试时间和测试带宽的最优分配,式中为除了除了rmk之外其他rm均衡策略,为除了cun之外其他的cu均衡策略。

上述任一方案优选的是,每个cu具备一个带宽分配和测试结构的策略。

上述任一方案优选的是,博弈过程中,某一消费者使用了某服务,其他消费者不能使用该服务,用w表示消费者使用的服务。

上述任一方案优选的是,所述消费者接受所述资源管理者提供的服务,对该服务进行评价并根据评价结果判断是否使用该服务。

上述任一方案优选的是,每个消费者在接受服务之前,都声明所述服务的价值,即提供所述服务的竞价,所述消费者的竞价表示为b=(b1,b2,…,bi,…,bn),其中bi表示消费者i的竞价,bi∈[0,+∞),bi=a*ii,a为正数。

上述任一方案优选的是,所述消费者提供竞价的策略是使自己能获得最大收益的策略,所述收益取决于其他消费者的行为。

上述任一方案优选的是,所述资源管理者根据所述消费者的竞价为每个消费者服务,根据每个消费者选定的整体策略确定最优解。

上述任一方案优选的是,所述资源管理者i的协调函数定义为:其中ti为三维系统芯片的测试时间,ai为三维系统芯片的测试结构,ci为测试成本。

上述任一方案优选的是,所述测试时间ti的值越小,或者所述测试结构ai越经济,或者所述测试成本ci越小,所述ii的值越大。

上述任一方案优选的是,所述资源管理者根据ii决定最终策略组合,ii值越大,消费者的策略越有可能被选中。

上述任一方案优选的是,资源管理者代表消费者寻找公式

的最优解,其中|w|为消费者i接受的服务量,yi(w,si)为消费者i获得的收益,ci(w)为消费者i的测试成本,si为消费者的策略,所有消费者在做决策时知道可用的服务w值,w*为最优解对应的服务分配,其中ntsvi为消费者i可用的tsv数,ntsvmax表示三维系统芯片可用的tsv上限,wpini为消费者i可用的引脚数,wpinmax为最底层晶元的测试引脚数。

上述任一方优选的是,消费者i的剩余带宽:qi(w)=wpinmax-wpinalcti,其中wpinalcti为消费者i为测试晶元分配的测试带宽。

上述任一方案优选的是,记yj(w)=yj(w,sj)。

上述任一方案优选的是,消费者i的收益函数为:pi(y)=maxσi(yi(w)-ci(w))-(σi≠jyi(g(y))-ci(g(y))),其中:g(y)=argmaxσi(yi(w)-ci(w))。

上述任一方案优选的是,每个消费者适当竞价,使自己的收益最大,即满足∑j(yj(w,sj)-cj|w*|)最大。

上述任一方案优选的是,所述消费者i享受资源管理者的服务时,需要支付相应的测试成本ci,资源管理者计算所述测试成本ci。

上述任一方案优选的是,所述费用ci(y)=max∑ici(w)-∑i≠jci(g(y))。

上述任一方案优选的是,所述资源管理者对三维系统芯片每个晶元进行测试调度,即晶元间进行并行测试还是串行测试。

上述任一方案优选的是,三维系统芯片的总测试时间ti为所有并行测试的晶元的测试时间的最大值+串行测试的晶元的测试时间之和。

本发明的另一方面提供一种三维系统芯片测试资源优化系统,包括处理器和存储介质,存储介质中存储有程序,所述程序按照所述三维系统芯片测试资源优化方法设计,所述程序被处理器运行时执行步骤:

基于stackelberg博弈理论建立sto(3dsoctestoptimization,sto)模型;

建立博弈模型;

初始化测试策略;

寻找最优的测试策略。

优选的是,所述程序还用于输入三维系统芯片测试限制条件。

上述任一方案优选的是,所述测试限制条件包括可用的tsv数目、测试引脚数中的至少一种。

上述任一方案优选的是,所述程序还用于输出最优测试策略。

上述任一方案优选的是,所述最优测试策略包括测试调度策略和晶元带宽分配策略中的至少一种。

本发明的三维系统芯片测试资源优化方法采用了一种全新的设计思路,其可以在有限的可用资源下对测试策略进行优化并最终得到最优的测试策略,对测试时间和测试带宽进行最优分配,按照本方法得到的测试策略进行三维系统芯片测试,其测试结果与目前最成熟的贪心算法及testrail提出的方法的测试结果可比较或者更优。本发明还提供了用于实施本发明方法的三维系统芯片测试资源优化系统,以实现相关算法的自动处理,输出最优的测试策略。同时本发明的方法和系统提供的最优的测试策略可以为ic技术人员设计三维系统芯片提供依据,使得芯片在设计之初就具备了良好的测试资源和/或测试调度。

附图说明

图1为按照本发明的三维系统芯片测试资源优化方法的一优选实施例的流程示意图。

图2为按照本发明的三维系统芯片测试资源优化方法如图1所示实施例的sto模型示意图。

图3a为在不同的约束条件下在硬晶元构成的3dsoc上按照本发明的三维系统芯片测试资源优化方法与贪心算法的测试调度的比较结果示意图。

图3b为按照本发明的三维系统芯片测试资源优化方法与贪心算法的如图3a所示测试调度的测试时间比较结果示意图。

图4a在不同的约束条件下在软晶元构成的3dsoc上按照本发明的三维系统芯片测试资源优化方法与贪心算法的测试调度的比较结果示意图。

图4b为按照本发明的三维系统芯片测试资源优化方法与贪心算法的如图4a所示测试调度的测试时间比较结果示意图。

图5a为本发明的三维系统芯片测试资源优化系统输出的在硬晶元构成的三个不同的3dsocs上的在不同约束条件下的测试调度结果示意图。

图5b为本发明的三维系统芯片测试资源优化系统输出的如图5a所示的测试调度与testrail提出的方法在相同的3dsocs上的在相同的限制条件下的测试时间比较结果示意图。

图5c~5e为本发明的三维系统芯片测试资源优化系统输出的如图5a所示的测试调度与testrail提出的方法在相同的3dsocs上的在相同的限制条件下的分别的测试时间比较结果示意图。

附图中,将三维系统芯片的各晶元自底向上分别用0、1、2、3、4、5、…来表示,“||”表示该符号前后的两个晶元并行测试,“,”表示该符号前后的两个晶元串行测试,tl△%为提出的算法与贪心算法/testrail相比较,测试时间减少率。

具体实施方式

为了更好地理解本发明,下面结合具体实施例对本发明作详细说明。

实施例1

如图1所示,一种三维系统芯片测试资源优化方法,用于优化三维系统芯片测试资源和/或测试调度,包括步骤10:基于stackelberg博弈理论建立sto模型;步骤11:建立博弈模型;步骤12:初始化测试策略;步骤13:寻找最优的测试策略。

如图2所示,步骤10中建立的所述sto模型,包括m个资源管理者(resourcemanager,rm)和n个消费者(consumerunit,cu),所述资源管理者rm对测试资源进行管理,所述消费者消费测试资源,所述测试资源包括可用的tsv数目、测试时间、测试带宽即三维系统芯片各层i/o引脚数中的至少两种,记录集合l={1,2,……,m},集合v={1,2,……,n}。在sto模型中,为cu提供最优的测试带宽分配,cu的需求皆由rm提供,rm的目标为获得最大利润,各rm之间形成竞争机制,以公道的价格为cu提供服务,cu与rm之间最终形成一个均衡状态。

步骤11中,建立多主多从的博弈模型来分析sto模型中rm与cu之间的均衡问题。在所述博弈模型中,m个资源管理者进行博弈,资源管理者和消费者都独立地做出决策并了解他人的信息,并可以做出理性的决策。各个rm作为主导者以最大化收益为目标制定协调函数ii,各个cu以最大化各自的剩余带宽qi(w)、最小化测试成本ci(y)为目标,综合主导者的决策和自身的需求来确定各自的带宽需求。所述博弈模型表示为其中,{sn}为cun的策略集合,包括带宽需求剩余带宽qi(w)、测试成本ci(y)中的至少一种;{sk}为rmk的策略集合,包括协调函数ii、带宽策略pw中的至少一种;表示资源管理者的收益集合。

步骤12,建立博弈模型后,初始化资源管理者rm的策略和消费者cu的策略,包括初始化rm的带宽策略pw和cu的带宽需求

步骤13,对rm和策略和cu的策略不断进行优化,直至找到最优的测试策略,博弈模型达到平衡。

记录α*为所有资源管理者rm的最佳策略向量,β*为所有消费者cu的最佳策略向量,当α*和β*满足条件时,任一资源管理者和/或任一消费者均无法通过单独改变自身的策略来获得最大收益,博弈模型达到平衡,sto模型也达到平衡,此时得到测试时间和测试带宽的最优分配,此时的测试时间和测试调度也是最优的,式中为除了rmk之外其他rm均衡策略,为除了cun之外其他的cu均衡策略。

所述博弈模型中每个cu具备一个带宽分配和测试结构的策略。博弈过程中,某一消费者使用了某服务,其他消费者不能使用该服务,用w表示消费者使用的服务。

所述消费者接受所述资源管理者提供的服务,对该服务进行评价并根据评价结果判断是否使用该服务。每个消费者在接受服务之前,都声明所述服务的价值,即提供所述服务的竞价,所述消费者的竞价表示为b=(b1,b2,…,bi,…,bn),其中bi表示消费者i的竞价,bi∈[0,+∞),bi=a*ii,a为正数。所述消费者提供竞价的策略是使自己能获得最大收益的策略,所述收益取决于其他消费者的行为。

所述资源管理者根据所述消费者的竞价为每个消费者服务,根据每个消费者选定的整体策略确定最优解。

所述资源管理者i的协调函数定义为:其中ti为三维系统芯片的测试时间,ai为三维系统芯片的测试结构,ci为测试成本,所述测试时间ti的值越小,或者所述测试结构ai越经济,或者所述测试成本ci越小,所述ii的值越大,所述资源管理者根据ii决定最终策略组合,ii值越大,消费者的策略越有可能被选中。

资源管理者代表消费者寻找公式

的最优解,其中|w|为消费者i接受的服务量,yi(w,si)为消费者i获得的收益,ci(w)为消费者i的测试成本,si为消费者的策略,所有消费者在做决策时知道可用的服务w值,w*为最优解对应的服务分配,其中ntsvi为消费者i可用的tsv数,ntsvmax表示三维系统芯片可用的tsv上限,wpini为消费者i可用的引脚数,wpinmax为最底层晶元的测试引脚数。消费者i的剩余带宽:qi(w)=wpinmax-wpinalcti,其中wpinalcti为消费者i为测试晶元分配的测试带宽。

消费者i的收益函数为:pi(y)=max∑i(yi(w)-ci(w))-(∑i≠jyi(g(y))-ci(g(y))),其中g(y)=argmax∑i(yi(w)-ci(w)),yj(w)=yj(w,sj)。每个消费者适当竞价,使自己的收益最大,即满足∑j(yj(w,sj)-cj|w*|)最大。所述消费者i享受资源管理者的服务时,需要支付相应的测试成本ci,资源管理者计算所述测试成本ci。所述费用ci(y)=max∑ici(w)-∑i≠jci(g(y))。

所述资源管理者对三维系统芯片每个晶元进行测试调度,即晶元间进行并行测试还是串行测试。三维系统芯片的总测试时间ti为所有并行测试的晶元的测试时间的最大值+串行测试的晶元的测试时间之和。如一个三维系统芯片由三层晶元堆叠而成,分别为层d0、d1和d2,各层对应的测试时间分别为400个时钟周期、600个时钟周期和700个时钟周期。若三层晶元全部并行测试,则测试时间为各层晶元测试时间的最大值,即为700个时钟周期;若三层晶元全部串行测试,则测试时间为各层晶元测试时间的和,即为400+600+700=1700个时钟周期;若晶元d0和d1并行测试然后和d2串行测试,则测试时间为晶元d0和d1并行测试所用的时间+d2测试时间=max{400,600}+700=1300个时钟周期。并行测试的晶元数越多,所需的测试带宽即测试引脚数越多,所需的tsv数据也越多,测试的时间越短。

实施例2

一种三维系统芯片测试资源优化系统,包括处理器和存储介质,存储介质中存储有程序,所述程序按照所述三维系统芯片测试资源优化方法设计,所述程序被处理器运行时执行所述方法的步骤:

步骤10:基于stackelberg博弈理论建立sto模型;

步骤11:建立博弈模型;

步骤12:初始化测试策略;

步骤13:寻找最优的测试策略。

所述程序还用于输入三维系统芯片测试限制条件,所述测试限制条件包括可用的tsv数目、测试引脚数中的至少一种。所述程序还用于输出最优测试策略,所述最优测试策略包括测试调度策略和晶元带宽分配策略中的至少一种。

实施例3

为验证本发明的技术效果,根据本发明形成的最优测试策略对3dsoc进行测试,并将测试结果与目前最为成熟的贪心算法和testrail提出的方法的测试结果进行了比较。

首先由itc'02(测试基准电路)中的d695、f2126、p22810、p34292和p93791搭建三个三维系统芯片,并将其分别命名为3dsoc1、3dsoc2和3dsoc3,其中3dsoc1的具体结构为自顶向下排布基准电路p93791、p34292、p22810、f2126、d695,越向上基准电路的复杂度越高;3dsoc2的具体结构为自顶向下排布基准电路d695、f2126、p22810、p34292、p93791,越向下基准电路的复杂度越高;3dsoc3的具体结构为自顶向下排布基准电路f2126、p22810、p93791、p34932、d695,复杂度最高的基准电路在中间。搭建的三维系统芯片还包括最底层,因此验证过程中所用的三维系统芯片为六层三维系统芯片。验证过程中,采用基于测试总线的测试访问机制(tam),每个芯核的测试外壳采用ieee1500,用晶元级的测试梯在各层与最底层间传输测试控制和数据信号,任何非最底层晶元上的内嵌芯核都被测试,测试数据经过最底层晶元上的i/o引脚输入和输出。所述tam是连接自动测试装置(ate)和晶元相关的芯核的桥梁,所述测试外壳是一种可测逻辑,它将tam与待测电路连接起来。

如图3a和3b所示,对于由硬晶元构成的3dsoc1,在可用的tsv数目不变的情况下,本发明的测试优化方法形成的测试调度随着测试引脚数的变化有所变化,且其形成的测试调度与贪心算法在同样的测试约束条件下有所不同。按照两种方法形成的测试调度对3dsoc1进行测试,本发明的测试调度所用的时间与贪心算法的测试调度所用的时间相比:在测试引脚数为60和65时略有减少,测试时间少4.3%,在测试引脚数为95时,所用时间减少最多,测试时间少27.3%,在其他测试引脚数时,测试时间差几乎为0。

如图4a和4b所示,对于由软晶元构成的3dsoc1,在可用的tsv数目不变的情况下,本发明的测试优化方法形成的测试调度随着测试引脚数的变化有所变化,且其形成的测试调度与贪心算法在同样的测试约束条件下有所不同。按照两种方法形成的测试调度对3dsoc1进行测试,本发明的测试调度所用的时间与贪心算法的测试调度所用的时间相比明显减少,且在测试引脚数为100时,测试时间差达到最大144.8%,可见本发明的方法明显优于贪心算法。

如图5a所示,对于由硬晶元构成的3dsoc1、3dsoc2和3dsoc3,在可用的tsv数目不变的情况下,对于同一个三维系统芯片,本发明的测试优化系统输出的测试调度随着测试引脚数的变化有所变化;对于同样的约束条件,本发明的测试优化系统输出的测试调度随着三维系统芯片具体结构的不同而有所不同。如图5b~5e所示,对于三个三维系统芯片,按照本发明的测试优化系统输出的测试调度分别进行测试,并将测试时间与在同样的约束条件下testrail提出的方法的测试时间进行比较,按照本发明的测试调度的测试时间明显要少。

通过图3a~图5e可以看出:(1)在其他条件相同的情况下,随着测试引脚数的增加,测试时间在减少,这是因为测试引脚的增加带来的测试带宽的增加;(2)测试引脚增加到某一值之后,测试时间不会继续明显减少,说明此时测试策略最优,博弈模型和sto模型达到了平衡;(3)在同样的约束条件下,按照本发明得到的测试调度进行测试的测试用时少于贪心算法和testrail提出的方法,通过本发明得到的测试调度更优。

需要说明的是,以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管前述实施例对本发明进行了详细的说明,本领域的技术人员应该理解:其可以对前述实施例记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,而这些替换,并不使相应技术方案的本质脱离本发明技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1