基于JTAG的互连测试技术
扫描二维码
随时随地手机看文章
一、引言
随着微电子技术进入超大规模集成电路(VLSI)时代,VLSI电路的高度复杂性及多层印制板、表面贴装(SMT)、圆片规模集成(WSI)和多芯片模块 (MCM)技术在电路系统中的运用,使得电路节点的物理可访问性正逐步削减以至于消失,电路和系统的可测试性急剧下降,测试费用在电路和系统总费用中所占 的比例不断上升,常规测试方法正面临着日趋严重的困难。
测试算法的研究和测试实践证明了一个基本的事实:要对一个不具有可观测性的电路进行测试是徒劳的,只有提高电路的可测性设计(design for testability,DFT),才能使电路的测试问题得到简化并最终得到解决。而近年来飞速发展的JTAG边界扫描技术很好的解决了这个问题,边界扫 描技术是迄今为止最成熟的DFT技术,它已经成为DFT的主要手段,对于DFT技术的发展具有深远的影响。而其中互连测试又是其中最关键的技术之一。
二、互连测试的原理
基于IEEE Std 1149.1(即JTAG协议)制定边界扫描方法的检测逻辑结构,是用边界扫描单元组成的边界扫描链,每个单元介于外部管脚与内部逻辑之间,并且是串行连接的,由TAP(检测口控制器)来控制数据链在边界扫描链中的动作。
互连测试主要是指对电路板上器件之间互连线的测试,主要检测电路板级的开路、短路或者呆滞型等故障。互连测试是引进边界扫描测试技术的一个主要原因,因此 在IEEE 1149.1标准中,互连测试指令(EXTEST)是一条强制性指令,所有BS(Boundary Scan)器件都支持互连测试。
互连测试是最主要的测试任务,很多测试都是依据互连测试的原理进行的。图1是互连测试原理图。
在图1的互连测试中,基本的测试路线是:扫描单元、驱动器件、边界线、路径、焊接、接口、焊接、路径、边界线、驱动器件、扫描单元。
扫描单元就像虚拟探针,要测试BS器件之间的连线是否正常,可以通过给输出型单元赋值,从输出型扫描单元捕获这个值的方法来进行判断。驱动测试激励的芯 片扫描置入的测试指令为EXTEST,接收测试响应的芯片扫描置入的指令为SAMPLE或者EXTEST。至于输入多少测试激励,每一组测试激励又是什么 样的值,这是由测试矢量生成算法决定的,选用的测试算法,测试矢量也不尽相同。
下面用一个简单的例子(图2)来说明互连测试的原理。
通过输入三组测试矢量
从接收端单元得到三组测试响应
通过一定的故障诊断算法就可以检测到图2中net1和net2存在逻辑与的桥接短路故障,net4存在固定为0的呆滞型故障。
三、互连测试的主要功能
1.可以检测电路板上面的开路故障,并能精确定位到具体的引脚;
2.可以检测电路板上面的桥接短路故障,并能精确定位到桥接的具体网络和引脚;
3.可以检测呆滞型故障,并能够精确定位到具体的引脚;
4.检测其余不知名的故障(测试响应与期望响应不一致,但不属于以上三类故障)。
四、互连测试的基本算法
互连测试的基本算法有走步1算法(walk-1)、走步0算法(walk-0)、改良记数序列算法(MCSA)、计数/补偿算法 (True/Compliment)和等权值抗混迭算法等。下面假设待测互连网络数目为n,分别介绍各个算法。在这种情况下,每个算法的矢量长度都为n, 不同的是各种算法需要的测试矢量数目不一样,因而测试时间也不一样。
1.走步1算法(walk-1)
走步1算法的初始测试矢量可以设为1,0,0,...,0。然后让1顺序移位,所以称为走步1算法。这种算法的测试矢量格式为n。走步1算法是比较完备的 算法,它能够检测所有固定逻辑故障、开路故障和短路故障,并且能对固定的逻辑故障、开路故障和逻辑短路故障进行精确定位。
2.走步0算法(walk-0)
走步0算法与走步1算法算法互补,它的初始测试矢量可以设为0,1,1,...,1。然后让0顺序移位,所以称为走步0算法。这种算法的测试矢量个数也 为n。走步0算法也是比较完备的算法,它能够检测所有固定逻辑故障、开路故障和短路故障,并能对它们进行定位。
3.改良记数序列算法
改良记数序列算法要求各个串行矢量各不相同,同时要求具有最少的并行测试矢量数。可以证明这时需要最大的串行测试矢量的个数为log2(n+2) 向上取整。改良记数序列算法能够检测所有固定逻辑故障、开路故障和短路故障,但是不能对故障进行精确定位,它是能够发现所有故障的最紧凑算法之一。
4.记数/补偿算法(True/Compliment)
记数补偿算法是对改良记数序列算法的一种改进,为了增加测试矢量在故障诊断时的抗混淆能力,给各个测试矢量求反,得到一组新的测试矢量。这时测试矢量的 数目为2log2(n+2),相对改良记数序列算法而言,它的故障定位能力有所提高,但是还不能保证对故障进行精确诊断。
5.等权值抗混迭算法
等权值抗混迭算法要求各个串行测试矢量的权值相等,同时要求各个串行测试矢量各不相同,在这两个前提下,要求得到测试矢量数目最小。等权值抗混迭算法可以 抗故障混迭,但是不能抗故障混淆,紧凑性良好。相对于前面算法,它的故障定位能力有所提高,但是还不能保证对故障的精确诊断。
不同的测试算法生成的测试矢量集不一样,测试运行的时间也不一样,测试矢量的抗混迭和抗混淆的能力也不一样,也就是故障定位能力各不一样。在实际运用中,需要根据待测网络数目进行灵活选取。
五、应用场合和应用价值
互连测试可以在任何场合应用,包括板极测试与系统级测试,包括开发调试、生产测试、维修测试等过程。互连测试是边界扫描技术的主要应用之一,通过互连测试能够检测到电路板上互连的结构性故障。