微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于JTAG的互连测试技术

基于JTAG的互连测试技术

时间:10-30 来源:今日电子 点击:
一、引言

随着微电子技术进入超大规模集成电路(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.等权值抗混迭算法
等权值抗混迭算法要求各个串行测试矢量的权值相等,同时要求各个串行测试矢量各不相同,在这两个前提下,要求得到测试矢量数目最小。等权值抗混迭算法可以 抗故障混迭,但是不能抗故障混淆,紧凑性良好。相对于前面算法,它的故障定位能力有所提高,但是还不能保证对故障的精确诊断。
不同的测试算法生成的测试矢量集不一样,测试运行的时间也不一样,测试矢量的抗混迭和抗混淆的能力也不一样,也就是故障定位能力各不一样。在实际运用中,需要根据待测网络数目进行灵活选取。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top