VLSI系统导论:第七章 测试技术和可测试性设计_第1页
VLSI系统导论:第七章 测试技术和可测试性设计_第2页
VLSI系统导论:第七章 测试技术和可测试性设计_第3页
VLSI系统导论:第七章 测试技术和可测试性设计_第4页
VLSI系统导论:第七章 测试技术和可测试性设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章测试技术和可测试性设计

7.1VLSI可测试性的重要性

任何集成电路不论在设计过程中经过了怎样的仿真和检查,在制作完成后都必须通过测试来最后验证设计和制作的正确性,所以,测试的问题在设计的初始就必须加以考虑。

为实现对芯片中的错误和缺陷定位,从测试技术的角度而言就是要解决测试的可控制性和可观察性。从测试的目的来讲,我们希望内部节点都是“透明的”,只有这样才能通过测试判定电路失效的症结所在。为了实现这一目的,可测试性设计成为VLSI设计中的一个重要部分。测试的意义在于可以直观地检查设计的具体电路是否能象设计者要求的那样正确的工作。测试的另一个目的是希望通过测试确定电路失效的原因以及失效所发生的具体部位,以便改进设计和修正错误。

完全测试就是对芯片进行全部状态和功能的测试,要考虑集成电路所有的可能状态和功能,即使在将来的实际使用中有些并不会出现。功能测试就是只对在集成电路设计之初所要求的运算功能或逻辑功能是否正确进行测试。显然,完全测试是完备测试,功能测试是局部测试。对于完全测试,所谓的全部可能状态是什么含义呢?如果一个逻辑有N个输入端子,如果仅从输入的信号组合角度考虑,它有2N个状态,但它却并不一定是逻辑的全部可能状态。集成电路芯片的测试分为两种基本形式:完全测试和功能测试。转变测试思想,将输入信号的枚举与排列的测试方法,转变为对电路内各个节点的测试,即直接对电路硬件组成单元进行测试;降低测试的复杂性即将复杂的逻辑分块,使模块易于测试;采用附加逻辑和电路使测试生成容易,改进其可控制性和可观察性,覆盖全部的硬件节点;添加自检测模块,使测试具有智能化和自动化。

这些技术和方法的应用就是系统的可测试性设计。测试的基本考虑:7.2测试基础

7.2.1内部节点测试方法的测试思想

通过对系统输入一定的测试矢量,在系统的输出端观察到所测节点的状态。这时的测试矢量的作用是控制被测试节点的状态,并且将该节点的状态效应传送到输出观察点。对节点的测试思想就是假设在待测试节点存在一个故障状态,然后反映和传送这个故障到输出观察点。在实测中如果在输出观察点测到该故障效应,则说明该节点确实存在假设的故障,如果不是故障效应则说明该节点不存在假设的故障。在集成电路中什么是故障呢?直观地讲,就是节点不正确的电平,短路引起的引线间不正确的连接,引线开路引起的信号传输失效,等等。为了能够进行有效的测试,必须将这些失效抽象成为一个故障模型。测试矢量就是针对这些故障模型而产生的一组测试信号。对每一个测试矢量,它包括了测试输入和应有的测试输出。测试的过程实际上是一个比对结果的过程,通过在芯片的输入端施加测试输入,检出输出信号并与预先生成的输出进行比对,判断电路的正确性,根据输入和输出信号以及测试生成中的信息得出失效的位置以及状态,再通过其他的技术手段分析具体的失效原因。

故障模型的提取,测试矢量的生成技术,电路的可测试结构设计方法以及其他辅助测试技术。在测试技术中要解决的问题主要有:7.2.2故障模型

故障是指电路中的某一点或某一部分出现了不符合设计要求的状态,或者是出现了不应有的连接。

节点状态的错误所导致的故障可大致分为两大类:固定故障和间歇故障。固定故障是指逻辑电路中某一节点的逻辑值不符合设计要求,它并不随电路信号的变化而变化,而是一直保持在某个逻辑值上固定不变;间歇故障则是随机出现的故障,电路或节点有时正常有时不正常。通常情况下,当电路或节点不正常时,它的表现为固定故障类型,间歇故障也是如此。开路实际上也是一种连接错误,不同的是它导致应连接而未连接错误,它所表现出来的情况也是比较复杂的。

由于连接错误表现的多样性,对于这一类连接错误而导致的故障的分析是比较困难的。连接错误的情况比较复杂,它既可能导致固定型故障,如信号线对电源或地短路,也可能造成逻辑关系发生变化,如某输入与输出短路构成信号反馈等。1.固定故障

按照节点或信号线被固定的状态可以分为固定于1故障,以s-a-1(stuck-at-1)表示,和固定于0故障,以s-a-0(stuck-at-0)表示。从测试和测试生成技术的角度看,这些故障都可以通过假设故障和测试故障加以检测。三输入与非门的固定型故障描述:2.桥接故障

桥接故障是指由于发生了不应有的信号线连接而导致的逻辑错误。因为对于电源和地线的连接错误将导致固定型故障,所以,这里的桥接故障是除了对电源和地短接以外的连接性错误。桥接故障比较复杂,它包括相关输入桥接,非相关输入桥接,相关输入、输出桥接和非相关输入、输出桥接。输入桥接

只要不是原始输入端发生桥接,通常输入桥接都可等效为非相关输出桥接。非相关输出的桥接导致了新的逻辑状态或中间电平值,其结果非常复杂。输入、输出桥接

7.2.3可测试性分析

表征电路可测试性的关键是在电路的外部对电路内部节点的可控制性和可观察性。可控制性就是对电路内部每个节点的置0与置1的能力。可观察性就是能否直接或间接地观察电路内部任何节点状态的能力。直接或间接观察电路内部的节点,就是要在某个观察位置“透过”堆积的硬件“看到”所需测试节点的状态。显然,对于靠近电路输入端的内部节点,其可控制性较好,可观察性较差;对于靠近观察位置(通常是某个或某些原始输出端)的内部节点,可观察性较好,但可控制性较差。对电路内部的每一个可测试节点,可通过以下的六个参数去定量的描述其可控制性和可观察性的优劣。

其中,四个参数描述了节点N的可控制性:·为了将节点N设置为0,必须在电路中赋予确定值的组合逻辑节点的最少个数。这里的组合逻辑节点是指电路的原始输入或标准组合单元输出。以CC0(N)表示。·为了将节点N设置为1,必须在电路中赋予确定值的组合逻辑节点的最少个数。这里的组合逻辑节点是指电路的原始输入或标准组合单元输出。以CC1(N)表示。·为了将节点N设置为0,必须在电路中赋予确定值的时序逻辑节点的最少个数。这里的时序逻辑节点是标准时序单元的输出。以SC0(N)表示。·为了将节点N设置为1,必须在电路中赋予确定值的时序逻辑节点的最少个数。这里的时序逻辑节点是标准时序单元的输出。以SC1(N)表示。另两个参数描述了节点N的可观察性:

·为了将节点N的值传输到某个原始输出所需经过的组合逻辑单元的个数,以及为了把节点N的逻辑值传播到原始输出必须在电路中赋予确定值的组合逻辑节点的最少个数。以CO(N)表示。·为了将节点N的值传输到某个原始输出所需经过的标准时序单元的个数,以及为了把节点N的逻辑值传播到原始输出必须控制的标准时序单元的最少个数。以SO(N)表示。如果集成电路的所有内部节点都满足可控制性和可观察性的要求,那么它是可测试的,测试所需的控制量越少,电路的可测试性越好。反之,如果集成电路内部的一个或多个节点不可控或不可观察,则它的可测试性比较差,或者说它不可完全测试。一个良好的易测试逻辑应该具备以下几个特点:·容易产生测试矢量。·尽量小的测试矢量集。·容易实现故障定位。·附加电路尽可能少。·附加电路引出线尽可能少。7.2.4测试矢量生成所谓的测试矢量是一组测试码,是根据待测节点的置位要求以及要将故障传播到输出所应给出的信号。它包含了测试输入和应有的测试输出,其中,测试输入是加到电路原始输入端的激励信号,测试输出是用于比对实测结果的输出信息。为了能够反映在电路内部节点所存在的故障,必须对该节点设置正常逻辑值,设置的正常逻辑值应为假设的故障值的非量。这样,如果在原始输出端测到设置的正常逻辑值的效应,则表明该节点没有故障,反之,如果测到的是节点故障值的效应,则表明该节点确实存在假设的故障状态。为了能够将故障效应传播到某个原始输出,则沿着故障传播路径的所有逻辑门必须被选通,也就是使它们处于开放状态,这被称为敏化。具体的说就是沿着故障传播路径的所有的与门和与非门的非故障信号端必须设置为1状态,所有的或门和或非门的非故障信号端必须设置为0。根据反映故障和传播故障的要求而设置的节点信号值必须对应到原始输入端的信号。生成测试矢量包括三个环节:第一步:为了使A节点的故障能够被反映出来,设置A节点的正常逻辑值为0。

第二步:为了将A点的故障传播到输出f,沿着A→f

的路径必须被敏化,这就要求c=1,D=0。第三步:∴

∵∴又∵

d可以是任意值

∴∵结论:A:s-a-1的测试输入为abcd=0010或0011,如果A点确实存在s-a-1故障,则输出的信号值为0,如果A点不存在假设的故障,则输出的信号值为1。第一步:反映故障,设置B节点的正常逻辑值为0。

第二步:传播故障,敏化B→f

的路径,D=0

第三步:确定原始输入

∵∴∵∴又∵∴d可以是任意值

∵∴ab可以是01,10,11组合结论:对B:s-a-1故障的测试输入可以是abcd=0111,1011,1111,0110,1010,1110中的任一个,如果B点确实存在s-a-1故障,则输出的信号值为1,如果B点不存在假设的故障,则输出的信号值为0。第一步:反映故障,设置C节点的正常逻辑值为0第二步:传播故障,敏化C→f的路径,

第三步:确定原始输入∵∴

∵∴∵∴ab可以是01,10,11组合

结论:对C:s-a-1故障的测试输入可以是abcd=0111,1011,1111中的任一个,如果C点确实存在s-a-1故障,则输出的信号值为1,如果C点不存在假设的故障,则输出的信号值为0。第一步:反映故障

第二步:传播故障,敏化C→f

的路径,

第三步:确定原始输入

∵∴B=1,与路径敏化所要求的B=0发生冲突,这被称为C:s-a-0故障不可测

解决的方案之一是:7.3可测试性设计

7.3.1分块测试

适用于分块测试方法的电路主要有大型时序电路和模块/总线结构等易于分块的结构形式,如微处理器。7.3.2可测试性的改善设计

一些比较简单的提高逻辑系统的可测试性的方法:

·增加逻辑电路的测试点,断开长的逻辑链使测试生成过程简化。·提高时序逻辑单元初始状态的预置能力,这可以简化测试过程,而不需寻求同步序列或引导序列。对触发器、寄存器、计数器等设置置位、复位端,用硬件解决预置问题,使得时序逻辑的预置变得很简单。·对不可测节点增加观察点,使其成为可测试的节点。·插入禁止逻辑单元,断开反馈链,将时序逻辑单元变为组合逻辑电路进行测试。改变时钟控制方式,通过禁止逻辑隔离内部时钟,引入外部时钟控制测试同步。·增加附加测试电路,改善复杂逻辑的可测试性。电路的可测试性分析例子原始输入:CC0(1)=CC0(2)=CC0(3)=1

在原始输入的一个节点之后

CC0(4)=CC0(5)=CC0(6)=CC0(9)=2

说明:9#节点“0”设置可通过1#节点的“0”控制7号节点置0,5号必须设置为1,CC1(5)=CC1(2)+1=2

CC0(7)=CC1(5)+1=3

10号节点置0,取决于7号和8号的任一等于0,显然,8号节点较难控制,取小值,由7号节点控制。

CC0(10)=min[CC0(7),CC0(8)]+1=4

11号节点置0,取决于9、10号节点的任一为1,显然,9号节点容易控制,取小值,CC1(9)又要求1、4号节点置1。CC0(11)=min[CC1(9),CC1(10)]+1=CC1(9)+1=CC1(1)+CC1(4)+2=5或非门全低出高CC0(12)=CC1(11)+1=CC0(9)+CC0(10)+2=8设置D触发器为0,必须输入D为0,且经过一个完整的时钟CC0(14)+CC1(14)=3+3=6。CC0(16)=CC0(12)+CC0(14)+CC1(14)+1=15CC0(15)=CC0(14)=CC0(6)+1。且置0、置1均为3。CC0(15)=CC0(14)=3

CC0(13)=CC0(18)=CC0(16)+1=16

D触发器传输一个信号需一个完整时钟周期CC0(17)=CC0(13)+CC0(15)+CC1(15)+1=23CC0(19)=CC0(17)+1=24

异或门的输入相同时输出0

异或门的输入相同时输出0,取小值CC0(8)==min[CC0(18)+CC0(19),CC1(18)+CC1(19)]+1=378号节点的可控制性最差修改后,8号节点的0值可控制性函数值为5如果对D触发器增加置位和复位端,则16、17号节点的可控制性函数值将下降为2

显然,如果将这些增加的信号线直接引出到芯片的I/O端口是不现实的。目前常用下述的两种方案解决这个矛盾:

改善可测试性带来的最大的问题是将增加信号线的数量,这些信号线的一部分用于增加测试的可控制性,一部分用于改善测试的可观察性。1使用译码器。如果根据测试的需要而增加的可控制点很多,假设有2N个,显然,无法将这么多的点都作为原始输入的控制点。这时,可设计一个控制端,用以区别电路的正常工作状态和测试状态。在测试状态,N个输入端信号经过译码器得到2N个输出,分别去控制2N个点。这样增加N+1根外部引线即可实现内部的2N个点的不同控制。2使用串行移位寄存器。在电路设计中增加串行移位寄存器,使测试控制点的控制值串行移入寄存器,由寄存器对控制线施以控制信号,观测点上的信号值也由寄存器收回,然

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论