专利名称:一种边界扫描互联网络测试向量生成方法
技术领域:
本发明属于电路测试和故障诊断领域,特别涉及一种边界扫描互联网络测试向量生成方法。
背景技术:
在边界扫描测试中,被测电路的互连网络连接形式有很多种,常见的有以下几种 单驱动单响应型,单驱动多响应型,多驱动单响应型,多驱动多响应型和总线型等。电路连接形式对测试方法的选择有很大的影响。标准测试算法(如走步算法等)只能处理单驱动单响应的互连电路,如果要使用标准算法处理复杂电路,就要把复杂电路互连网络分解成可利用标准测试算法进行测试的简单网络。因此,如果想要解决实际电路的互连网络测试问题,就必须提出一种互连网络测试方法,使之适用于标准测试算法,真正实现边界扫描互连网络的测试。
发明内容
有鉴于此,本发明提供了一种边界扫描互联网络测试向量生成方法,采用最终生成的测试向量对被测电路板进行边界扫描测试,能够利用标准测试算法生成复杂互连网络的测试向量,从而对复杂互连网络进行边界扫描测试。为解决上述技术问题,本发明具体方法如下一种边界扫描互联网络测试向量生成方法,最终生成的测试向量用于对被测电路板进行边界扫描测试,包括如下步骤步骤1 分析被测电路中存在的互联网络,从各互联网络中筛选出网络中的每个管脚均具有可控边界扫描单元的互联网络作为可测网络;设被测电路板中共筛选出η个可测网络,记为NETi, i e [1,η],η为正整数;步骤2 分析η个可测网络的连接形式,得到每个可测网络中可独立驱动输出管脚的个数Ni,获取Ni的最大值记为Nmax ;步骤3 将第i个可测网络拆分为Ni种互不相同的测试方式,每种测试方式下该可测网络中的一个可驱动独立输出管脚输出,其他管脚作为响应;步骤4 建立Nmax组测试网络,每组测试网络由η个测试网络组成,每组测试网络记为[W1, W2, K,Wn],Wi是从可测网络NETi中选取的一种测试方式,且在选取时保证Nmax组测试网络覆盖了所有可测网络中的所有测试方式;步骤5 采用一种互联测试算法,得到每组测试网络的测试向量Fnxn ;步骤6 将各组测试向量进行合并,得到边界扫描互联网络的最终测试向量Faxb,a 为所有可测网络中总管脚个数,b = nXNmax。优选地,所述步骤4中,在选取时Wi时,判断被测电路各边界扫描器件各自和相互间是否存在管脚约束关系,如果有,则选取的[WpWyLWn]不能与该约束关系相冲突。其中,所述约束关系可以包括如果不同可测网络之间存在两个或两个以上必须同时输出的独立输出管脚,则选取[WnWyKjn]时,在每组中同时出现所述必须同时输出的独立输出管脚。所述约束关系还可以包括如果不同可测网络之间存在两个或两个以上必须不能同时输出的独立输出管脚,则选取[WnWyKjn]时,在一组中禁止同时出现所述不能同时输出的独立输出管脚。优选地,如果同一个可测网络NETx中有一组管脚需要同时输出而不能独立控制, 则该组管脚被作为一个可独立驱动输出管脚看待;那么,将NETx拆分成各种测试方式时,作为一个驱动独立输出管脚的一组管脚需要同时输出,其他管脚作为响应;且在步骤5在建立测试向量时,作为一个驱动独立输出管脚的一组管脚的输出向量置为相同。其中,所述标准互连测试算法包括计数补偿法、走步1算法、走步0算法。有益效果本发明通过对网络的分析和拆分,获得所有可能的测试组合,然后借助标准互联测试算法得到每组测试网络的测试向量,最后合成最终测试向量。该方法能够解决实际电路各种复杂连接形式,利用标准互连测试算法均可实现边界扫描互连网络的测试并提高了测试的覆盖率和隔离率。
图1为本发明所述边界扫描互连网络测试向量生成方法流程示意图;图2为本发明实施例1中的测试示例图。
具体实施例方式下面结合附图与具体实施方式
对本发明作进一步详细说明。本发明所述方法的实施例参考图2,图2所示的电路结构中包括两个边界扫描器件U1、U2,U1和U2之间有7组互连网络,分别为NETl NET6和GND,其中GND为边界扫描不可测网络。U1、U2所有的管脚1 7均可独立控制可做驱动可做响应。该电路结构将作为本发明所提供的边界扫描互连网络测试向量生成方法的实施对象之一。实施具体步骤如下步骤1、分析被测电路中存在的互联网络,从各互联网络中筛选出每个管脚均具有可控边界扫描单元的互联网络作为可测网络。设被测电路板中共筛选出η个可测网络,记为NETi, i e [1,η],η为正整数。被筛选掉的网络一般为电源网络、地网络等。其中,被测电路至少包含一个边界扫描器件,该边界扫描器件至少支持IEEEl 149. 1、IEEEl 149. 4、IEEEl 149. 6三个标准中的一个。所述的互联网络是指一个或一个以上边界扫描器件中互联的两个或两个以上的管脚构成的网络。本实施例中,两个边界扫描器件Ul、U2,Ul和U2之间有7组互连网络,NETl NET6 均为可测网络,排除不可测网络GND。因此将分析对象确定为NETl NET6。步骤2 分析η个可测网络的连接形式,得到每个可测网络中可独立驱动输出管脚的个数Ni (简称为独立驱动数),获取Ni的最大值记为Nmax。其中,可独立驱动输出管脚是指管脚的输出不受其他管脚影响,也不受其他管脚制约,可以被独立控制的管脚。本实施例中,NETl NET6中,NETl NET5只有两个边界扫描管脚,为单驱动单响应网络,且每个网络的管脚,如NETl的Ul-1、U2-1均可作为可独立驱动输出管脚,因此 NETl NET5独立驱动数均为2。NET6包含4个边界扫描管脚,每个管脚可独立作为驱动, 因此NET6独立驱动数为4。所以N1 N5均等于2,N6 = 4,那么所有的网络NETl NET6 最大独立驱动数Nmax = 4。步骤3、将第i个可测网络拆分为Ni种互不相同的测试方式,每种测试方式下该可测网络中的一个可驱动独立输出管脚输出,其他管脚作为响应。本实施例中,将NET6拆分为4种测试方式,其分别以Ul的7管脚、U2的7管脚、 U2的8管脚、U2的9管脚作为驱动独立输出,且当一个管脚作为驱动独立输出时,其他管脚作为响应。NETl NET5相同,均被拆分为两种测试方式,以NETl为例,两种测试方式分别以Ul的1管脚和U2的1管脚作为驱动独立输出。为了方便记录,本实施例中,按驱动管脚命名测试方式,记为NETi [Up-q],其中,i 为可测网络的编号,P为驱动管脚所在芯片编号,q为驱动管脚在芯片上的管脚号。那么,参看图2,按照上述命名方式,则将NETl NET6的各种测试方式分别记为NETl-记为 NETl [U1-1]和 NETl [U2-1];NET2-记为 NET2 [U1-2]和 NET2 [U2-2];NET3-记为 NET3 [U1-3]和 NET3 [U2-3];NET4-记为 NET4[Ul-4]和 NET4[U2_4];NET5-记为 NET5 [U1-5]和 NET5 [U2-5];NET6-记为 NET6 [Ul-7]、NET6 [U2-7]、NET6 [U2-8]、NET6 [U2-9]。步骤4 建立Nmax组测试网络,每组测试网络由η个测试网络组成,记为[W1, W2, K, Wn],Wi是从可测网络NETi中选取的一种测试方式,且在选取时保证Nmax组测试网络覆盖了所有可测网络中的所有测试方式。 本实施例中,Nmax为4,组合后有4组测试网络,每组测试网络由6个测试网络[W1, W2, W3,W4,W5,W6]组成。选取Wi时,可以首先选择Nmax所在的网络即ΝΕΤ6的4种拆分方式作为4组测试网络中的^,再按照独立驱动数由大到小的方式依次选择,保证每个网络的每个拆分方式均在网络组中出现过,可以重复选取。如,新的4组测试网络可能为如下组合方式第一组NETl [U1-1]NET2[Ul-2]NET3[Ul-3]NET4 [U 1-4]NET5[Ul-5]NET6 [Ul-7]第二组NETl [U2-1]NET2 [U2-2]
NET3 [U2-3]NET4 [U2-4]NET5 [U2-5]NET6 [U2-7]第三组NETl [U2-1]NET2 [U2-2]NET3 [U2-3]NET4 [U2-4]NET5 [U2-5]NET6 [U2-8]第四组NETl [U2-1]NET2 [U2-2]NET3 [U2-3]NET4 [U2-4]NET5 [U2-5]NET6 [U2-9]由以上组合方式可见,NETl NET5中网络两端管脚一端作为输出被选取一次, 另一端作为输出被选取两次,当然也可以均被选取过两次,例如第四组为NET1[U1-1], NET2[U1-2],NET3[U1-3],NET4[U1-4],NET5[U1-5],NET6[U2-9]。此夕卜,网络中还可能存在一些强制性的约束关系,那么在选取[WpWyWyWyW5U 时进一步考虑网络中的约束。本实施例中,由于每个管脚没有约束关系,因此这些网络之间不存在冲突。如果各管脚之间存在约束,则需要考虑该情况,例如下面两种情况情况一、不同可测网络之间存在两个或两个以上必须同时输出的独立输出管脚, 则在选取[WnW2IWn]时,在每组中同时出现所述必须同时输出的独立输出管脚。例如,如果NETl [U2-1]、NET2 [U2-2]需同时输出,则在建立分组时,需要令NETl [U2_l]、NET2 [U2-2] 同时在一组测试网络中。情况二、同理,如果不同可测网络之间存在两个或两个以上必须不能同时输出的独立输出管脚,则选取[W1, W2, K,Wn]时,在一组中禁止同时出现所述不能同时输出的独立输出管脚。例如,如果NETl[U2-l]、NET2[U2-2]不允许同时输出,则在建立分组时, NETl[U2-l]、NET2[U2-2]不能同时在一组测试网络中。步骤5 采用一种互联测试算法,例如标准互联测试算法得到每组测试网络的测试向量FnXn。测试向量的列对应一次测试,列中的数据表示测试网络在本次测试中各管脚的输出。标准互连测试算法包括计数补偿法、走步1算法、走步0算法等。本实施例中,选择走步1算法,按照重新分组后的网络,分别产生边界扫描互连测试向量。第一组测试网络中驱动管脚U1-1、U1-2、U1-3、U1-4、U1-5、U1_7的测试向量为A6x6, 所有其他管脚作为响应,向量则任意。第二组中驱动管脚U2-1、U2-2、U2-3、U2-4、U2_5、U2-7的测试向量为 X6,所有其他管脚作为响应,向量则任意。第三组中驱动管脚U2-l、U2-2、 U2-3、U2-4、U2-5、U2-8的测试向量为C6x6,所有其他管脚作为响应,向量则任意。第四组中驱动管脚U2-1、U2-2、U2-3、U2_4、U2_5、U2-9的测试向量为D6x6,所有其他管脚作为响应, 向量则任意。
权利要求
1.一种边界扫描互联网络测试向量生成方法,最终生成的测试向量用于对被测电路板进行边界扫描测试;其特征在于,包括如下步骤步骤1 分析被测电路中存在的互联网络,从各互联网络中筛选出网络中的每个管脚均具有可控边界扫描单元的互联网络作为可测网络;设被测电路板中共筛选出η个可测网络,记为NETi, i e [1,η],η为正整数;步骤2 分析η个可测网络的连接形式,得到每个可测网络中可独立驱动输出管脚的个数Ni,获取Ni的最大值记为Nmax ;步骤3 将第i个可测网络拆分为Ni种互不相同的测试方式,每种测试方式下该可测网络中的一个可驱动独立输出管脚输出,其他管脚作为响应;步骤4 建立Nmax组测试网络,每组测试网络由η个测试网络组成,每组测试网络记为 [W1, W2, K,Wn],Wi是从可测网络NETi中选取的一种测试方式,且在选取时保证Nmax组测试网络覆盖了所有可测网络中的所有测试方式;步骤5 采用一种互联测试算法,得到每组测试网络的测试向量;步骤6:将各组测试向量进行合并,得到边界扫描互联网络的最终测试向量Faxb,a为所有可测网络中总管脚个数,b = nXNmax。
2.如权利要求1所述的方法,其特征在于,所述步骤4中,在选取时Wi时,判断被测电路各边界扫描器件各自和相互间是否存在管脚约束关系,如果有,则选取的[WnWyKjn]不能与该约束关系相冲突。
3.如权利要求2所述的方法,其特征在于,所述约束关系包括如果不同可测网络之间存在两个或两个以上必须同时输出的独立输出管脚,则选取[WnW2IWn]时,在每组中同时出现所述必须同时输出的独立输出管脚。
4.如权利要求2所述的方法,其特征在于,所述约束关系包括如果不同可测网络之间存在两个或两个以上必须不能同时输出的独立输出管脚,则选取[WnW2Ajn]时,在一组中禁止同时出现所述不能同时输出的独立输出管脚。
5.如权利要求1所述的方法,其特征在于,如果同一个可测网络NETx中有一组管脚需要同时输出而不能独立控制,则该组管脚被作为一个可独立驱动输出管脚看待;那么,将NETx拆分成各种测试方式时,作为一个驱动独立输出管脚的一组管脚需要同时输出,其他管脚作为响应;且在步骤5在建立测试向量时,作为一个驱动独立输出管脚的一组管脚的输出向量置为相同。
6.如权利要求1所述的方法,其特征在于,所述标准互连测试算法包括计数补偿法、走步1算法、走步0算法。
全文摘要
本发明公开了一种边界扫描互联网络测试向量生成方法,首先从被测电路中筛选出所有可测网络;分析每个可测网络中可独立驱动输出管脚的个数Ni,最大值记为Nmax;将每个可测网络拆分为Ni种互不相同的测试方式,每种测试方式下该可测网络中的一个可驱动独立输出管脚输出,其他管脚作为响应。建立Nmax组测试网络,选取时保证Nmax组测试网络覆盖了所有可测网络中的所有测试方式;采用一种互联测试算法,得到每组测试网络的测试向量;将各组测试向量进行合并,得到边界扫描互联网络的最终测试向量。使用本发明能够利用标准测试算法生成复杂互连网络的测试向量,从而对复杂互连网络进行边界扫描测试。
文档编号G01R31/28GK102495347SQ20111039228
公开日2012年6月13日 申请日期2011年12月1日 优先权日2011年12月1日
发明者安佰岳, 徐鹏程, 杜颖, 王石记 申请人:北京航天测控技术有限公司