VHDL复杂数字系统设计-2-(4)课件.ppt

上传人(卖家):三亚风情 文档编号:3591707 上传时间:2022-09-22 格式:PPT 页数:111 大小:1.04MB
下载 相关 举报
VHDL复杂数字系统设计-2-(4)课件.ppt_第1页
第1页 / 共111页
VHDL复杂数字系统设计-2-(4)课件.ppt_第2页
第2页 / 共111页
VHDL复杂数字系统设计-2-(4)课件.ppt_第3页
第3页 / 共111页
VHDL复杂数字系统设计-2-(4)课件.ppt_第4页
第4页 / 共111页
VHDL复杂数字系统设计-2-(4)课件.ppt_第5页
第5页 / 共111页
点击查看更多>>
资源描述

1、第八章 测试技术与物理仿真 第八章 测试技术与物理仿真 8.1 测试向量的生成测试向量的生成 8.2 可测试性设计可测试性设计 8.3 物理仿真物理仿真 8.4 测试技术的新发展测试技术的新发展复习思考题复习思考题 第八章 测试技术与物理仿真 8.1 测试向量的生成测试向量的生成8.1.1 测试的基本概念测试的基本概念 在数字系统的设计、生产过程中,测试和功能验证是两个容易混淆的不同概念。测试是为了剔除生产过程中产生的废品,而功能验证的目的在于证明电路设计的正确性。理论上,功能验证应该包含成品测试。数字电路总能够采用穷尽其内部状态组合的办法彻底测试其正确性,但事实上,这种方法是不可行的。一方面

2、合格的芯片并不一定是无故障的芯片;另一方面,用功能验证取代测试作为筛选成品的手段本身就不可能实现。例如,一个普通的32位加法器,其输入共有65个(A、B各占32,另加一个Cin),为了验证这个器件的加法功能对所有的输入组合都是正确的,需要对265种输入激励进行测试。第八章 测试技术与物理仿真 假定对一种输入激励进行测试需要1 ns时间,那么,完成整个芯片的测试则需要约1000 年时间。这还是一个最简单的组合逻辑电路,它不包含任何内部状态。对于功能强大的复杂数字系统芯片,想通过测试设备全面彻底地进行功能验证是根本不可能的,目前芯片的功能验证需要在系统中期测试过程时逐步地发现问题。测试与故障诊断也

3、是不同概念。诊断不但要判断电路中是否存在故障,而且要判断电路中的故障发生在什么位置,以便修改设计。芯片测试的主要目的是判断是否存在故障,这样做,在很大程度上简化了集成电路测试的难度。第八章 测试技术与物理仿真 1.故障故障 所谓故障,指的是集成电路不能正常工作。使数字系统产生故障的原因有两类:一类是设计原因,如设计中存在竞争冒险,在某些情况下,电路可以正常工作,而在另一些条件下电路则不能正常工作;另一类是物理原因,如制造过程中局部缺陷造成的元件开路、短路、器件延时过大等。测试主要检测物理原因造成的故障,对测试目的来讲,重要的不是引起故障的物理原因,而是故障在数字系统中所表现出来的特征。故障可以

4、分为逻辑故障和参数故障。所谓逻辑故障,就是导致一个电路单元或输入信号的逻辑函数变为某些其它函数的故障;而参数故障则是改变了电路参数值的大小,引起诸如电路速度、电流、电压等参数的变化。参数故障中,影响电路元件工作速度的故障称为延迟故障。一般来说,延迟故障只影响电路的定时操作,它可能引起冒险或竞争现象。第八章 测试技术与物理仿真 2.测试码与测试向量测试码与测试向量 能够检测出电路中某个故障的输入激励,称作该故障的测试码。组合逻辑电路的测试码只是输入信号的一种赋值组合,时序逻辑电路的测试码是输入信号的若干种赋值组合的有序排列,有时称为测试序列或测试向量。第八章 测试技术与物理仿真 图 8-1 故障

5、模型初始示例图 abcdefghx第八章 测试技术与物理仿真 3.故障模型故障模型 (1)固定故障。这是逻辑故障最常见的故障模型,它是指电路中某个信号线的逻辑电平固定不变。在图8-2所示固定故障示意图中,如果该电平为固定低电平,则称故障为固定0故障(Stuck-at-0,记为S-A-0);如果该电平为固定高电平,则称故障为固定故障(Stuck-at-1,记为S-A-1)。这种故障类型概括了一般的物理故障,如对电源或地短路、电源线开路、TTL门的输入端开路、输出管烧坏的故障等。若电路中有一处或多处存在固定型故障则称为多固定型故障,一个实用的测试码生成系统应能处理多固定型故障。第八章 测试技术与物

6、理仿真 图 8-2 固定故障示意图 abcdefghxS-A-0Stuck-at-0abcdefghxS-A-1Stuck-at-1第八章 测试技术与物理仿真 (2)桥接故障。当逻辑电路中的某两条信号线发生短路时,常会产生信号“线与”、“线或”的效果,从而改变器件的逻辑关系。桥接故障也可能使电路构成反馈回路,使组合电路变成时序电路,这就给分析带来了很大的困难,如图8-3所示的h和e短路情况。第八章 测试技术与物理仿真 图 8-3 桥接故障示意图 abcdefghx第八章 测试技术与物理仿真(3)开路故障。开路故障指连线中某处发生如图8-4所示的断开现象。图 8-4 开路故障示意图 abcdef

7、ghx第八章 测试技术与物理仿真 在类似如图8-5所示的CMOS电路中二输入或非门,当Q4管输入开路,x、y为“10”时,输出z呈高阻状态,并由于输出电容关系而保持前一个输出值。这时该电路成为一个动态的锁存器,这样的故障一般只能用开关级模型进行处理。第八章 测试技术与物理仿真 图 8-5 CMOS NOR电路 xyQ1Q2Q3VSSQ4z开路故障VDD第八章 测试技术与物理仿真 (4)交叉点故障。在可编程逻辑阵列中,每个交叉点上都固有一个器件(二极管或三极管),即使不使用,它也是存在的。通过对每个器件的连接编程(栅极开路或连通),来获得所希望的逻辑功能。在一个PLA中,多连或少连一个器件都会引

8、起交叉点故障。虽然其中的大部分可用固定故障来模拟,但仍然有一些交叉点故障不能用固定故障来模拟。(5)时滞故障模型。电路在低频时工作正常,而随着频率的升高,元件的延迟时间有可能超过规定的值,从而导致时序配合上的错误,发生时滞故障。第八章 测试技术与物理仿真 (6)冗余故障。这类故障要么它是不可激活的,要么它是无法检测出来的,其特点是该故障不影响逻辑门的功能。在实际电路中,错误往往是由多个故障引起的。一个有n根信号线的电路,会有2n个单固定故障,有3n-1种组合的多固定故障。若要考虑其它故障模型,则多故障的种类就更多,这样使电路的故障分析难以进行。因此,目前大多数计算机辅助测试生成系统都主要考虑单

9、固定故障,即假设电路中只有一个固定故障源。实践证明,用这样的模型产生的测试码将覆盖绝大部分其它类型的故障和多故障。第八章 测试技术与物理仿真 8.1.2 故障仿真故障仿真 复杂数字系统芯片的测试是用自动测试设备(ATE,Automatic Test Equipment)来完成的。通过适当编程,这类设备能够自动装载、测试并按合格与否将被测器件分类。通常ATE都备有专门存放测试激励信号和预期输出结果(测试图形)的存储单元,容量从每管脚16 KB到32 MB不等。测试设备中存储的测试图形是集成电路设计者提供给制造者的重要数据,制造商使用这些测试图形对集成电路进行测试并作为芯片是否合格的依据。测试向量

10、的优劣取决于其故障覆盖率。第八章 测试技术与物理仿真 故障覆盖率定义为:不可测故障数故障总数已测出的故障数目故障覆盖率 在理想情况下,故障覆盖率应该能达到100%,实际上这一目标并不容易实现,除了芯片本身可能包含不可测点之外,测试向量长度也限制了故障覆盖率。理论上,数字逻辑电路可以靠穷尽其输入及内部状态的方式完全测试,但这需要的测试时间是天文数字。设计系统级芯片会用到很多种类型线路和IP核,长期以来在设计阶段,测试覆盖率一直是测试设计关心的重要课题,如今在一个芯片中包含了如此多种类型的线路,更为解决测试覆盖率问题增加了难度。第八章 测试技术与物理仿真 除了测试时间之外,测试设备存储单元的容量也

11、限制了长测试向量的使用。如果测试向量的长度超出了测试设备存储单元的限制,则在测试过程中就要将剩余测试向量中途装入ATE的存储单元,并在加载过程中保留断点处电路的工作状态,这会严重影响测试时间和测试成本。一般来讲,测试向量的故障覆盖率并不要求达到100%。工艺水平越高,对故障覆盖率要求越低。在同样的工艺水平下,芯片面积越大,出现制造故障的可能性越大,要求测试向量故障覆盖率越高。第八章 测试技术与物理仿真 故障仿真技术主要用来评价测试图形并用来指导和简化测试图形的生成。在测试图形生成过程中,每当针对某个特点故障生成了一个测试图形,都应采用该图形对电路中全部目标故障进行故障仿真,检查该测试码可以对哪

12、些故障进行检测,并对该测试码能够检测的故障作出标记,对于能够用已产生的测试图形检测的故障,不需要再专门生成测试图形,这样可以有效地减少整个测试生成所需要的计算时间。第八章 测试技术与物理仿真 尽管不能从理论上证明可以得到最短的测试向量,但从应用角度来讲,通常没有必要再对所生成的测量向量进行压缩和优化。相反,为了增加故障覆盖率,可能还需要对某些没有被当前测试向量覆盖的故障增加一些测试图形。常用的故障仿真方法有并行故障仿真、演绎故障仿真和同时故障仿真等。其中,并行故障仿真是最早采用的故障仿真方法,它的计算量与电路中逻辑门数的立方成正比。同时故障仿真的计算量则相对较小,与逻辑门数目的平方成正比。第八

13、章 测试技术与物理仿真 8.1.3 测试生成的过程测试生成的过程 设计测试图形主要有三种方法:(1)手工生成。由集成电路设计者或测试者手工写出测试图形。(2)伪随机测试图形生成。测试图形的输入激励由伪随机方式产生。伪随机输入激励可以由软件产生,可以由测试设备产生,也可以由嵌入被测电路中的专用模块产生。被测电路对伪随机输入激励的响应可以通过模拟产生,也可以通过测量一些功能正确的电路产生。(3)算法生成。使用某种计算方法,由计算机软件自动生成测试图形。这种软件工具应该能够接受电路网表,设置故障模型,产生测试图形等。第八章 测试技术与物理仿真 1.组合电路测试算法组合电路测试算法 产生组合逻辑电路的

14、测试码已有许多算法,有些方法以被测电路的逻辑代数(方程式)描述为基础,如布尔差分法,但由于模型不全面而较少应用。另一些方法是以电路的门级连接和功能描述为基础的,应用最广的算法是完全算法(D算法J.P.Roth 1966),脱胎于D算法的面向通路判定的PODEM算法(Path Oriented Decision Making,Goel 1981)和面向扇出的FAN算法(Fujiwara 1983)。第八章 测试技术与物理仿真 不论是D算法、PODEM还是FAN算法,都包含有以下三个过程:(1)选择并确定故障元件的输入,以使得在故障部位产生与故障值相反的值(S-A-1故障时为0,S-A-0故障时为

15、1)。(2)选择一条从故障部位到达输出的路径,并且确定沿这条路径的每个元件的其它信号值,以便使错误信号传播到该元件的输出,并直至电路输出。这也就是所谓的故障路径敏化。各种元件的路径敏化规则如表8-1所示。第八章 测试技术与物理仿真 表表 8-1 路径敏化规则路径敏化规则 第八章 测试技术与物理仿真 (3)选择并确定其余元件的输入值,使得产生(1)、(2)中所要求的信号值。这一过程也称为回溯或路径合理性的确认。可以看出,以上三个过程都存在多种选择,这就可能存在由于选择不当而出现不成功现象。遇到这种情况要重新进行选择,也称重试。一般很难避免重试,这是因为对复杂数字系统芯片电路进行测试是非常困难的。

16、第八章 测试技术与物理仿真 2.时序电路测试算法时序电路测试算法 由于电路中存在存储元件和反馈线,时序电路测试生成的研究,发展较为缓慢。20世纪80年代后期,时序电路的测试生成取得了一些进展,较著名的算法有Essential算法。时序电路中各元件的当前值不仅取决于当前输入值,而且和过去的输入、状态有关,检测一个故障往往要用一个测试“序列”。目前,一般的测试生成方法是将时序电路转换成累接的组合电路,即将各个相邻时刻的电路状态在空间上展开,于是就可以用类似组合电路的方法进行测试生成。但这些方法对于复杂的时序电路产生测试常常要花费难以接受的时间。第八章 测试技术与物理仿真 通常把时序电路的测试生成解

17、决办法分为三类:一是如同解决组合电路的测试生成一样,研究出时序电路测试生成的算法,如九值算法、MOMI算法和H算法等;二是把时序电路的反馈线剪开,形成组合电路的迭代模型,把电路的时域响应转换为空间域的响应,扩展已存在的D算法、PODEM算法等;三是改造时序电路的结构,使之变为易测试电路,这是解决时序电路测试的一种有效方法,它在电路的设计阶段就考虑其可测试性,即通过附加逻辑,使时序电路的测试可简化为同类组合电路的测试,参见8.2节。第八章 测试技术与物理仿真 8.1.4 测试流程测试流程 在复杂数字系统中,测试的流程示范如下:(1)确定应用前提条件,例如准备好:待测模块的门级网表。Synopsy

18、s综合库或Mentor的测试码自动生成(ATPG,Automatic Test Pattern Generation)库。模块电路结构应是组合逻辑。模块电路规模小于等于2千门。第八章 测试技术与物理仿真(2)测试要完成的目标。验证模块的功能是否正确。激励的故障覆盖率达到98%以上。(3)测试实现的原理如图8-6所示。第八章 测试技术与物理仿真 图 8-6 测试的原理图 输出结果结论:模块设计正确否?输入部分结果比较(根据用户提供的功能表)功能模拟ATPG生成的测试向量自编C程序第八章 测试技术与物理仿真 (4)实现方法的流程如图8-7所示。(5)测试方法的局限性。上面介绍的方法对时序电路无效。

19、对电路规模大且输入/输出关系复杂的电路效果一般,这种情况需要基于行为级网表处理。第八章 测试技术与物理仿真 图 8-7 测试流程图 门级网表EDIF 格式转换Mentor 读入ATPG 生成测试向量C程序处理结论第八章 测试技术与物理仿真 8.2 可测试性设计可测试性设计 8.2.1 可测试性设计初步可测试性设计初步 1.扫描路径法设计和测试扫描路径法设计和测试 目前较为成熟且应用最广的可测试性设计的方法是扫描路径技术,其模型如图8-8所示。扫描路径测试的概念是:将时序元件和组合电路隔离开,以解决时序电路测试困难的问题。它将芯片中的时序元件(如触发器、寄存器等)连接成一个或数个移位寄存器(即扫

20、描途径),在组合电路和时序元件之间增加隔离开关,并用专门信号控制芯片工作于正常工作模式或测试模式。第八章 测试技术与物理仿真 图8-8 扫描路径设计模型组合逻辑移位寄存器(扫描路径)输出输入模式选择时钟扫描进反馈输入反馈输出扫描出第八章 测试技术与物理仿真 当芯片处于正常模式时,组合电路的反馈输出作为时序元件的输入,移位寄存器不工作;当芯片处于测试模式时,组合电路的反馈输出与时序元件的连接断开,可以从扫描输入端向时序元件输入信号,并可以将时序元件的输出移出进行观察。(1)测试模式,扫描路径是否正确。(2)测试序列移入移位寄存器,稳定后组合电路输入与反馈输入一起通过组合逻辑,观察组合逻辑的输出,

21、与期望值比较。(3)正常工作模式,组合电路的反馈输出送入时序元件;将电路转为测试模式,把时序元件中的内容移出,也与期望值比较,与上述组合逻辑的输出一起用来检查芯片的功能。第八章 测试技术与物理仿真 扫描路径测试技术存在的问题:(1)需要增加控制电路数量和外部引脚,需要将分散的时序元件连在一起,这样导致了芯片面积增加、速度降低。(2)串行输出结果,测试时间较长。第八章 测试技术与物理仿真 2.电平敏感扫描设计电平敏感扫描设计 电平敏感扫描设计(LSSD,Level Sensitive Scan Design)是1977年由IBM公司提出的一种时序电路可测试性技术。“电平敏感”表明时序电路对任何输

22、入的静态响应和状态变化都与电路内的延迟无关,亦即信号冒险不会导致干扰电路功能,为做到这一点,LSSD采用无冒险的移位寄存锁存器(SRL,Shift Register Latch)作为扩展触发器。LSSD测试的通用原理图如图8-9所示,图8-9中“R”代表寄存器,“L”代表组合逻辑。第八章 测试技术与物理仿真 图 8-9 LSSD测试的通用原理图 RLRLRRRTest ModeOFFTest ModeONRLogicRLogicRLogicR第八章 测试技术与物理仿真 LSSD也要将数据移进或移出寄存器以达到可扫描性。在测试方式下,可将触发器连接成移位寄存器的形式,在时钟的作用下工作。LSSD

23、可以将电路的交流测试、测试生成、故障仿真大大简化,并且排除了冒险和竞争。然而,LSSD也有缺点,例如SRL在逻辑上比简单锁存器复杂倍,为控制移位寄存器,需要外加个输入/输出端。第八章 测试技术与物理仿真 3.内建自测试内建自测试BIST BIST是在芯片内部设计了“测试设备”来检测芯片的功能,避免了数据需要串行传输到外部设备的问题。常见的自测试结构包括表决电路、错误检测与校正码技术等。在外部测试命令方式下,芯片内部的产生测试码和对测试结果进行分析的电路进行自我测试,并给出结果。内测试码发生器通常为伪随机数发生器,图8-10所示的为线性反馈移位寄存器(LFBS,Linear Feed Back

24、Shift)。S0、S1、S2在一系列时钟的作用下,输出近似为伪随机序列。在实际的内测试电路中,输出响应分析器几乎都采用如图8-11所示的特征分析法(Signature Analysis)。第八章 测试技术与物理仿真 图 8-10 LFBS原理图 RRRS010111001S101011100S200101110第八章 测试技术与物理仿真 图 8-11 特征分析法原理图 R计数器输入第八章 测试技术与物理仿真 由LFBS构成的特征分析器既可以用作内测试码发生器,又可以作为特征分析器的电路,它被称为内建逻辑模块观察器(BILBO,Built In Logic Block Observer)。其逻

25、辑图如图8-12所示。图 8-12 BILBO原理图 muxScan-InB1RD0D1RD2RS0S1S2Scan-OutB0第八章 测试技术与物理仿真 BILBO有四种工作方式:(1)当B0=1、B1=0时,电路既可以作为伪随机数发生器,也可以作为特征分析器。如果D0D1D2=(000),该电路是一个伪随机数发生器,伪随机序列长度为23-1。如果保持D1D2不变,待分析数据从Z1输入,则该电路为串行特征分析器。若数据同时由D0D1D2输入,电路就构成一个位并行特征分析器。(2)当B0=0、B1=1时,所有触发器的输入均为0,在时钟作用下,3个触发器均置,所有触发器复位。第八章 测试技术与物

26、理仿真 (3)根据IEEE标准P1149.1,串行数据路径的输入称为测试数据输入(Scan-In),输出称为测试数据输出(Scan-Out)。当B0=0,B1=0时,开关接通Scan-In,电路构成一个3位移位寄存器,Scan-Out为串行数据输出,电路工作于扫描测试方式。(4)当B0=1、B1=1时,电路为个独立的触发器,处于正常工作状态。第八章 测试技术与物理仿真 4.周边扫描技术周边扫描技术 在实际应用中,当芯片焊接到PCB上后,还必须保证芯片和周围所有部件连接正确。为完成这项任务,一个基本的思想是在每个部件的每一个I/O内部增加一个移位寄存器的单元。在测试期间,这些单元被用来控制输出管

27、脚的状态(高或低电平)及读出输入管脚的状态,这样就可以在系统板级对互连进行测试。因而要求周边扫描寄存器必须具有以下三个重要性质。(1)在内核逻辑正常工作时,移位寄存器必须是透明的。第八章 测试技术与物理仿真 (2)必须能够使集成电路的内核逻辑和集成电路的互连线隔离开来,以便对集成电路外部的互连线进行测试。(3)必须能够使集成电路与PCB上的外部环境隔离开,以便对内核逻辑进行测试。因为这些寄存器单元位于集成电路的边缘(I/O管脚内),所以称这些单元为周边扫描单元(Boundary Scan Cells),组成的寄存器称为周边扫描寄存器(BSR,Boundary Scan Register)。移位

28、寄存器由一使能信号控制,该使能信号加在集成电路的一个专用测试引线端上。这样就可以使集成电路与PCB上其它的部件隔离开,使得测试数据直接加到集成电路上,从而避免测试码需经过几级逻辑线路才传送至集成电路。第八章 测试技术与物理仿真 周边扫描结构包括一个控制集成电路在测试和工作状态之间切换的指令寄存器,一个用来施加测试数据的测试输入输出端口和一个周边扫描寄存器(BSR)。图8-13所示就是一个典型的串行多芯片周边扫描测试原理图。利用这个架构,在测试方面可以完成外部连接测试,电路板中的个别芯片测试。另外,还可以观察系统正常情况下某一时刻的资料。在图8-13中可清楚地看到符合标准的芯片必须多加入4个I/

29、O引脚(TDI、TDO、TCK、TMS),每个I/O引脚还要附加个周边扫描单元(Boundary Scan Cell)。TDI与TDO分别是测试资料输入与输出的引脚,在本图中,它们连接电路板上4个芯片以形成更大的序列缓冲器。TCK是测试时的时钟信号,TMS是测试时的模式信号,用来控制每个芯片的状态。第八章 测试技术与物理仿真 图8-13 周边扫描原理图 Chip 1TMSTCKChip 3TMSTCKSerial test interconnectSystem interconnectTMSTCKChip 4Chip 2BoundaryScanCellTMSTCKTDISerialdata i

30、nSerialdata outTDOTCKTMS第八章 测试技术与物理仿真 8.2.2 可测试性设计与结构测试可测试性设计与结构测试 测试如果全都靠自动测试设备来做是很困难的。有一个办法可以解决这个问题,那就是采用内建自测试(BIST,Built In Self Test)技术。BIST电路可以是待测试芯片的部分电路,如芯片内RAM或芯片内的测试芯片;也可以做成一个专门的测试芯片增加到芯片系统上,它允许芯片不用外部测试设备而自己测试自己;可使自动测试设备能访问到它原来接触不到的电路和节点。第八章 测试技术与物理仿真 为此,欧洲的计算机、电信以及半导体厂家在几年前成立了联合测试行动小组JTAG(

31、Joint Test Action Group),专门研究与推荐各厂家之间标准化的测试体系结构与程序。在1986年,JTAG推出了标准的边界扫描体系结构,名为Bound Scan Architecture Standard Proposal Version 2.0,最后目标是应用到芯片、印制板与完整系统上的一套标准化技术,1988年3月4日IEEE与JTAG开始P1149.1的标准开发。由此,芯片、印制板与完整系统上的可测性已越来越受到重视,而一系列标准的贯彻实施使可测性设计提高到一个新的水平。第八章 测试技术与物理仿真 芯片是所有更高形式(电路板与系统)的应用基础,是标准化测试的起点,我们对

32、此应加以重视。功能测试,在电路规模不大的情况下测试激励的故障覆盖率一般充其量达到70%80%,往往达到50%60%就很不错了,具体数字可以通过故障仿真工具得到,如:Cadence Verifault。对那些功能测试中没有测试到的电路结构或状态应该在结构测试中尽可能测试到。由于ASIC设计的复杂度很高,它可能不是一个有限状态机FSM(Finite State Machine),要达100%故障覆盖率很难。但只要可测性设计(DFT)做得好,做到结构测试的故障覆盖率达到95%以上是没有问题的。一般情况下,面向这种结构测试的可测性设计是从子模块到模块,最后到芯片级逐层进行的。对于线宽为0.25/0.3

33、5 m的复杂数字系统芯片,可测性设计及自动测试机常用到的工具类似图8-14所示。第八章 测试技术与物理仿真 图 8-14 可测性设计及自动测试机常用工具软件示意图 边界扫描电路设计Mentor:BSDArchitect可测性设计分析和综合Mentor:DFTAdvisorDFTInsight可测性设计可测性设计自动测试机内置自测试电路设计Mentor:L/MBISTArchitect测试向量自动生成Mentor:FastScanFlexTest故障仿真Mentor:QuickGradeQuickFault测试代码生成和翻译Summit:TDS测试代码生成和翻译Mentor:ASICVector

34、 lfcATE第八章 测试技术与物理仿真 每一级子模块/模块电路设计首先是满足功能,其次就是面向DFT。无论是自己设计的电路,还是用电路综合工具综合出来的电路都要考虑可测性问题。若是自己设计的电路,在设计时就要尽量避免不可测因素,减少不可测设计(包括不可控及不可见设计)。在电路设计中可测性的设计规则有很多,要特别注意,如电路中的某条线在故障检测时呈固定态,那么它可能是不可控的,因而是不可测的,要避免。产生固定态的情况可能有:(1)接地,接电源的网线(Logic0、Logic1)。(2)由上拉或下拉门驱动的网线(Pullup或Pulldown)。(3)悬空于特定状态无驱动的网线。第八章 测试技术

35、与物理仿真 这些都是要避免的。另外,不可见因素(Unobservable)要减少。下列情况视为不可见故障,是不可测的,要注意避免。(1)没有扇出的网线。(2)门的输入端为固定态所控制。(3)单向门的输出端或驱动不可见网线的。(4)当输入/输出端连接到不可见网线时的双向门的控制输入端。对于使用电路综合工具生成电路时,一定要加上关于测试故障覆盖率最小为95%的测试约束,这在当今的电路综合EDA工具中完全可以做到。第八章 测试技术与物理仿真 在子模块/模块的调试过程中,要专门做电路的测试规则检查,所有不符合测试规则的地方要一一修改,直到测试规则检查全部通过为止。在芯片级集成时也要做测试规则检查(Te

36、st Rule Check),全部通过后再在芯片级加上Scan Path做ATPG,这时就可以保证结构测试的故障覆盖率达到95%以上。经过故障模拟由ATPG生成的最小测试集就可用于今后样片或批量芯片的测试。边界扫描(Bound Scan)是对芯片的板级测试提供支持,SUN SPARC工作站主板上的几乎所有集成芯片都有JTAG B o u n d S c a n 标 准 测 试 接 口。目 前 我 们 也 完 全 采 用JTAG/IEEE1149.1标准的工具生成Bound Scan 电路与标准测试接口。整个与可测性设计及结构测试有关的流程如图8-15所示。第八章 测试技术与物理仿真 图 8-1

37、5 可测性设计及结构测试流程图 子模块 DFTTest Rule Check模块 DFTTest Rule Check芯片 DFTTest Rule Check芯片级 Scan Path芯片级 Bound ScanTest Rule Check故障模拟,ATPG生成最小测试码集规格化测试码(TSSI,Verilog等)第八章 测试技术与物理仿真 8.2.3 软软/硬件系统可测试性设计硬件系统可测试性设计 1.存取问题存取问题 独立模块的存取数目有限,使复杂系统的可测试性能受到限制。虽然多模块系统设计和执行时,可以将它细分成各个部分,但装配到一起以后,复杂系统的状态就成了具有各组成部分的多种复杂

38、性的黑盒子。例如,我们可以用一个状态机构来模拟模块的工作。状态包括转换和条件,通过确定所有状态的变化可以测试一个模块的动态响应。一般说来,如果一个模块有N个状态(N个状态空间),则至少有N个状态变化,相应的,至少要进行N次不同的测试。第八章 测试技术与物理仿真 多模块复杂系统的状态数目增长极快。系统黑盒子包含了所有模块的状态空间,例如系统由K个模块组成,每个模块有N个状态,那么系统的状态空间是NK。我们称这种增长模式为状态空间的暴涨。显然,如果能独立测试每个模块,模块化系统的可测试性就会大大提高。因此,模块化的软、硬件设计还需包括测试存取通道,以保证能够进行分离的模块测试。研究人员已广泛地采用

39、这种各个击破的处理方式来测试复杂的、模块化数字电路。第八章 测试技术与物理仿真 2.系统级可测试性设计系统级可测试性设计 系统可测试性设计必须明确分离系统的功能规范和实际软、硬件系统的运行。在设计过程中,我们先制定出系统的功能规范,由这个规范可对系统有明确且详尽的理解(不会被执行的细节弄糊涂)。这样的规范为系统的软、硬件划分和选择合适的组合提供了坚实的基础。系统级可测试性设计必须在规范中增加系统级测试要求,以增加系统内部模块的可控性和可观测性。而后,必须将独立的测试要求转变为实际的软、硬件要求。在规范中设置测试要求会对实际系统产生很大的影响,一种设计思路是像现有的测试设备一样来实现测试要求,如

40、边界扫描通道测试技术。同时,测试要求也引起了软硬件测试设备的更新。设计规范与实际执行相分离是现代设计方法的基本原则。这种方法包括结构化和反向分析设计以及软、硬件综合设计。因此系统级可测试性设计完全适用于这些现代设计方法。第八章 测试技术与物理仿真 3.技术规范中的系统级可测试性技术规范中的系统级可测试性 其基本原则是:通过将系统划分成各个模块来解决系统测试的复杂性。在系统中插入测试功能,先测试单个模块,再测试模块间的相互作用,进而完成整个系统的测试。硬件测试(例如常规测试)就采用了这种原则。在系统设计规范中,系统级可测试性设计策略有两部分。(1)系统部分。结构化、模块化的设计方法自然可以增加可

41、测试性,但制定系统划分的大体准则可以进一步加强系统的可测试性。系统划分有多种探索工作和经验准则,其中模块间最小相关性和模块内部最小相似性原则对改善可测试性很有效。第八章 测试技术与物理仿真 模块间最小相关性原则通过减少模块间的相互作用和信息传递,将系统划分成几个独立的模块。这样,在测试过程中就可以将一个模块与周围环境隔离开了。利用模块内部最小相似性原则可形成可测试性好的模块。系统复杂程度的标志之一就是模块内部相似性。由前述内容可知,如果一个模块的组件存在相互作用性、并行性和一定数量的状态,则模块的状态数量就会迅速增加,系统状态空间维数也会迅速增长,使得所需测试项目也随之增多。利用最小相似性原则

42、可减少测试项目数量。理论上,可以将系统模拟成一个信息交流处理装置。最小相关性原则的主要目的是减小过程中的相互作用,最小相似性原则允许每个模块只对某一单独的连续过程有响应。第八章 测试技术与物理仿真 图 8-16 系统划分模型 系统环境系统模块A模块C模块B模块D模块E第八章 测试技术与物理仿真 (2)增加测试功能。这使得在测试时能控制和观测单个模块以及模块间的相互作用。先在设计规范中确定测试功能,不考虑系统的运行细节,在其次的设置步骤中再将测试功能与实际的软硬件系统运行结合考虑。可以通过给模块输入激励信号,观测模块边界响应来测试单个模块及模块间的相互作用。这就要求能在外部系统中直接控制和观测模

43、块的边界状态。但一般来说这是不可能的,因此希望能通过其它模块提供测试激励信号,并观测被测模块的响应。例如在图8-16中,我们既不能控制模块C的边界状态,也不能在外部系统中观测到它们,这就要通过其它模块进行测试。第八章 测试技术与物理仿真 正是由于受这些控制和观测的限制,极大地约束了系统的可测试性,主要表现在以下几方面:必须设置与被测模块相通的测试通道。目前,要做到这一点非常困难。当检测到故障时,不能确定它是来自于被测模块还是来自于测试通道。在实际系统中,事件的顺序和时间序列是很严格的。因此,在测试时要求控制输入时序并观测输出时序,而要做到这一点,就必须对被测模块进行直接检测。第八章 测试技术与

44、物理仿真 为改善可测试性,我们在设计规范中增加了测试功能,并使用以下三种测试功能模式。(1)透明的测试模式(TTM)。如果通向被测模块的通道是透明的(若能不失真地传递信号则称为透明的),就能解决检修方便性的问题。这种通道可以用附加透明测试操作模式扩展模块来实现。当模块转换成TTM模式时,它将按预定形式将输入信号直接传送到输出信号,在模块的输入输出间提供一个透明通道。另外,如果从测试仪器到被测模块的所有存取点不可能或不想建立测试通道,就要增加测试响应器。测试响应器在某种程度上是测试通道的反转,它将可控制信号从被测模块返回给测试仪器。第八章 测试技术与物理仿真 (2)内建自测试(BIST)。模块具

45、有自测试功能,它可以降低对外部系统可控制性和可观测性的要求。模块的内置自检功能可以向模块提供测试激励信号,观测和确定响应值。内置自检可以从外部系统启动,并受外部系统控制,它能向外部系统返回连续/不连续运行的响应或诊断信息。第八章 测试技术与物理仿真 (3)控制和观测点(PCO)。控制和观测点是指在模块边界插入的控制、观测点,这些点能使我们从外部系统直接控制和观测模块间的相互联系。一般我们在两个模块的连接处插入一个控制和观测点。控制和观测点除了用于观测和控制模块相互连接,还能和数据存储器一起,在测试模式中读写数据。在一个系统中,可以通过模式的输入单独控制每个控制和观测点,但一个通用的模式选择可控

46、制许多控制和观测点。透明的测试模式和控制观测点功能在外部系统和内部模块之间提供了通道。该通道不仅传递测试信息,而且传递系统的管理信息,如程序的更新和数据等。第八章 测试技术与物理仿真 4.从设计规范到软从设计规范到软/硬件实现硬件实现 当系统的软硬件结构完成后,我们可以对系统进行循环测试。对于所有的测试和诊断控制,这个结构都能提供以下功能,且适用于每一层的测试。(1)初始化系统、子系统、模块、元件(模式的设置,复位)。(2)进入并控制系统每层的次级元件。(3)传递测试激励信号。(4)控制内置测试结构。(5)采集测试结果。(6)识别元件。第八章 测试技术与物理仿真 一般在分层测试结构中有两种策略

47、结合使用:集中和分布。集中式策略是从一个单独的顶层测试控制模块进入并控制系统所有较低层次;而分布式策略则是尽量将测试的控制分布到每个层次。两者各有优缺点,在这里我们主要讨论分布式策略。(1)集中式策略提供了一种简单低耗的测试结构,不要求每个测试层都要有相应的配置和相应的知识对模块进行专门测试。但由于它的中心测试模块包含有全部的测试内容,我们不能随意用功能相同但使用技术不同的其它模块替换。因此集中式策略是不可变的,且它要在层次之间的测试数据传递基础上才能进行有效通信。第八章 测试技术与物理仿真 (2)分布式测试策略更富变化性,因为它的测试技术定位于单个的系统级,这有利于并行测试以减少测试时间。测

48、试功能的分布还降低了系统测试控制模块的复杂程度,且将操作技术限于独立地执行单个测试级激励,因为系统测试控制器能在一个独立层次操作,这避免了使用复杂的专用测试接口。为提供标准化的通用测试接口,分布式策略能方便地使用可替换的商品化产品,用这种方式很容易开发出测试性能很高的系统。这种优点使得分布式策略非常适合于测试复杂系统。第八章 测试技术与物理仿真 (3)集中式和分布式策略描述的是极端情况。在实际应用中,设计者经常使用同时具有两者特性的综合性策略。软硬件设计者已开发出多种DFT技术。硬件DFT主要是仪器,软件DFT主要用于设计规范。这些技术的单独使用并不能得到令人满意的系统级可测试性能。一个单独的

49、DFT技术需要同所有其它的DFT处理结合起来才更有效果。第八章 测试技术与物理仿真 由模块组成的模块化系统对于测试者并没有什么有利之处,除非能对系统每部分分别进行测试。模块化设计意味着模块化测试。今后面临的挑战是开发出一个完整的设计过程,能够提供满足规范要求的可单独执行的可测试性,如测试码的传送、机内自检、PCO等。我们必须将软硬件系统执行的可测试性要求结合起来考虑,这意味着将高水平的可测试性要求转变为已有的或新的测试功能执行。第八章 测试技术与物理仿真 8.2.4 包含嵌入式模块的可测试性设计包含嵌入式模块的可测试性设计 1.功能测试功能测试 功能测试的原理是很简单的。设计小组中见多识广的成

50、员可负责开发测试向量集。向量包括两个部分:被测设备的激发因素和相应的预期反应。这种方法需要专业设计知识。以前这些向量的来源是设计模拟向量。它们必须满足测试者的需要,而且通常需要修改。开发这些基于设计功能性的测试向量的时间随设计尺寸和复杂性的增加而增加,必须理解设计单元(部件)间的相互作用。创建同样的向量并提供观测预期结果的方法对嵌入式部件而言是困难的。第八章 测试技术与物理仿真 2.测试接入结构测试接入结构 因为创建测试嵌入式部件的功能向量是比较困难的,所以分析怎样应用DFT方法就变得相当重要了。为了在测试嵌入式部件时不依赖周围设计部件,可以使用直接接入法。这种方法比其它方法的自动化程度低,尽

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(VHDL复杂数字系统设计-2-(4)课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|