使用辅助转接板和熔丝的2.5D集成电路测试策略

2020-03-19 10:47:04王秀云任福继
计算机工程与应用 2020年6期
关键词:线网熔丝开路

刘 军,王秀云,任福继

1.合肥工业大学 计算机与信息学院,合肥230009

2.合肥工业大学 计算机与信息学院 情感计算与先进智能机器安徽省重点实验室,合肥230009

3.德岛大学 工学院 智能信息系,日本 德岛7708502

1 引言

随着半导体技术的进步,芯片的特征尺寸不断缩小,互联线延迟和功耗的增加使得传统的摩尔定律已经很难继续发展下去[1]。为了解决以上问题,以TSVs(Through Silicon Vias)为核心的2.5D 集成技术应运而生。基于TSVs 转接板的2.5D 集成电路能够将多个芯片在转接板上直接互连[2-3],缩短了芯片之间的互连线长度,降低了延迟与功耗,增加了带宽,被广泛认为是突破摩尔定律的有效途径[4-5]。

2.5 D 集成电路已有实际的产品投向市场。Xilinx与台积电合作,利用转接板技术,推出了2.5D FPGA 产品Virtex-7 2000T[6],如图1所示。在转接板中包含了大量的水平连接线和垂直连接线[7]。水平连接线连接各个微凸点(microbumps),垂直连接线连接微凸点、TSVs及C4 凸点(C4 bumps)。如果转接板中的某条连接线出现开路或短路故障,即使堆叠在转接板上的芯片是无故故障的,也会导致整个集成电路的失效,成本损失很大。因此,在2.5D集成电路中对转接板测试至关重要。

图1 Xilinx's基于转接板的FPGA产品Virtex-7

转接板测试有三个阶段:绑定前(pre-bond)、绑定中(mid-bond)和绑定后(post-bond)。在转接板的绑定中或绑定后测试时,芯片已经被安装在转接板上,利用这些芯片可以实现对转接板上互连线的测试[7-13]。而在绑定前测试时,由于没有任何其他芯片堆叠在转接板上,只能通过数量有限的C4凸点来施加测试激励和获取测试响应,以实现对互连线的测试。而转接板上大部分互连线并没有与C4 凸点相连。针对这部分互连线,必须通过可测试性设计的方法才能进行测试[14-16]。

针对转接板绑定前的测试,文献[14]提出使用测试探针(test probes)和导电玻璃处理器(electrically con‐ductive glass handler)分别连接在转接板的上侧和下侧,实现对转接板的绑定前测试。该方法易于实现,但是只能测试TSVs,并不能对转接板中的互连线进行测试。文献[15]提出在待测试转接板上连接辅助转接板,利用辅助转接板提供的额外连接线使待测试转接板上相互分离的互连线连接,以测试互连线的开路和短路故障。但文献[15]方案需要使用两块辅助转接板(开路和短路故障测试分别需要一块辅助转接板),增加了测试成本。文献[16]在文献[15]的基础上提出了使用一块辅助转接板来测试待测试转接板中互连线的开路和短路故障,以减少测试成本,但文献[16]方法的故障覆盖率很低。为了提高转接板的故障覆盖率,减少测试时间,降低测试成本,本文提出了仅使用一块辅助转接板对绑定前待测试转接板中的互连线进行开路和短路故障测试的新方案。所提方法首先使用邻接矩阵求极大独立集的方法将待测试转接板中的互连线进行分组,每个分组内的互连线之间不会发生短路故障。然后在辅助转接板上布置导线,实现互连线的组内连接。接着在辅助转接板上布置熔丝,将互连线进行组间连接形成可以对开路故障进行测试的测试路径。为最大化测试路径的数量,并且减少所需的熔丝数量,提出了有效的分组间熔丝连接策略进行组间互连。测试时,首先进行开路故障测试。开路故障可以并行的一次测试完成,有效地减少了测试时间。开路故障测试完成后,接着将熔丝熔断,进行短路故障测试。与已有的方案相比,本文提出的测试方案有效地提高了转接板测试的故障覆盖率,使开路和短路故障覆盖率达到100%,减少了测试时间,同时也减少了所需要的辅助转接板数量,有效降低了测试成本。

2 背景

文献[15]提出的使用辅助转接板与待测试转接板连接进行测试的方法如图2所示。图2中待测试转接板上U1 到U17 为 微 凸 点,D1 到D8 是C4 凸 点。在 测 试时,ATE(Auto Test Equipment)的探针只能探测C4 凸点,而微凸点由于其尺寸太小不能直接探测。待测试转接板中虚线的部分代表TSVs。本文中将TSVs 看作互连线的一部分,统一进行测试。辅助转接板上的U'1 到U'17是与待测试转接板相对应的微凸点。图3是图2中待测试转接板上各互连线的拓扑结构图,图3 中大球表示C4凸点,小球表示微凸点,实线表示待测试转接板上的互连线。

图2 辅助转接板和待测试转接板

图3 转接板互连线拓扑结构图

为描述方便,在文献[15]中将连接微凸点或C4凸点的一条或多条线段称为线网(net)。如图3中连接D2和U7 的线段就称为一个线网。将仅连接微凸点的线网称为U-U(Up-to-Up)线网,如连接U3 和U12 的线网被称为U-U 线网。将微凸点与C4凸点连接起来的线网称为U-D(Up-to-Down)线网,如连接D2 和U7 的线网被称为U-D线网。

在对待测试转接板进行测试时,需要将辅助转接板与待测试转接板对应的微凸点堆叠在一起,如U1 需要与U'1进行堆叠。通过辅助转接板上提供的额外互连结构,使待测试转接板上的U-U 线网连接到U-D 线网上,形成可以通过C4凸点施加测试激励和获取测试响应的测试路径,例如,图2 中线网U8-U13,由于U8 和U13 都没有与C4 凸点相连,无法直接进行测试。但当在辅助转接板上布置导线后,可以形成测试路径D2-U7-U'7-U'8-U8-U13-U'13-U'16-U16-D7,该测试路径包含D2 和D7两个C4凸点,因此可以对线网U8-U13进行开路故障测试。其中Ux-U'x或U'x-Ux表示两个转接板上对应微凸点之间的连接,Ux-Uy(U'x-U'y)表示待测试(辅助)转接板上的U-U线网。

3 测试策略

本文提出的基于辅助转接板和熔丝的测试方法流程如图4 所示。该方法首先使用邻接矩阵求极大独立集的方法将待测试转接板上的互连线分组,并在辅助转接板上布置导线将这些互连线进行组内连接。然后使用熔丝连接策略将各分组进行组间连接。实际测试时,先进行开路故障测试,然后将熔丝熔断进行短路故障测试。下面详细介绍各个过程。

图4 测试方案流程图

3.1 待测试转接板的线网分组策略

将互连线进行分组的目的是为了测试短路故障。短路故障会在两个或多个线网之间产生一条低阻路径。当两个或多个线网间存在短路故障,对其中一个线网施加测试信号,则另外的线网将会接收到相同的信号。在绑定前的转接板中,由于只能通过C4 凸点施加测试激励和获取测试响应,因此只能检测U-D线网间的短路故障(对一个U-D 线网施加测试激励,检测其他的U-D 线网是否能接收到相同的信号),而U-U 线网间以及U-U与U-D 线网之间的短路故障无法检测。因此为了检测所有的线网间是否存在短路故障,需要将U-U 线网与U-D线网通过辅助转接板进行连接。

但将U-U 线网、U-D 线网间进行连接在一起,有可能会降低短路故障覆盖率。例如将两个U-U 线网N1、N2 和 一 个U-D 线 网N3 连 接 在 一 起,则 会 造 成N1 与N2、N1 与N3、N2 与N3 之间的短路故障无法检测,从而降低了故障覆盖率。

为了不降低故障覆盖率,本文的思路是将待测试转接板上的线网划分到不同的分组中,每组内至少包含一个U-D线网,并且同一组内的任意两个线网之间都不会存在短路故障。分组完成后,将位于同一组内的线网通过辅助转接板连成一个新的线网。这样就形成了多个新的线网,测试时就测试这些新的线网间是否存在着短路故障。

因为分组数越多,在辅助转接板上所需要的连线就越少。因此,为了减少连线,分组时要求每组中仅包含一个U-D线网。

本文使用邻接矩阵求极大独立集的方法对线网进行分组。此方法首先将各线网之间的关系用邻接矩阵的形式表示。若两线网间不会发生短路故障,则矩阵的对应位置为“0”;若两线网间有可能发生短路故障,则矩阵的对应位置为“1”;各线网自身与自身的关系用“0”表示。为了使得每组中仅有一个U-D 线网,需要假设各U-D 线网之间都会发生短路故障。因为同一个分组内的线网不会发生短路故障,通过这种假设就可以保证每个分组内只含有一个U-D线网。

形成邻接矩阵后,对此矩阵通过若干次平移变换转化为标准型,得到极大独立集。线网分组算法的具体过程如下所示。

输入:待测试转接板布线信息。

输出:分组结果。

步骤1根据线网信息形成邻接矩阵。

步骤2将邻接矩阵通过平移变换为标准型,得到极大独立集,将极大独立集中的线网划分为一组。

步骤3判断是否仍有U-U 线网未被划分到某分组中。若有,则执行步骤4;若没有,转向步骤5。

步骤4将已经分组的线网从邻接矩阵中删除,得到新的邻接矩阵,转向步骤2。

步骤5判断是否仍有U-D线网没有分组,若有,每个U-D线网单独作为一组。

步骤6算法结束。

下面以图3 中待测试转接板上各线网为例,来阐述线网分组算法的过程。为了方便描述,图3 中的U-D 线网用对应的C4 凸点表示,即8 个U-D 线网分别用D1 到D8表示;三个U-U线网分别表示为:UU1=U3-U12,UU2=U8-U13,UU3=U15-U9-U10。

首先将各线网之间的关系转换为邻接矩阵,如式(1):

将矩阵式(1)中的UU3 和D3 项作平移变换得矩阵式(2):

矩阵式(2)是标准形式,从而可知UU1、UU2、D3 是邻接矩阵的极大独立集。因此,将UU1、UU2、D3 划分为一组。由于此时仍有UU3 没有分组,因此将UU1、UU2、D3从矩阵中删除,得到新的邻接矩阵(3):

将矩阵式(3)中的D1 和D2 项作平移变换得矩阵式(4):

矩阵式(4)是标准形式,因此得到极大独立集UU3、D2,将UU3、D2 线网划为一组。这时所有U-U 线网都已经划分到各组中,但仍有U-D 线网D1、D4、D5、D6、D7、D8没有分组,将每个U-D线网单独作为一组。因此最后的分组结果为{UU1,UU2,D3},{UU3,D2}、{D1}、{D4}、{D5}、{D6}、{D7}、{D8}。

分组完成后,通过在辅助转接板上布置导线将线网进行组内连接,如图5 所示。图中的虚线表示辅助转接板中布置的导线。

图5 组内连接

从图5 可以看出,组内连接后各分组将组成新的线网,并且每个新的线网都是U-D 线网。为了与图3 中最初的线网相区别,本文将图5 中的线网称为二级线网,将图3 中的线网称为一级线网。并且为方便描述,本文余下部分将会把二级U-D线网内部的微凸点省略掉,形成等价的二级U-D 线网,如图6 所示。与图5 相比,图6中省略掉了U9、U3、U12、U13这四个微凸点。

图6 组内连接后等价的U-D线网

3.2 分组间熔丝连接策略

在辅助转接板上布置熔丝将二级线网连接起来,是为了测试互连线的开路故障。对互连线开路故障进行测试的原理是在互连线的一端施加测试激励,在另一端接收测试响应。若接收到的测试响应与测试激励相同,则说明互连线无开路故障,否则互连线存在开路故障。在绑定前的转接板上,由于只能通过C4 凸点施加测试激励和获取测试响应,为了检测一条测试路径中的互连线是否存在开路故障,此测试路径至少要包含两个C4凸点,即至少存在两个U-D线网。

由于分组连接后形成的二级线网都是U-D线网,每个二级线网都含有一个C4 凸点,因此只要将两个或多个二级线网连接在一起就能够构成一条可以进行开路故障检测的测试路径。各二级线网间的连接是通过在辅助转接板上布置熔丝实现的,以便开路故障测试完成后,接着将熔丝熔断,不会影响短路故障的测试。

由于在线网中存在着大量的扇出,在构建测试路径时需要避免由于信号冲突而造成的开路故障覆盖率降低的问题。信号冲突是由于二级线网不同扇出的输入信号重新汇聚到一点,导致部分互连线的开路故障无法检测,如图7(a)所示。图7(a)将四个二级U-D 线网连成一条测试路径,在D1 处施加测试激励,D2 至D4 处获取测试响应。假设只有U3 与e 之间的连线存在开路故障,而U4 与D2 之间不存在开路故障。由于D2 接收U3和U4 点的信号,此时,D2 可以接收到正确的响应信号,从而导致U3-e 之间的开路故障无法检测。若采用图7(b)的连接方式,则不会存在信号冲突,就可以检测到所有互连线的开路故障。为避免信号冲突,需要满足如下的条件:若两个二级线网需要进行连接,则这两个二级线网只能通过一根熔丝进行连接。如图7(a)中,二级U-D 线网D1和D2间有两根熔丝连接,从而导致了信号的冲突。而在图7(b)中,二级线网D1和D2中只有一根熔丝相连,则没有产生信号冲突。

图7 信号冲突与无信号冲突示意图

除了信号冲突会造成开路故障覆盖率降低外,连接的方法也会造成故障覆盖率的降低,如图8所示。

图8 不同连接方法示意图

在图8(a)的连接方式中(D1 处施加测试激励,D3、D4 处获取测试响应),二级线网D2 未能接入测试路径,从而导致其开路故障无法测试,造成故障覆盖率的降低。而在图8(b)的连接方式中,所有的二级线网都可以测试。造成图8(a)这种现象的原因是由于单扇出二级线网(扇出为1 的二级线网)数量不足,无法与所有的多扇出二级线网(扇出大于1 的二级线网)的微凸点相连。为避免图8(a)这种现象,本文采用的方法是首先将多扇出二级线网进行连接,从而减少所需的单扇出二级线网数量。如在图8(b)中,首先将多扇出二级线网D1和D2进行连接,在本例子中将微凸点U2和U3进行连接。这样连接后,多扇出二级线网中仅余下U1和U4需要与单扇出二级线网进行连接,从而减少了所需的单扇出二级线网的数量。

在使用熔丝连接二级线网时,需要考虑的另一个问题是如何尽可能多地构建可以并行测试的测试路径,以减少熔丝的数量,如图9 所示。针对图9 中的六个二级U-D 线网,图9(a)只构建了一条测试路径(可以在D1处施加测试激励,在D2至D6这五个点获取测试响应),需要使用五根熔丝。而图9(b)构建了三个可以并行测试的测试路径(在C4 凸点D1、D3 和D5 处施加测试激励,在D2、D4 和D6 处获取测试响应),仅用了三根熔丝。图9(a)与图9(b)相比,虽然使用的熔丝数量减少了,但由于图9(b)的三条测试路径可以并行测试,因而这两种连接方式的测试时间是相同的。

图9 测试路径熔丝数比较

综上所述,为提高开路故障的覆盖率,最大化并行测试路径的数量,本文提出的二级线网间的熔丝连接算法如下所示。

输入:m 个多扇出二级线网,其扇出数量分别为MS1,MS2,…,MSm,以及n个单扇出二级线网。

输出:并行的测试路径。

步骤1使用m-1根熔丝,将m 个多扇出二级线网连接在一起。连接时,若两个二级线网需要进行连接,则这两个二级线网只能连接一根熔丝。

步骤4将余下的单扇出二级线网两两连接,即每两个单扇出二级线网形成一条测试路径;若最后余下一个单扇出线网没有连接,则任选一个二级线网与其连接。

步骤5算法结束。

分组间熔丝连接算法的完整过程可分为三部分,首先进行的是多扇出线网间的连接,然后进行多扇出线网与单扇出线网间的连接,最后进行单扇出线网间的连接。步骤1 将m 个多扇出线网进行连接,为避免信号冲突,连接这些多扇出线网需要使用m-1根熔丝。由于每根熔丝连接两个微凸点,步骤1 执行完成后,多扇出线网中还有个)微凸点未连接。步骤2和步骤3 是进行多扇出线网与单扇出线网的连接。根据单扇出二级线网数量n 与)的大小关系,分别执行步骤2 和步骤3,形成一条测试路径。若多扇出线网与单扇出线网连接后,单扇出线网还有剩余,则执行步骤4。在步骤4 中,每两个单扇出二级线网连接在一起形成一条测试路径。

根据熔丝连接算法,可以得到构建的测试路径的数量TP 为:

根据测试路径的数量可以进一步得到所需熔丝的数量:

下面以图6 作为熔丝连接算法的输入,讲述算法的连接过程。在图6 中,二级线网D4 和D6 为多扇出二级线网,其余的为单扇出二级线网。步骤1 就是将多扇出二级线网D4 和D6 进行连接,为避免信号冲突,只能使用一根熔丝。本例子中将微凸点U11 与U10 进行连接,如图10所示。步骤1执行完成后,多扇出二级线网中还有三个微凸点U4、U2 和U15 未连接。单扇出线网的数量为6,大于3,因而执行步骤3。在步骤3 中,U4、U2 和U15 分别与单扇出二级线网的微凸点U14、U7 和U8 相连。步骤3 执行完成后,还剩余三个单扇出二级线网。在步骤4 中,将U6 与U16 连接形成一条测试路径。对于余下的最后一个单扇出二级线网,其微凸点U17可以与任何其他的微凸点相连,本例子中将其与U16进行连接,至此算法结束。最终的连接结果如图10所示。

图10 组间熔丝连接算法举例

在图10 中构建了两条可以并行测试的路径。一条测试路径以C4 凸点D4 作为测试激励的输入,D6、D1、D2 和D3 处获取测试响应;另一条以D5 作为测试激励输入端,D7和D8处获取测试响应。

当辅助转接板上的熔丝和导线都连接好后,将辅助转接板与待测试转接板连接,对待测试转接板进行开路和短路故障测试。

首先测试开路故障,如图10 所示,在D4 和D5 处同时施加测试激励,若其他任何一处C4 凸点未接收到响应信号,则说明待测试转接板上存在开路故障。当开路故障测试完成后,将所有熔丝熔断,进行短路故障测试。如将图10中的熔丝熔断,得到图6。图6中有八组线网,首先在D1 处施加测试激励,在D2 至D8 处获取响应信号。若D2 至D8 中任何一点可以获取到与测试激励相同的响应信号,则说明待测试转接板上的互连线间存在短路故障。然后再依次在D2 点至D8 处分别施加测试激励,每次施加测试激励时都需要观察其他C4 凸点是否有响应信号。总共需要进行八次施加测试激励和观察测试响应。

4 实验结果与分析

本文将所提出的方法应用到七块待测试转接板上,分别与文献[15]和[16]比较了开路故障覆盖率、短路故障覆盖率和测试时间,同时也给出了本文方法构建的并行测试路径的数量及使用的熔丝数量。表1 是七块待测试转接板的参数。第一列是待测试转接板的名称,第二列至第五列是每块待测试转接板上U-D线网数量、U-U线网数量、线网的最大扇出以及多扇出线网数量。在实验中,每个线网在待测试转接板上的位置及扇出数都是随机生成的。

表1 待测试转接板的参数

表2 是文献[15]与本文方法的比较,表2 中第二列和第三列分别给出了本文方法构建的并行测试路径数量以及使用的熔丝数量。后面几列分别是测试时间、开路故障覆盖率以及短路故障覆盖率的比较。

从表2 可以看出,本文测试方法与文献[15]测试方法的开路故障覆盖率和短路故障覆盖率均为100%。但在文献[15]中,测试开路故障和短路故障分别需要一块辅助转接板,共需两块辅助转接板。而本文仅需一块辅助转接板,所需的硬件开销较小。此外,本文所提方案有效地减少了开路故障和短路故障的测试时间。从表2中也可以看出,本文方案的测试时间减少了49.6%~53.5%。这是因为在本方案中所构建的测试路径,可以并行地测试互连线的开路故障。但文献[15]方法所构建的多条测试路径存在着重叠部分,即部分线网会在多条测试路径中出现,因而不能够并行测试,增加了测试时间。

表3 是本文方法与文献[16]方法的比较。表3 中第二至第四列是开路故障覆盖率的比较。第五至第七列是短路故障覆盖率的比较。第八至第九列是测试时间的比较。

文献[16]的方法也仅用了一块辅助转接板,与本文方法使用的辅助转接板数量相同。但本文方法的开路故障覆盖率和短路故障覆盖率均达到了100%,要显著地高于文献[16]。这是因为文献[16]的方法会导致很多U-U 线网及多扇出线网中的部分扇出无法连接到开路和短路故障的测试路径中,使得故障覆盖率低。文献[16]方法的开路故障覆盖率最高为82.7%,最低仅为55.8%;短路故障覆盖率最高为77.5%,最低仅为54.5%。此外,从表3 中也可以看出,本文方案的测试时间有所增加。这是因为在文献[16]中,有部分线网未能连入开路、短路故障的测试路径,所构建的测试路径数量少,所以测试时间也较少。

5 总结

本文提出了在一块辅助转接板上布置导线和熔丝对绑定前转接板中的互连线进行开路和短路故障测试的新方案。该方案首先对待测试转接板上的互连线进行分组,每组内的互连线不会发生短路故障。然后在辅助转接板上布置导线,将这些互连线进行组内连接。接着再使用熔丝连接算法,进行组间连接,并最大化并行测试路径数量,以减少所需的熔丝数量。测试时,首先检测开路故障。当开路故障检测完成后,将所有熔丝熔断,再进行短路故障检测。实验结果表明,与使用两块辅助转接板的文献[15]测试方案相比,本文提出的方案不仅降低了测试成本,还减少了49.6%~53.5%的测试时间。与使用一块辅助转接板的文献[16]相比,本文方案的测试时间虽略有增加,但有效地提高了开路和短路故障覆盖率,使得开路故障覆盖率最大提高了79.2%,短路故障覆盖率最大提高了83.5%。

表2 文献[15]与本文测试方法比较

表3 文献[16]与本文测试方法比较

猜你喜欢
线网熔丝开路
熔丝制造的三维连续编织填充图案
图学学报(2022年2期)2022-05-09 06:48:14
高效水泥磨开路系统的改造
新型线网城轨乘客信息系统的研究与分析
轨道交通COCC线网信号系统设计
王旭鹏倾情献唱最新单曲《开路者》
青年歌声(2019年2期)2019-02-21 01:17:36
自然生物挖角开路
延续了两百年的“开路日”
中国公路(2017年16期)2017-10-14 01:04:46
高效率并行熔丝方案的设计
别克君威车散热风扇熔丝频繁熔断
紧凑型大都市区轨道线网形态配置研究