本章主要介绍了四方面的内容:1. 数字系统测试的基本原理,包括常用术语、故障模型等数字系统测试和数据域分析的基本概念、建立在通路敏化思想上的D算法和用数学方法寻求组合电路测试的布尔差分法、基于迭接阵列的时序电路测试方法和时序电路功能核实序列、随机测试和穷举测试的基本原理、数据域测试系统的组成和原理概述;2. 逻辑分析的主要特点、类型以及它的主要技术指标;逻辑分析仪的基本结构和组成原理;触发与跟踪方式、显示方式和在软硬件测试中的应用方法。
3. 可测性设计技术,包括可测性设计的基本原理,扫描可测性设计技术,内建自测试技术和边界扫描测试技术。
4.误码率测试和嵌入式微处理器的可测性设计。
11.1 数字系统测试的基本原理本节要求理解数字系统测试、数据域测试和传统时域测试和频域测试相比所具有的特点;理解数字系统测试和故障诊断中常用的故障模型;理解敏化通路法、D算法的基本原理和用D算法求解无冗余组合逻辑电路单故障测试矢量的基本步骤;了解用迭接阵列方法测试时序电路的基本原理;掌握一阶布尔差分法的运用和同步序列、引导序列和区分序列三种时序电路的功能核实序列的求法;理解随机测试和穷举测试的基本思想。
掌握数据域测试系统的基本和基本原理,特别是特征分析的原理和数字信号源的作用和原理。
11.1.1 数字系统测试和数据域分析的基本概念1.数字系统测试和数据域测试的特点与其它测试领域相比,数字系统测试和数据域测试有许多鲜明的特点,例如:第一,数字系统的响应与激励之间不是简单的线性关系。
第二,随着数字集成电路集成度增长,常常不得不依靠少数外部测试点上所得到的有限测试结果去推断电路内部所发生的复杂过程。
第三,在微机化数字系统中,除了由于硬件故障引起外部信息错乱外,还可能由于软件问题而导致异常输出。
第四,在一个数字系统的某一点上所发生的事件,往往经过若干个内部工作循环以后,才会在另一点或输出端有所表现,甚至可能毫无表现。
第五,由于数字信息几乎都是多位传输的,且数据流往往很长,许多信号仅发生一次,而其中可能只有一位,甚至只在某一瞬时出错,造成故障和出错不易辨认和捕获。
2.几个术语数据域测试的目的在于:首先,判断被测系统或电路中是否存在故障,此过程称为故障侦查(Fault Detection),也称作故障检测;进一步,如果有故障,则应查明其原因、性质和产生的位置,此过程称为故障定位(Fault Location)。
故障侦查和故障定位合称故障诊断或简称为诊断。
被测件因构造特性的改变而产生一个缺陷(Defect),称为物理故障。
缺陷是指物质上的不完善性。
缺陷导致系统或电路错误动作,称为失效(Failure)。
缺陷所引起的电路异常操作称为故障(Fault),故障是缺陷的逻辑表现。
由于故障而导致电路输出不正常,则称为出错或错误(Error)。
电路中出现故障并不一定立即引起错误。
对被测电路或系统的测试频率维持在被测系统或电路的功能性操作频率水平,这种测试称为“真速测试”(At Speed Testing)。
可由测试器直接驱动的输入称为主输入(Primary Input),可以由测试器直接检测的输出称为主输出(Primary Output)。
如果在被测对象的主输入处同时施加一组数据侦查或诊断出了故障α,则称这组数据是故障α的测试图形(Test Pattern )或测试矢量(Test Vector ),或简称为一个测试。
借助一定算法或工具,获得电路测试矢量的过程叫做测试生成。
常将一个测试集所侦查的故障数与电路总故障数之比定为故障覆盖率。
3.故障模型为了便于研究故障,须对故障进行分类,归纳出典型的故障,这个过程叫做故障的模型化。
模型化故障是代表一类对电路或系统有类似影响的典型故障。
(1)固定型故障固定型故障(Stuck Faults)模型主要反映电路或系统中某一信号线的不可控性,即在系统运行过程中总是固定在某一逻辑值上。
如果该线(或该点)固定在逻辑高电平上,则称之为固定1故障(stuck-at-1),简记为s-a-1;如果该线固定在逻辑低电平上,则称之为固定0故障(stuck-at-0),简记为s-a-0。
(2)桥接故障桥接故障可以表达两根或多根信号线之间的短接故障,这是一种MOS 工艺中常出现的缺陷。
按桥接故障发生的物理位置分为两大类,一类是元件输入端间的桥接故障,另一类是元件输入端和输出端之间的桥接故障,后者常称为反馈式桥接故障。
从信号线桥接后所表现出的逻辑效果看,桥接故障还可分为“线与”和“线或”两种类型,“线与”型是通常出现的情形。
图11-1示出了输入端短路故障等效于“线与”关系,11-1(a)为故障电路,11-1(b )为模型化电路。
x 1x 2x 3x 3x 2 x 1 x 1 x 1x 2x 2 x 3 x3(a) (b) 图11-1 输入端短路故障等效于“线与”关系 (a) 故障电路 (b )模型化电路图11-2给出了一般反馈式桥接故障的逻辑模型,其中x 1,x 2,…x s ,x s+1,…x n 是电路的输入端,输出Y 与S 个输入x 1,x 2,…,x s 发生桥接。
在反馈式桥接故障中,信号被反馈连接导致输出逻辑电平被强行倒置,这样电路可能产生振荡现象,另外,发生这类故障时有可能把组合电路改变成时序电路。
x 1...x s x ...x nx 1x sx nx (a) (b) 图11-2 反馈式桥接故障的一般模型(a )故障电路 (b )模型化电路 (3)延迟故障所谓延迟故障,这就是指因电路延迟超过允许值而引起的故障。
时延测试需要验证电路中任何通路的传输延迟,均不能超过系统时钟周期。
(4)暂态故障暂态故障(temporary faults)是相对固定型故障而言。
它有两种类型,即瞬态故障(Transient Fault)和间歇性故障(Intermittent Faults)。
瞬态故障往往是由电源干扰和α粒子的辐射等原因造成的,这一类故障无法人为地复现。
但一般说来,这一类故障不属于故障诊断的范畴,但在研究系统的可靠性时应予充分考虑。
间歇性故障是可复现的非固定型故障。
产生这类故障的原因有:元件参数的变化,接插件的不可靠,焊点的虚焊和松动以及温度、湿度和机械振动等其它环境原因等。
11.1.4 随机测试和穷举测试简介大型电路的测试生成往往需要复杂的计算和昂贵的硬件设备,因而必须寻求其它测试方法。
为了适应VLSI 测试的新发展,特别是为适应VLSI 内测试的需要,出现了随机测试和穷举测试这两种测试方法。
1. 随机测试技术 (1)原理概述随机测试是一种非确定性的故障诊断技术,它是以随机的输入矢量作为激励,把实测的响应输出信号与由逻辑仿真的方法计算得到的正常电路输出相比较,以确定被测电路是否有故障。
由于要产生一个完全随机的测试矢量序列十分困难,且随机测试中的实时逻辑仿真也存在诸多不便,所以,通常实用的方法是以已知序列的伪随机信号(矢量)作激励,此时正常电路的输出预先是知道的,因此在测试中不必进行实时的逻辑仿真。
这种借助伪随机序列进行随机测试的方法称为伪随机测试。
随机或伪随机测试的关键问题是,确定为达到给定的故障覆盖所要求的测试长度,或反之,对所给定的测试长度估计出能得到的故障覆盖。
如果一个故障的完备测试集中包含有多个测试矢量,则称为易测故障。
如果一个故障的完备测试集中仅包含很少几个测试矢量,则称故障为难测故障。
显然,侦查易测故障的随机矢量的序列可较短,而侦查难测故障的随机矢量的序列一般较长。
因此为保证整个电路的故障覆盖率,随机序列的长度主要取决于难测故障。
随机或伪随机测试的优点是不需要预先生成相应故障的测试矢量,这是很有意义的,但它毕竟是一种非确定性测试,一般难以保证100%的故障覆盖率。
此外,由于测试序列通常都较长,因此测试的时间开销也较大。
(2)伪随机序列发生器数字系统的伪随机测试中需要伪随机序列发生器提供测试激励。
m 序列是一种常见的伪随机序列,这里介绍两种产生m 序列的电路结构,一种是线性反馈移位寄存器,(Linear Feedback Shift Register ,LFSR ),另一种是细胞自动机(Celluar Automata,CA),它们皆容易在VLSI 中实现。
①线性反馈移位寄存器 由数字电路相关知识可知,一个n 级线性反馈移位寄存器是由n 个串联的存储单元(如D 触发器)及模2加法器(可由异或门实现)组成,如图11-17所示,其中h i (1≤i ≤n -1)称为反馈系数,表示反馈的连通情况。
如果h i =1,则表示接通反馈线;如果h i =0,则表示断开反馈线。
x 012x n-2n-1n图11-17 n 级线性反馈移位寄存器框图LFSR 的逻辑功能完全由其反馈函数标志,图11-17所示的LFSR 的行为完全由反馈系数h i 决定,由反馈系数h i 在二元域上定义的多项式h(x)= x n +h 1x n -1+…+h n-1x+1称为该线性反馈移位寄存器的特征多项式。
由于n 级线性移位寄存器能表达的状态数不会超过2n。
同时如果该线性移位寄存器的初态为全0,那么无论经过多少次移位,它的状态总是全0,所以它的非零状态数为2n-1。
以n 次本原多项式为特征多项式的LFSR 可产生周期为2n-1的伪随机序列,这种序列也称为m 序列。
伪随机序列也常常被称为伪噪声序列。
②细胞自动机细胞自动机(CA)是自动有限状态机的一种实现形式,一个CA是由若干细胞(Cell)组成的阵列,若为一维阵列,则称为一维CA,CA中细胞的个数称为该CA的长度。
每个CA细胞由一个存储元件,如D锁存器和一个与之相连的组合逻辑块(CL)构成,组合逻辑实现布尔函数f,如图11-18。
一个细胞的状态即指其存贮元件的状态,逻辑值为‘0’或‘1’。
每个细胞的次态是该细胞的现态和逻辑上与该细胞相邻的若干细胞(简称邻)的现态的逻辑组合,由图11-18中的f实现,若f为线性逻辑函数,则称这种CA 为线性CA;若将某细胞的邻仅定义为最靠近该细胞的左和右两细胞,则称这种邻关系为冯·诺依曼邻,也称3-邻,此时将CA阵列中最左边的细胞的左邻和最右边细胞的右邻状态设置为恒‘0’,这种CA称为具有零边界条件,如图11-19,它是通常使用的边界条件。
在3-邻下,第i个细胞的次态x i(t+1)由第i个细胞的现态x i(t)和它的左邻和右邻的现态x i-1(t)、x i+1(t)共同决定,即x i (t+1)=f ( x i-1 (t), x i (t) , x i+1 (t) ) 上式中f由图11-18中的组合逻辑块f实现。
i (t)x i(t)+1(t)x i-1图11-18细胞结构图11-19 零边界条件一维CA表11-4 规则的命名(以规则90和150为例)3-邻下任一细胞的次态由含它本身的3个细胞共同决定,三个细胞的现态对应从(000)至(111)共8种取值,细胞C i在8种取值下的次态由该细胞的组合逻辑块对应的组合函数决定,将每种组合函数对应一种规则,3邻下每一细胞可有28=256种规则。