一种边界扫描互联网络测试向量生成方法转让专利

申请号 : CN201110392287.3

文献号 : CN102495347B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐鹏程杜颖王石记安佰岳

申请人 : 北京航天测控技术有限公司

摘要 :

本发明公开了一种边界扫描互联网络测试向量生成方法,首先从被测电路中筛选出所有可测网络;分析每个可测网络中可独立驱动输出管脚的个数Ni,最大值记为Nmax;将每个可测网络拆分为Ni种互不相同的测试方式,每种测试方式下该可测网络中的一个可驱动独立输出管脚输出,其他管脚作为响应。建立Nmax组测试网络,选取时保证Nmax组测试网络覆盖了所有可测网络中的所有测试方式;采用一种互联测试算法,得到每组测试网络的测试向量;将各组测试向量进行合并,得到边界扫描互联网络的最终测试向量。使用本发明能够利用标准测试算法生成复杂互连网络的测试向量,从而对复杂互连网络进行边界扫描测试。

权利要求 :

1.一种边界扫描互联网络测试向量生成方法,最终生成的测试向量用于对被测电路板进行边界扫描测试;其特征在于,包括如下步骤:步骤1:分析被测电路中存在的互联网络,从各互联网络中筛选出网络中的每个管脚均具有可控边界扫描单元的互联网络作为可测网络;设被测电路板中共筛选出n个可测网络,记为NETi,i∈[1,n],n为正整数;

步骤2:分析n个可测网络的连接形式,得到每个可测网络中可独立驱动输出管脚的个数Ni,获取Ni的最大值记为Nmax;

步骤3:将第i个可测网络拆分为Ni种互不相同的测试方式,每种测试方式下该可测网络中的一个可驱动独立输出管脚输出,其他管脚作为响应;

步骤4:建立Nmax组测试网络,每组测试网络由n个测试网络组成,每组测试网络记为[W1,W2,...,Wn],Wi是从可测网络NETi中选取的一种测试方式,且在选取时保证Nmax组测试网络覆盖了所有可测网络中的所有测试方式;

步骤5:采用一种互联测试算法,得到每组测试网络的测试向量;

步骤6:将各组测试向量进行合并,得到边界扫描互联网络的最终测试向量Fa×b,a为所有可测网络中总管脚个数,b=n×Nmax。

2.如权利要求1所述的方法,其特征在于,所述步骤4中,在选取时Wi时,判断被测电路各边界扫描器件各自和相互间是否存在管脚约束关系,如果有,则选取的[W1,W2,...,Wn]不能与该约束关系相冲突。

3.如权利要求2所述的方法,其特征在于,所述约束关系包括:如果不同可测网络之间存在两个或两个以上必须同时输出的独立输出管脚,则选取[W1,W2,...,Wn]时,在每组中同时出现所述必须同时输出的独立输出管脚。

4.如权利要求2所述的方法,其特征在于,所述约束关系包括:如果不同可测网络之间存在两个或两个以上必须不能同时输出的独立输出管脚,则选取[W1,W2,...,Wn]时,在一组中禁止同时出现所述不能同时输出的独立输出管脚。

5.如权利要求1所述的方法,其特征在于,如果同一个可测网络NETi中有一组管脚需要同时输出而不能独立控制,则该组管脚被作为一个可独立驱动输出管脚看待;

那么,将NETi拆分成各种测试方式时,作为一个驱动独立输出管脚的一组管脚需要同时输出,其他管脚作为响应;且在步骤5在建立测试向量时,作为一个驱动独立输出管脚的一组管脚的输出向量置为相同。

6.如权利要求1所述的方法,其特征在于,所述互联测试算法包括计数补偿法、走步1算法、走步0算法。

说明书 :

一种边界扫描互联网络测试向量生成方法

技术领域

[0001] 本发明属于电路测试和故障诊断领域,特别涉及一种边界扫描互联网络测试向量生成方法。

背景技术

[0002] 在边界扫描测试中,被测电路的互连网络连接形式有很多种,常见的有以下几种:单驱动单响应型,单驱动多响应型,多驱动单响应型,多驱动多响应型和总线型等。电路连接形式对测试方法的选择有很大的影响。
[0003] 标准测试算法(如走步算法等)只能处理单驱动单响应的互连电路,如果要使用标准算法处理复杂电路,就要把复杂电路互连网络分解成可利用标准测试算法进行测试的简单网络。因此,如果想要解决实际电路的互连网络测试问题,就必须提出一种互连网络测试方法,使之适用于标准测试算法,真正实现边界扫描互连网络的测试。

发明内容

[0004] 有鉴于此,本发明提供了一种边界扫描互联网络测试向量生成方法,采用最终生成的测试向量对被测电路板进行边界扫描测试,能够利用标准测试算法生成复杂互连网络的测试向量,从而对复杂互连网络进行边界扫描测试。
[0005] 为解决上述技术问题,本发明具体方法如下:
[0006] 一种边界扫描互联网络测试向量生成方法,最终生成的测试向量用于对被测电路板进行边界扫描测试,包括如下步骤:
[0007] 步骤1:分析被测电路中存在的互联网络,从各互联网络中筛选出网络中的每个管脚均具有可控边界扫描单元的互联网络作为可测网络;设被测电路板中共筛选出n个可测网络,记为NETi,i∈[1,n],n为正整数;
[0008] 步骤2:分析n个可测网络的连接形式,得到每个可测网络中可独立驱动输出管脚的个数Ni,获取Ni的最大值记为Nmax;
[0009] 步骤3:将第i个可测网络拆分为Ni种互不相同的测试方式,每种测试方式下该可测网络中的一个可驱动独立输出管脚输出,其他管脚作为响应;
[0010] 步骤4:建立Nmax组测试网络,每组测试网络由n个测试网络组成,每组测试网络记为[W1,W2,…,Wn],Wi是从可测网络NETi中选取的一种测试方式,且在选取时保证Nmax组测试网络覆盖了所有可测网络中的所有测试方式;
[0011] 步骤5:采用一种互联测试算法,得到每组测试网络的测试向量Fn×n;
[0012] 步骤6:将各组测试向量进行合并,得到边界扫描互联网络的最终测试向量Fa×b,a为所有可测网络中总管脚个数,b=n×Nmax。
[0013] 优选地,所述步骤4中,在选取时Wi时,判断被测电路各边界扫描器件各自和相互间是否存在管脚约束关系,如果有,则选取的[W1,W2,…,Wn]不能与该约束关系相冲突。
[0014] 其中,所述约束关系可以包括:如果不同可测网络之间存在两个或两个以上必须同时输出的独立输出管脚,则选取[W1,W2,…,Wn]时,在每组中同时出现所述必须同时输出的独立输出管脚。
[0015] 所述约束关系还可以包括:如果不同可测网络之间存在两个或两个以上必须不能同时输出的独立输出管脚,则选取[W1,W2,…,Wn]时,在一组中禁止同时出现所述不能同时输出的独立输出管脚。
[0016] 优选地,如果同一个可测网络NETx中有一组管脚需要同时输出而不能独立控制,则该组管脚被作为一个可独立驱动输出管脚看待;
[0017] 那么,将NETx拆分成各种测试方式时,作为一个驱动独立输出管脚的一组管脚需要同时输出,其他管脚作为响应;且在步骤5在建立测试向量时,作为一个驱动独立输出管脚的一组管脚的输出向量置为相同。
[0018] 其中,所述互联测试算法包括计数补偿法、走步1算法、走步0算法。
[0019] 有益效果:
[0020] 本发明通过对网络的分析和拆分,获得所有可能的测试组合,然后借助标准互联测试算法得到每组测试网络的测试向量,最后合成最终测试向量。该方法能够解决实际电路各种复杂连接形式,利用互联测试算法均可实现边界扫描互连网络的测试并提高了测试的覆盖率和隔离率。

附图说明

[0021] 图1为本发明所述边界扫描互连网络测试向量生成方法流程示意图;
[0022] 图2为本发明实施例1中的测试示例图。

具体实施方式

[0023] 下面结合附图与具体实施方式对本发明作进一步详细说明。
[0024] 本发明所述方法的实施例参考图2,图2所示的电路结构中包括两个边界扫描器件U1、U2,U1和U2之间有7组互连网络,分别为NET1~NET6和GND,其中GND为边界扫描不可测网络。U1、U2所有的管脚1~7均可独立控制可做驱动可做响应。该电路结构将作为本发明所提供的边界扫描互连网络测试向量生成方法的实施对象之一。实施具体步骤如下:
[0025] 步骤1、分析被测电路中存在的互联网络,从各互联网络中筛选出每个管脚均具有可控边界扫描单元的互联网络作为可测网络。设被测电路板中共筛选出n个可测网络,记为NETi,i∈[1,n],n为正整数。
[0026] 被筛选掉的网络一般为电源网络、地网络等。其中,被测电路至少包含一个边界扫描器件,该边界扫描器件至少支持IEEE1149.1、IEEE1149.4、IEEE1149.6三个标准中的一个。所述的互联网络是指一个或一个以上边界扫描器件中互联的两个或两个以上的管脚构成的网络。
[0027] 本实施例中,两个边界扫描器件U1、U2,U1和U2之间有7组互连网络,NET1~NET6均为可测网络,排除不可测网络GND。因此将分析对象确定为NET1~NET6。
[0028] 步骤2:分析n个可测网络的连接形式,得到每个可测网络中可独立驱动输出管脚的个数N(i 简称为独立驱动数),获取Ni的最大值记为Nmax。其中,可独立驱动输出管脚是指管脚的输出不受其他管脚影响,也不受其他管脚制约,可以被独立控制的管脚。
[0029] 本实施例中,NET1~NET6中,NET1~NET5只有两个边界扫描管脚,为单驱动单响应网络,且每个网络的管脚,如NET1的U1-1、U2-1均可作为可独立驱动输出管脚,因此NET1~NET5独立驱动数均为2。NET6包含4个边界扫描管脚,每个管脚可独立作为驱动,因此NET6独立驱动数为4。所以N1~N5均等于2,N6=4,那么所有的网络NET1~NET6最大独立驱动数Nmax=4。
[0030] 步骤3、将第i个可测网络拆分为Ni种互不相同的测试方式,每种测试方式下该可测网络中的一个可驱动独立输出管脚输出,其他管脚作为响应。
[0031] 本实施例中,将NET6拆分为4种测试方式,其分别以U1的7管脚、U2的7管脚、U2的8管脚、U2的9管脚作为驱动独立输出,且当一个管脚作为驱动独立输出时,其他管脚作为响应。NET1~NET5相同,均被拆分为两种测试方式,以NET1为例,两种测试方式分别以U1的1管脚和U2的1管脚作为驱动独立输出。
[0032] 为了方便记录,本实施例中,按驱动管脚命名测试方式,记为NETi[Up-q],其中,i为可测网络的编号,p为驱动管脚所在芯片编号,q为驱动管脚在芯片上的管脚号。
[0033] 那么,参看图2,按照上述命名方式,则将NET1~NET6的各种测试方式分别记为:
[0034] NET1——记为NET1[U1-1]和NET1[U2-1];
[0035] NET2——记为NET2[U1-2]和NET2[U2-2];
[0036] NET3——记为NET3[U1-3]和NET3[U2-3];
[0037] NET4——记为NET4[U1-4]和NET4[U2-4];
[0038] NET5——记为NET5[U1-5]和NET5[U2-5];
[0039] NET6——记为NET6[U1-7]、NET6[U2-7]、NET6[U2-8]、NET6[U2-9]。
[0040] 步骤4:建立Nmax组测试网络,每组测试网络由n个测试网络组成,记为[W1,W2,…,Wn],Wi是从可测网络NETi中选取的一种测试方式,且在选取时保证Nmax组测试网络覆盖了所有可测网络中的所有测试方式。
[0041] 本实施例中,Nmax为4,组合后有4组测试网络,每组测试网络由6个测试网络[W1,W2,W3,W4,W5,W6]组成。选取Wi时,可以首先选择Nmax所在的网络即NET6的4种拆分方式作为4组测试网络中的W6,再按照独立驱动数由大到小的方式依次选择,保证每个网络的每个拆分方式均在网络组中出现过,可以重复选取。如,新的4组测试网络可能为如下组合方式:
[0042] 第一组:
[0043] NET1[U1-1]
[0044] NET2[U1-2]
[0045] NET3[U1-3]
[0046] NET4[U1-4]
[0047] NET5[U1-5]
[0048] NET6[U1-7]
[0049] 第二组
[0050] NET1[U2-1]
[0051] NET2[U2-2]
[0052] NET3[U2-3]
[0053] NET4[U2-4]
[0054] NET5[U2-5]
[0055] NET6[U2-7]
[0056] 第三组
[0057] NET1[U2-1]
[0058] NET2[U2-2]
[0059] NET3[U2-3]
[0060] NET4[U2-4]
[0061] NET5[U2-5]
[0062] NET6[U2-8]
[0063] 第四组
[0064] NET1[U2-1]
[0065] NET2[U2-2]
[0066] NET3[U2-3]
[0067] NET4[U2-4]
[0068] NET5[U2-5]
[0069] NET6[U2-9]
[0070] 由以上组合方式可见,NET1~NET5中网络两端管脚一端作为输出被选取一次,另一端作为输出被选取两次,当然也可以均被选取过两次,例如第四组为:NET1[U1-1],NET2[U1-2],NET3[U1-3],NET4[U1-4],NET5[U1-5],NET6[U2-9]。
[0071] 此外,网络中还可能存在一些强制性的约束关系,那么在选取[W1,W2,W3,W4,W5,W6]时进一步考虑网络中的约束。本实施例中,由于每个管脚没有约束关系,因此这些网络之间不存在冲突。如果各管脚之间存在约束,则需要考虑该情况,例如下面两种情况:
[0072] 情况一、不同可测网络之间存在两个或两个以上必须同时输出的独立输出管脚,则在选取[W1,W2,…,Wn]时,在每组中同时出现所述必须同时输出的独立输出管脚。例如,如果NET1[U2-1]、NET2[U2-2]需同时输出,则在建立分组时,需要令NET1[U2-1]、NET2[U2-2]同时在一组测试网络中。
[0073] 情况二、同理,如果不同可测网络之间存在两个或两个以上必须不能同时输出的独立输出管脚,则选取[W1,W2,…,Wn]时,在一组中禁止同时出现所述不能同时输出的独立输出管脚。例如,如果NET1[U2-1]、NET2[U2-2]不允许同时输出,则在建立分组时,NET1[U2-1]、NET2[U2-2]不能同时在一组测试网络中。
[0074] 步骤5:采用一种互联测试算法,例如标准互联测试算法得到每组测试网络的测试向量Fn×n。测试向量的列对应一次测试,列中的数据表示测试网络在本次测试中各管脚的输出。
[0075] 互联测试算法包括计数补偿法、走步1算法、走步0算法等。
[0076] 本实施例中,选择走步1算法,按照重新分组后的网络,分别产生边界扫描互连测试向量。第一组测试网络中驱动管脚U1-1、U1-2、U1-3、U1-4、U1-5、U1-7的测试向量为A6×6,所有其他管脚作为响应,向量则任意。第二组中驱动管脚U2-1、U2-2、U2-3、U2-4、U2-5、U2-7的测试向量为B6×6,所有其他管脚作为响应,向量则任意。第三组中驱动管脚U2-1、U2-2、U2-3、U2-4、U2-5、U2-8的测试向量为C6×6,所有其他管脚作为响应,向量则任意。第四组中驱动管脚U2-1、U2-2、U2-3、U2-4、U2-5、U2-9的测试向量为D6×6,所有其他管脚作为响应,向量则任意。
[0077]
[0078]
[0079] 步骤6、将各组测试向量进行合并,得到边界扫描互联网络的最终测试向量Fa×b,a为所有可测网络中总管脚个数,b=n×Nmax。最终测试向量是各组测试向量的合并,其每一列对应一次测试,列中的数据表示所有在本次测试中被测电路中所有可独立驱动输出管脚的输出。
[0080] 本实施例中,将4组测试向量重新组合得到最终测试向量F14×24。
[0081]
[0082] 从上述F可以看出,在合并时,F的行数为所有可测网络的管脚数量总和,即F需覆盖所有可测网络中所有具有可控边界扫描单元的管脚。F的列数为步骤5确定的每个测试向量矩阵的列数量总和,并且步骤5确定的每个向量的每一列均搬移到F中,然后将空元素补为零。
[0083] 至此,本流程结束。
[0084] 最终,施加最终测试向量对电路进行边界扫描互连测试。本实施例中,采用F14×24每一个列向量作为一次测试的数据,进行24次测试。
[0085] 在实际中,还可能出现同一个可测网络不是每一个管脚都是可独立驱动输出管脚的情况,而是一组管脚需要同时输出而不能独立控制,则该组管脚被作为一个可独立驱动输出管脚看待。那么,将NETx拆分成各种测试方式时,作为一个驱动独立输出管脚的一组管脚需要同时输出,其他管脚作为响应;且在步骤5在建立测试向量时,作为一个驱动独立输出管脚的一组管脚的输出向量置为相同。
[0086] 如图2所示,假设U2的7、8管脚需要同时输出,则它们作为一个可独立驱动输出管脚,那么该可测网络的独立驱动数为3。
[0087] 则3组测试网络可以为如下组合方式:
[0088] 第一组:
[0089] NET1[U1-1]
[0090] NET2[U1-2]
[0091] NET3[U1-3]
[0092] NET4[U1-4]
[0093] NET5[U1-5]
[0094] NET6[U1-7]
[0095] 第二组
[0096] NET1[U2-1]
[0097] NET2[U2-2]
[0098] NET3[U2-3]
[0099] NET4[U2-4]
[0100] NET5[U2-5]
[0101] NET6[U2-7]
[0102] NET6[U2-8]
[0103] 第三组
[0104] NET1[U2-1]
[0105] NET2[U2-2]
[0106] NET3[U2-3]
[0107] NET4[U2-4]
[0108] NET5[U2-5]
[0109] NET6[U2-9]
[0110] 那么选择走步1算法获得各测试网络的测试向量为:
[0111]
[0112]
[0113] 则合并后的测试向量为:
[0114]
[0115] 上述F14×18中,空元素均补零。
[0116] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。