数字系统测试.docx
- 文档编号:6759244
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:15
- 大小:300.06KB
数字系统测试.docx
《数字系统测试.docx》由会员分享,可在线阅读,更多相关《数字系统测试.docx(15页珍藏版)》请在冰豆网上搜索。
数字系统测试
本章主要介绍了四方面的内容:
1.数字系统测试的基本原理,包括常用术语、故障模型等数字系统测试和数据域分析的基本概念、建立在通路敏化思想上的D算法和用数学方法寻求组合电路测试的布尔差分法、基于迭接阵列的时序电路测试方法和时序电路功能核实序列、随机测试和穷举测试的基本原理、数据域测试系统的组成和原理概述;
2.逻辑分析的主要特点、类型以及它的主要技术指标;逻辑分析仪的基本结构和组成原理;触发与跟踪方式、显示方式和在软硬件测试中的应用方法。
3.可测性设计技术,包括可测性设计的基本原理,扫描可测性设计技术,内建自测试技术和边界扫描测试技术。
4.误码率测试和嵌入式微处理器的可测性设计。
11.1数字系统测试的基本原理
本节要求
理解数字系统测试、数据域测试和传统时域测试和频域测试相比所具有的特点;理解数字系统测试和故障诊断中常用的故障模型;理解敏化通路法、D算法的基本原理和用D算法求解无冗余组合逻辑电路单故障测试矢量的基本步骤;了解用迭接阵列方法测试时序电路的基本原理;掌握一阶布尔差分法的运用和同步序列、引导序列和区分序列三种时序电路的功能核实序列的求法;理解随机测试和穷举测试的基本思想。
掌握数据域测试系统的基本和基本原理,特别是特征分析的原理和数字信号源的作用和原理。
11.1.1数字系统测试和数据域分析的基本概念
1.数字系统测试和数据域测试的特点
与其它测试领域相比,数字系统测试和数据域测试有许多鲜明的特点,例如:
第一,数字系统的响应与激励之间不是简单的线性关系。
第二,随着数字集成电路集成度增长,常常不得不依靠少数外部测试点上所得到的有限测试结果去推断电路内部所发生的复杂过程。
第三,在微机化数字系统中,除了由于硬件故障引起外部信息错乱外,还可能由于软件问题而导致异常输出。
第四,在一个数字系统的某一点上所发生的事件,往往经过若干个内部工作循环以后,才会在另一点或输出端有所表现,甚至可能毫无表现。
第五,由于数字信息几乎都是多位传输的,且数据流往往很长,许多信号仅发生一次,而其中可能只有一位,甚至只在某一瞬时出错,造成故障和出错不易辨认和捕获。
2.几个术语
数据域测试的目的在于:
首先,判断被测系统或电路中是否存在故障,此过程称为故障侦查(FaultDetection),也称作故障检测;进一步,如果有故障,则应查明其原因、性质和产生的位置,此过程称为故障定位(FaultLocation)。
故障侦查和故障定位合称故障诊断或简称为诊断。
被测件因构造特性的改变而产生一个缺陷(Defect),称为物理故障。
缺陷是指物质上的不完善性。
缺陷导致系统或电路错误动作,称为失效(Failure)。
缺陷所引起的电路异常操作称为故障(Fault),故障是缺陷的逻辑表现。
由于故障而导致电路输出不正常,则称为出错或错误(Error)。
电路中出现故障并不一定立即引起错误。
对被测电路或系统的测试频率维持在被测系统或电路的功能性操作频率水平,这种测试称为“真速测试”(AtSpeedTesting)。
可由测试器直接驱动的输入称为主输入(PrimaryInput),可以由测试器直接检测的输出称为主输出(PrimaryOutput)。
如果在被测对象的主输入处同时施加一组数据侦查或诊断出了故障α,则称这组数据是故障α的测试图形(TestPattern)或测试矢量(TestVector),或简称为一个测试。
借助一定算法或工具,获得电路测试矢量的过程叫做测试生成。
常将一个测试集所侦查的故障数与电路总故障数之比定为故障覆盖率。
3.故障模型
为了便于研究故障,须对故障进行分类,归纳出典型的故障,这个过程叫做故障的模型化。
模型化故障是代表一类对电路或系统有类似影响的典型故障。
(1)固定型故障
固定型故障(StuckFaults)模型主要反映电路或系统中某一信号线的不可控性,即在系统运行过程中总是固定在某一逻辑值上。
如果该线(或该点)固定在逻辑高电平上,则称之为固定1故障(stuck-at-1),简记为s-a-1;如果该线固定在逻辑低电平上,则称之为固定0故障(stuck-at-0),简记为s-a-0。
(2)桥接故障
桥接故障可以表达两根或多根信号线之间的短接故障,这是一种MOS工艺中常出现的缺陷。
按桥接故障发生的物理位置分为两大类,一类是元件输入端间的桥接故障,另一类是元件输入端和输出端之间的桥接故障,后者常称为反馈式桥接故障。
从信号线桥接后所表现出的逻辑效果看,桥接故障还可分为“线与”和“线或”两种类型,“线与”型是通常出现的情形。
图11-1示出了输入端短路故障等效于“线与”关系,11-1(a)为故障电路,11-1(b)为模型化电路。
(a)(b)
图11-1输入端短路故障等效于“线与”关系
(a)故障电路(b)模型化电路
图11-2给出了一般反馈式桥接故障的逻辑模型,其中x1,x2,…xs,xs+1,…xn是电路的输入端,输出Y与S个输入x1,x2,…,xs发生桥接。
在反馈式桥接故障中,信号被反馈连接导致输出逻辑电平被强行倒置,这样电路可能产生振荡现象,另外,发生这类故障时有可能把组合电路改变成时序电路。
(a)(b)
图11-2反馈式桥接故障的一般模型
(a)故障电路(b)模型化电路
(3)延迟故障
所谓延迟故障,这就是指因电路延迟超过允许值而引起的故障。
时延测试需要验证电路中任何通路的传输延迟,均不能超过系统时钟周期。
(4)暂态故障
暂态故障(temporaryfaults)是相对固定型故障而言。
它有两种类型,即瞬态故障(TransientFault)和间歇性故障(IntermittentFaults)。
瞬态故障往往是由电源干扰和α粒子的辐射等原因造成的,这一类故障无法人为地复现。
但一般说来,这一类故障不属于故障诊断的范畴,但在研究系统的可靠性时应予充分考虑。
间歇性故障是可复现的非固定型故障。
产生这类故障的原因有:
元件参数的变化,接插件的不可靠,焊点的虚焊和松动以及温度、湿度和机械振动等其它环境原因等。
11.1.4随机测试和穷举测试简介
大型电路的测试生成往往需要复杂的计算和昂贵的硬件设备,因而必须寻求其它测试方法。
为了适应VLSI测试的新发展,特别是为适应VLSI内测试的需要,出现了随机测试和穷举测试这两种测试方法。
1.随机测试技术
(1)原理概述
随机测试是一种非确定性的故障诊断技术,它是以随机的输入矢量作为激励,把实测的响应输出信号与由逻辑仿真的方法计算得到的正常电路输出相比较,以确定被测电路是否有故障。
由于要产生一个完全随机的测试矢量序列十分困难,且随机测试中的实时逻辑仿真也存在诸多不便,所以,通常实用的方法是以已知序列的伪随机信号(矢量)作激励,此时正常电路的输出预先是知道的,因此在测试中不必进行实时的逻辑仿真。
这种借助伪随机序列进行随机测试的方法称为伪随机测试。
随机或伪随机测试的关键问题是,确定为达到给定的故障覆盖所要求的测试长度,或反之,对所给定的测试长度估计出能得到的故障覆盖。
如果一个故障的完备测试集中包含有多个测试矢量,则称为易测故障。
如果一个故障的完备测试集中仅包含很少几个测试矢量,则称故障为难测故障。
显然,侦查易测故障的随机矢量的序列可较短,而侦查难测故障的随机矢量的序列一般较长。
因此为保证整个电路的故障覆盖率,随机序列的长度主要取决于难测故障。
随机或伪随机测试的优点是不需要预先生成相应故障的测试矢量,这是很有意义的,但它毕竟是一种非确定性测试,一般难以保证100%的故障覆盖率。
此外,由于测试序列通常都较长,因此测试的时间开销也较大。
(2)伪随机序列发生器
数字系统的伪随机测试中需要伪随机序列发生器提供测试激励。
m序列是一种常见的伪随机序列,这里介绍两种产生m序列的电路结构,一种是线性反馈移位寄存器,(LinearFeedbackShiftRegister,LFSR),另一种是细胞自动机(CelluarAutomata,CA),它们皆容易在VLSI中实现。
①线性反馈移位寄存器
由数字电路相关知识可知,一个n级线性反馈移位寄存器是由n个串联的存储单元(如D触发器)及模2加法器(可由异或门实现)组成,如图11-17所示,其中hi(1≤i≤n-1)称为反馈系数,表示反馈的连通情况。
如果hi=1,则表示接通反馈线;如果hi=0,则表示断开反馈线。
图11-17n级线性反馈移位寄存器框图
LFSR的逻辑功能完全由其反馈函数标志,图11-17所示的LFSR的行为完全由反馈系数hi决定,由反馈系数hi在二元域上定义的多项式
h(x)=xn+h1xn-1+…+hn-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个细胞的次态xi(t+1)由第i个细胞的现态xi(t)和它的左邻和右邻的现态xi-1(t)、xi+1(t)共同决定,即
xi(t+1)=f(xi-1(t),xi(t),xi+1(t))
上式中f由图11-18中的组合逻辑块f实现。
图11-19零边界条件一维CA
表11-4规则的命名(以规则90和150为例)
3-邻下任一细胞的次态由含它本身的3个细胞共同决定,三个细胞的现态对应从(000)至(111)共8种取值,细胞Ci在8种取值下的次态由该细胞的组合逻辑块对应的组合函数决定,将每种组合函数对应一种规则,3邻下每一细胞可有28=256种规则。
在规则90和规则150时8种现态组合下细胞Ci次态值分别见表11-4中第3、第4行。
规则号即为该行二进制序列对应的十进制值。
表11-4中细胞Ci在使用规则90和规则150时状态转换如下:
规则90:
xi(t+1)=xi-1(t)⊕xi+1(t)
规则150:
xi(t+1)=xi-1(t)⊕xi(t)⊕xi+1(t)
可以看出,规则90和150为两种线性规则。
在一维CA中,若所有细胞使用同一规则,称为一致型CA,若CA中有不止一种规则,则称为混合型CA(HybridCA简称HCA)。
一致型CA通常不能产生m序列,由线性规则90和150组成的HCA将类似以本原多项式为特征多项式的LFSR,可以产生m序列,周期为2n-1,n为CA长度,将这两种线性规则下的一维CA称为90/1501-DLHCA,这是目前伪随机码生成中较常采用的CA。
2.穷举测试技术
一个组合电路全部输入值的集合,构成了该电路的一个完备测试集。
对n输入的被测电路,用2n个不同的测试矢量去测试该电路的方法就叫穷举测试法。
穷举测试法的突出优点是它对非冗余的组合电路中的故障提供100%的覆盖率,而且测试生成极其简单,只要用一个测试矢量发生器,给出所有可能的2n个测试矢量就可以了。
它的缺点在于当n较大时,2n呈指数递增,因而必然使测试时间过长。
穷举测试法一般用于主输入不超过20的逻辑电路。
为使穷举测试法对大型复杂电路仍具有实用价值,许多学者进行了有益的研究,其中伪穷举测试(PseudoexhaustiveTesting)实用性较强。
伪穷举测试的基本思想是设法将电路分成若干子电路,再对每一个子电路进行穷举测试,使所需的测试矢量数N大幅度减少,即N<<2n(n为电路主输入)。
11.1.5数据域测试系统
1.系统组成
数据域测试系统的原理框图如图11-21所示。
依测试的内容不同,可采用不同的测试方法和测试设备。
如果需要测试被测系统信号的时域参数,如数字信号(脉冲)的上升时间、下降时间及信号电平等,则可在被测系统的输出端接上一台数字存储示波器。
这样既可以测试数字系统的时序特性,又可以测试时域参数。
为了使用的方便,出现了逻辑示波器,它同时具有逻辑分析和数字存储示波器的功能。
若要测试系统中是否存在故障(功能性测试),或对被测数字系统进行故障诊断,此时采用特征分析是一有效方法。
图11-21数据域测试系统的组成
(1)数字信号源
数字信号源又称为数字信号发生器,是数据域测试中的一种重要仪器,它可产生图形宽度可编程的并行和串行数据图形,也可产生输出电平和数据速率可编程的任意波形,以及一个可由选通信号和时钟信号来控制的预先规定的数据流。
(2)特征分析
由于内测试的广泛使用,对每一测试激励下的响应逐一分析不仅是不必要的,有时甚至是难以实现的。
因此,出现了特征分析技术,它是从被测电路的测试响应中提取出“特征”(Signature),通过对无故障特征和实际特征的比较进行故障的侦查和定位。
特征分析由特征分析器实现,线性反馈移位寄存器便可构成一个常用的单输入的特征分析器,如图11-22所示。
图11-22中若hi=0(1≤i≤n)表示连线断开,若hi=1,表示连线接通。
图11-22用线性反馈移位寄存器组成的特征分析器
理论分析表明,特征分析技术具有很高的检错率。
当测试序列足够长时,特征分析的故障侦出率不低于
,m为用作特征分析的LFSR的长度。
当m=16时,故障侦出率高达%,侦查失误率是一个很小的概率。
基于特征分析方法的数字系统故障诊断的原理如图11-24所示。
被测电路的无故障特征或某种故障下的特征可通过电路的逻辑模拟或故障模拟获得。
通过事前的模拟建立好特征-故障字典,便可用于故障诊断。
图11-24基于特征分析的数字系统故障诊断原理
2.数字信号源
数字信号源具有一个由压控振荡器(VCO)控制的中央时钟发生器来作为内部标准时钟源,它通过可编程的二进制分频器产生低频数字信号,在高性能的数字信号源中,还使用锁相环来控制压控振荡器,以获得稳定性和精确度高的时钟。
许多数字信号源还提供一个外部时钟输入端,以便用被测系统的时钟来驱动。
时钟分离电路可提供多个不同的时钟,分别送到各数据模块的时钟输入端。
为减小抖动和降低噪声,可用同轴电缆或微带线来传输时钟信号,
信号处理单元为各时钟同时提供一个启动/停止信号。
该信号使数字信号源各模块的工作同步地启动或同步地停止。
通常,简单的数字信号发生器就用时钟的开和关来启动和停止各数据通道。
图11-25数字信号发生器的原理框图
数据域测试的应用
本节要求:
(1)了解误码率的定义和测试方法。
(2)了解嵌入式微处理器的可测性设计总体方案,通过应用实例进一步理解BIST(内建自测试)、BILBO(内部逻辑快观察)、边界扫描测试等概念。
11.4.1误码率测试
在数字通信系统中,误码率是一个非常重要的指标。
1.误码率概念
误码率定义:
二进制比特流经过系统传输后发生差错的概率。
测量方法:
从系统的输入端输入某种形式的比特流,用输出,与输入码流比较,检测出发生差错的位数m,差错位数m和传输的总位数n之比为误码率。
即
。
而实际上测得的误码率是理论误码率的估计值,又称为比特误码率(BER),测量精度取决于测试时间或传输的比特数。
2.误码测试原理
误码的测试原理如下图所示。
误码仪由发送和接收两部分组成,发送部分的测试图形发生器产生一个已知的测试数字序列,编码后送入被测系统的输入端,经过被测系统传输后输出,进入误码仪的接收部分解码并从接收信号中得到同步时钟。
接收部分的测试图形发生器产生与发送部分相同的并且同步的数字序列,与接收到的信号进行比较,如果不一致,便是误码,用计数器对误码的位数进行计数,然后记录存储,分析后显示测试结果。
发生差错的位数和传输的总位数之比即是误码率。
误码测试原理图
下面讨论误码仪中几个重要组成部分。
(1)测试图形
一般测试图形选用伪随机二进制序列来模拟数据的传输,或用特殊的字符图形来检查图形的相关性。
例:
511码,特征多项式为
,序列长度为29-1=511。
根据特征多项式,使用异或门和移位寄存器可产生伪随机序列信号,产生方法如下图所示。
图中初始值为任意9位非全零的二进制数,取位a9和a5异或后作为下一位的输入值,如此循环,可得511个除全零以外的状态,则序列的周期(即序列的长度)为511。
码生成示意图
(2)误码检测
基本的误码检测电路是异或门,使用异或门将被测数据流与参考图形进行比较,当两个数据图形完全相同且同步时,异或门输出为0;当两个图形存在差异时,即在接收的数据流中某位出现错误时,异或门输出为1。
使用异或门的误码检测图
(3)误码分析
误码仪除检测出误码,并计算出误码率外,还应对测量数据进行分析,如根据不同误码率占总测量时间的百分比,确定被测系统的工作状况。
(4)数据记录
为了进行测试结果的分析,误码检测仪必须记录大量的测量数据和误码事件,误码性能的测量可能需要运行几个小时或者几天,以积累有意义的统计结果。
测试仪在绝大数时间是无人看管而自动工作的。
所以数据记录常采用非易失性存储器存储。
在线误码率测试方法:
在正常工作传输的随机数据码中,间隔插入少量的固定祯结构码,利用这些祯结构码,发送测试误码率所需的数据序列,接收端从收到的数据流中分离出这些测试序列,然后检测出误码率。
11.4.2嵌入式系统测试
嵌入式系统是嵌入宿主设备之中的微处理器,其软硬件配置根据宿主设备的要求进行剪裁,以适用于对功能、可靠性、成本、体积、功耗等综合性要求。
可测性设计在嵌入式系统测试中有重要意义。
因为嵌入式微处理器要求体积和功耗尽量小,所以它的硬件和软件都应进行高效率设计。
可测性设计应尽量达到故障覆盖率高,测试速度快,附加门少等要求。
下面以一个嵌入式微处理器为例,介绍CPU核、存储器、内部总线、I/O控制器等的可测性设计方法。
1.嵌入式微处理器的可测性总体设计
嵌入式微处理器内部结构及可测性设计总体结构如下图所示,主要包括CPU核、数据及指令缓存(各4K字节)、启动ROM(512字节)、DMA控制器、I/O控制器、存储控制器等部件。
嵌入式微处理器可测性设计总体结构图
1CPU核:
主要是一个4级的流水线结构,每两站之间有站寄存器,用来存储从上一站传到下一站的数据,采用BILBO(内部逻辑快观察)测试。
2存储器:
指令和数据缓存分别用4K的RAM实现,另外还有512Byte的启动ROM,都是普通的存储器结构,因此采用通用的BIST测试方法。
3DMA控制器、内部总线、I/O控制器、存储控制器和CPU核中不包括在流水线内的逻辑是普通的逻辑电路,采用部分扫描测试方法。
4嵌入式微处理器符合边界扫描测试标准,芯片的每一个I/O口都附加有一个扫描单元TAP控制器成为整个芯片的测试控制中心。
2.RAM和ROM的内置自测试
内置自测试(BIST)是指利用电路的一部分电路完成本身的测试功能。
BIST可以分为test-per-clock和test-per-scan两种方法。
这里采用test-per-clock方法,测试RAM和ROM。
test-per-clock方法是按照时钟频率工作的,只有在测试结束后,才会把测试结果串行移出,节省测试时间。
(1)RAM测试结构
用RAM实现的数据缓存和指令缓存均使用普通的BIST方法。
由于两个RAM的结构完全相同,因此为了减小面积消耗,只使用一组测试电路,在测试时由外部信号TE0、TE1分别控制RAM1、RAM2是否处于测试状态。
TE0和TE1不能同时有效。
测试电路结构如下图。
RAM可测性设计结构图
BIST信号是整个电路的使能信号,当BIST信号无效时,RAM处于正常工作,测试电路都被屏蔽。
当BIST信号有效时,RAM处于测试状态,BIST控制器产生的读写控制信号、地址和测试码通过多路选择开关,在TE0和TE1的控制下分时输入给RAM0和RAM1,然后BIST控制器对RAM0和RAM1的响应数据进行分析,最后报告测试结果。
BIST控制器的设计框图如下图所示,地址产生器用于计算访问地址,LFSR(线性反馈移位寄存器)产生测试码,MISR(多输入特征寄存器)将RAM的响应转换为比特流与标准特征值进行比较,得到正确或错误信号。
此外还实现了初步的故障诊断功能,即当发现有故障时,通过TAP控制器,可以将出错的地址移出芯片。
测试过程如下:
RAM的BIST控制器图
1地址产生器输出要测试的RAM单元的地址,LFSR产生测试码并输出。
2MISR接收响应数据并转换为特征值,再与标准特征值比较,若相等转第③步,不等转第④步。
3令地址加1,判断所有地址单元是否都被检查过,若是则报告测试完成,停止测试。
否则转第①步。
4报告出错,停止测试。
当外部发现出错后,通过TAP控制器将地址产生器中的地址移出,减1后就是出错的准确地址。
(2)ROM测试结构
测试方法是使用并行的数据压缩测试法,故障覆盖率能够达到要求,测试电路比CRC电路简单,并且测试速度快。
测试电路如图所示。
图中,BIST(测试使能)信号,是整个测试电路的使能信号,它是由TAP控制器的TDI引脚输入的。
测试过程经过触发后,完全在电路内部完成,结束后通过一个I/O口报告测试结果。
ROM可测性设计结构图
3.CPU核测试
CPU核测试采用基于BIBLO的内置自测试技术,BIBLO可以完成随机模式测试生成和特征分析功能。
嵌入式微处理器采用4级流水线结构:
IF(取指)、ID(译码)、ALU(执行)、MEM(存储器访问)。
在流水线结构的电路中,每两站之间有站寄存器,用来存储从上一站传送到下一站的数据。
根据BIBLO的功能特性,可将每一个站寄存器改造成BIBLO元件,通过状态控制,完成自测试和正常工作下的存储功能。
具有BIST测试特点的CPU核的流水线结构如下图所示。
CPU核的流水线测试图
图中共使用了4个BIBLO模块,每一个的大小因前后两级流水线的输入输出数据量不同而不同,BIBLO控制寄存器作为TAP控制器的一个数据寄存器,控制整个流水线的测试。
测试是逐级进行的,各个BIBLO模块既可以作为测试码产生器(LFSR),也可以作为特征值分析器(MISR)。
例如,如果对IF级进行测试,BIBLO4作为LFSR,BIBLO1作为MISR,其他各级的测试类似。
4个BIBLO模块分别作为TAP控制器的一个数据寄存器,用来初始化LFSR状态以及移出测试结果进行比较。
4.处理器内各控制器测试
DMA控制器、内部总线、I/O控制器、存储控制器和CPU核中不包括在流水线内的逻辑是普通的逻辑电路,采用部分扫描测试方法。
全扫描测试方法虽然具有故障覆盖率高的特点,但是由于所有的存储单元都变成扫描单元,会占用很大的芯片面积,测试速度也会很慢。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 系统 测试