组合电路测试方法_第1页
组合电路测试方法_第2页
组合电路测试方法_第3页
组合电路测试方法_第4页
组合电路测试方法_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、上次课主要内容:1.可测试性度量2.SCOAP度量方法 组合SCOAP度量 时序SCOAP度量2022-5-30IC Test: Lecture 51可控制性:通过电路的原始输入设置电路内部节点到0(或1)的难易程度。可观测性:通过电路的原始输出观察电路内部节点值(0或1)的难易程度。基本数字逻辑门的输出可控制性:2022-5-30IC Test: Lecture 42基本数字逻辑门的输出可控制性(续):2022-5-30IC Test: Lecture 43基本数字逻辑门的可观测性:2022-5-30IC Test: Lecture 44基本数字逻辑门的可观测性:2022-5-30IC Te

2、st: Lecture 45对于下图中电路,计算组合SCOAP可测试性度量(可控制性和可观测性)。要求:标出门的级数,列出计算公式。2022-5-30IC Test: Lecture 562022-5-30IC Test: Lecture 571.首先设置各个逻辑门的级数;2.对所有PIs及其扇出节点, 置CC0 = CC1 = 1 ;3.从PIs 到 POs, 采用SCOAP度量计算CC 的方程获得可控制性;4.从POs至PIs计算各个逻辑门的级数;5.对于所有 POs, 置 CO = 0;6.从 POs 到 PIs工作, 采用SCOAP度量计算CO 的方程和可控制性获得可观察性;7.扇出源

3、 CO= min 分枝 (CO(1), CO(2),)。2022-5-30IC Test: Lecture 58第二章 组合电路测试生成1.算法与表示 结构测试与功能测试 搜索空间的抽象 算法完备性 ATPG代数 算法类型2.重要的组合ATPG算法 D算法 PODEM算法 FAN算法2022-5-30IC Test: Lecture 59q自动测试矢量生成(ATPG) 是为测试电路而生成测试矢量的过程,其中电路是用逻辑级网表(电路图)严格描述的。qATPG算法具有多重目的:可以生成电路的测试矢量,可以发现冗余或不必要的电路逻辑,可以证明一个电路实现是否与另一个电路实现匹配。2022-5-30I

4、C Test: Lecture 510qEldred (1959) 第一次将结构测试应用于Honeywell Datamatic 1000 计算机 qGaley, Norby, Roth (1961) 第一次发表stuck-at-0 and stuck-at-1 故障qSeshu & Freeman (1962) 用于并行故障模拟的固定故障模型qPoage (1963) 给出固定故障的理论分析2022-5-30IC Test: Lecture 511图1 64位加法器: 功能测试和结构测试(固定故障)2022-5-30IC Test: Lecture 512(a) 求和部分(b) 进位

5、部分2022-5-30IC Test: Lecture 513q功能ATPG 为电路的输入-输出组合生成完备测试集. 129输入, 65输出(64位加法器) 2129 = 680,564,733,841,876,926,926,749, 214,863,536,422,912 输入测试矢量 265=36,893,488,147,419,103,232 输出响应 采用1 GHz ATE, 需要花费 2.15 x 1022 年q结构测试: 没有多余的加法器硬件, 64 bit slices(位片) 加法器每个位片仅有27 故障 (采用故障等价) 至多 64 x 27 = 1728 故障 (测试)

6、花费0.000001728 s (1 GHz ATE )q设计者给出小的功能测试集增加结构测试可使覆盖率增大到98+%2022-5-30IC Test: Lecture 514图2 电路的不同表示2022-5-30IC Test: Lecture 515所有的ATPG程序均需要一种数据结构来描述测试矢量的搜索空间。qBDD 从源到沉节点的路径 沿着各个路径的积给出沉处的布尔值。q最右边路径: A B C = 1(检查与功能是否一致)qBDD已经应用于ATPG。q问题: 大小随变量顺序变化。2022-5-30IC Test: Lecture 516图3 二元判决图(BDD)q定义: 如果它最终可

7、搜索整个二元判决图, 生成测试矢量的算法是完备的。q不可测试的故障 对于不可测试的故障,整个树搜索完之后,也不会找到它的测试矢量。 q仅组合电路 不可检测的故障是冗余的, 表明存在不必要的硬件。2022-5-30IC Test: Lecture 517qATPG代数是一个高阶布尔集合符号,其目的是同时表现出“好”或“坏”电路的值。q优点是只需要执行1遍ATPG就可确定好、坏电路的信号值。2022-5-30IC Test: Lecture 5182022-5-30IC Test: Lecture 519q对于n输入组合电路, 要产生所有2n 输入矢量,称为穷举测试(exhaustive test

8、ing)。 q穷举测试的故障覆盖率很高,除了那些能使电路增加状态数(如CMOS电路中的s-op故障产生存储点)的故障外,绝大多数故障都可检测。q不切实际的, 除非将电路划分为小的逻辑模块, 如15个输入或更少:对每个模块进行全部的ATPG。 可能无法检测出需要多个逻辑模块同时激活才可以测试的故障。2022-5-30IC Test: Lecture 5201 穷举测试和伪穷举测试q核心部分是选择有效测试矢量的故障模拟器。q采用获得的测试矢量可测试60-80%的故障, 然后转换到D-算法或其它ATPG生成测试矢量。2022-5-30IC Test: Lecture 521图4 随机矢量生成方法1.

9、5 算法类型2 随机测试矢量生成(RPG)2022-5-30IC Test: Lecture 522假设 是具有n个变量的逻辑功能表达式,如果其中的一个输入,比如说是ni出现了故障,则输出将变成 ,则F(X)相对于xi变量的布尔差分定义为: ),.,()(1nxxfXF).,.,()(1nixxxfXF),.,.,(),.,.,()(),.,.,(111niniiinixxxFxxxFdxXdFdxxxxdFidxXdF)(1.5 算法类型布尔差分法就被称为F(X)相对于xi的布尔差分运算。 2022-5-30IC Test: Lecture 523当 的时候, ;当 的时候, 。基于以上原理

10、,在检测xi处的故障的时候,需要找出合适的输入逻辑组合,保证当xi由于出现故障而变成相反值的时候, 。换句话说,对于每一个输入端口xi处需要推导出合适的逻辑组合,从而保证 ),.,.,(),.,.,(11ninixxxFxxxF1)(idxXdF),.,.,(),.,.,(11ninixxxFxxxF0)(idxXdF),.,.,(),.,.,(11ninixxxFxxxF1)(idxXdF1.5 算法类型布尔差分法0AA1AA0AA1AA 2022-5-30IC Test: Lecture 524异或运算法则:ABABAB2022-5-30IC Test: Lecture 525布尔差分运算

11、的一些有用的关系式 iidxXdFdxXFd)()()(XF是F(X)的反运算 iidxXdFdxddxXdFdxd)()(iiiiidxXdGdxXdFdxXdFXGdxXdGXFdxXGXFd)()()()()()()()(iiiiidxXdGdxXdFdxXdFXGdxXdGXFdxXGXFd)()()()()()()()(2022-5-30IC Test: Lecture 5260)(idxXdF1)(idxXdFiidxXdGXFdxXGXFd)()()()(iidxXdGXFdxXGXFd)()()()(如果F(X)和xi具有无关性,如果F(X)的结果仅与xi有关,如果F(X)和x

12、i具有无关性,如果F(X)和xi具有无关性,2022-5-30IC Test: Lecture 527例 推导出相对于输入x3的布尔差分结果 2022-5-30IC Test: Lecture 5283433213214334321343213)()()()()()(dxxxddxxxddxxxdxxdxxxdxxdxxxxxddxXdF42134333343432134321)()(xxxdxdxdxdxdxdxxdxdxxxxdxxxdxx以上差分结果说明,当输入端x3处有故障时,只有当的情况下,输出F处才能显示出来这个故障,也就是说,输入向量中,应使x4为1,x1和x2中有一个为零或全为

13、零。1421xxx优点:纯数学方法,不需要试验,不会出错。缺点:需要首先推导出电路的布尔方程式,再进行布尔差分和异或运算, 这对较大的电路来说, 所耗费的时间和空间是难以接受的. 故在超大规模集成电路中应用较少。1.5 算法类型布尔差分法2022-5-30IC Test: Lecture 5291).故障敏化:对一个固定故障通过使驱动它的信号成为与故障值相反的逻辑值来激活。也称为故障激活或故障激发。2).故障传递:故障响应通过一条或多条路径传播到电路的PO。对于某些故障,为了测试它必须同时在多条路径上传播故障响应。3).线确认(Line Justification):前面为敏化故障或传播其故障

14、响应所做的内部信号赋值通过设置电路的原始输入来确认。2022-5-30IC Test: Lecture 5301.5 算法类型路径敏化法三种情况:1.沿路径fhkL 传播;2.沿路径gijkL 传播;3.沿路径fhkL 和gijkL 同时传播。1.5 算法类型路径敏化法例 输入端B存在sa0故障,推导其测试矢量。2022-5-30IC Test: Lecture 531为了故障沿f f h h k k L L 传播, 需要设置ANDAND门输入为1 1,OROR门输入为0 0。因此, 设A=1,j=0, E=1。路径f f h h k k L L 在 j j 阻塞, 由于不存在判断i i为为1

15、 1的路径。2022-5-30IC Test: Lecture 5320 0D DD D1 11 11 1D DD DD D同时考虑 f f h h k k L L 和g g i i j j k k L L 在 k k 阻塞,因为D-D-边界(边界( frontierfrontier ) 消失。2022-5-30IC Test: Lecture 5331 1D DD DD DD DD D1 11 11 1最后试验: 路径g g i i j j k k L L 测试矢量建立,测试B处sa0故障的测试矢量为 0111。2022-5-30IC Test: Lecture 5340 0D DD DD

16、D1 1D DD D1 10 01 1D DD D基本的和第一个算法是Roth提出的D算法,采用D立方建立ATPG的运算和算法。其次的发展是Goel提出的PODEM算法,采用路径传播约束有效地限制了ATPG算法的搜索空间,并且引入了回溯的概念。第三个重要发展是Fujiwara和Shimono提出的FAN算法,有效限制了回溯从而加快了搜索的速度,并且利用信号信息来限制搜索空间。2022-5-30IC Test: Lecture 5352022-5-30IC Test: Lecture 536 第一个成功用于非冗余组合电路测试向量生成的算法。 基本概念: 奇异立方 故障D立方 故障的传播D立方 D

17、相交 D边界 D驱赶 2022-5-30IC Test: Lecture 537(1)奇异立方n维空间中任意一个点、一条线段, 均称为一个立方. 其中点是对应逻辑函数的最小项. 而除了点以外的各种线段、面积等表示的均不是最小项, 称为奇异立方。任何一个逻辑函数都可以用若干奇异立方来描述. 例如, f = x1x3 + x2x3 可以用奇异立方(11)及(10)来描述。 表示变量可以是0或1。 或非门对应的真值表及奇异立方(a)真值表 (b)奇异立方2022-5-30IC Test: Lecture 538(1)奇异立方实际上,逻辑函数的奇异立方就是函数真值表的压缩表示法。 如或非门NOR的奇异

18、立方, 有的也称为初始立方,每一行称为一个立方。2022-5-30IC Test: Lecture 539(1)奇异立方复杂电路的奇异立方 复合电路原理图和所对应的奇异立方该电路的奇异立方由三部分组成,每一部分对应每一个门,也就是说,对于复合电路,每一个门的奇异立方的共同集合构成了复合电路的奇异立方。 2022-5-30IC Test: Lecture 540(1)奇异立方基本电路的奇异立方2022-5-30IC Test: Lecture 541(2) 故障D立方 在元件E的输出可产生故障信号D(D)的最小输入 条件称为故障D立方. 其中D表示正常电路输出为1, 故障时输出为0, 记为D=1

19、/0; D则反之, 记为D=0/1; 如果用b表示正常电路的奇异立方, 用a表示故障电路 的奇异立方, 则有 D = b b1 n a a0 逻辑门的故障D立方是通过正常门和故障门的初始立方进行交(n)运算而得到的。D = b b0 n a a12022-5-30IC Test: Lecture 542(2) 故障D立方的形成规则首先形成逻辑门的正常初始立方和故障初始立方.对正常初始立方和故障初始立方进行交运算. abf1110 x0 x00abf1x10 x0(1) 正常初始立方(2) 故障初始立方b b 0b b 1b b 0a a1与门,与门,b b(s-a-1s-a-1)故障)故障a

20、a0b b(s-a-1s-a-1)2022-5-30IC Test: Lecture 543(2) 故障D立方的形成规则 运算符合如下规则: 00000XX11111XXXXXD01D102022-5-30IC Test: Lecture 544 把元件E的输入端的若干故障信号能传播至E的输出端 的最小输入条件称为传播D立方。 传播D立方可从门的正常初始立方得到, 即把门的正 常初始立方中具有不同输出值的立方进行交运算即 可获得。 可以认为,故障是可以按照这种D立方传递的方式进 行的。(3) 故障的传播D立方2022-5-30IC Test: Lecture 545对应双输入或非门,传播D立方

21、为: 如果或非门的一个输入端为0,则输出与另一个输入端成互补关系。 (3) 故障的传播D立方2022-5-30IC Test: Lecture 546基本电路的故障传播D立方(3) 故障的传播D立方2022-5-30IC Test: Lecture 547(4)D相交 D相交又称D立方相交, 它是建立敏化通路的工具, 又是回推相容运算中是否相容的工具。(5)D边界 它是指输入含有D/D信号而输出还未定值的所有逻辑单元的集合。(6)D驱赶 指D运算中, 把D/D从故障源向原始输出传播的过程。正向蕴涵是指当一个逻辑单元的一个或几个输入的值确定之后, 对其输出定值的运算.2022-5-30IC Te

22、st: Lecture 548(a) 正向蕴涵(b) AND门正向蕴涵表2.1 D立方反向蕴涵反向蕴涵指当门的输出和某些门的输入的值确定之后, 确定其输入值的运算.2022-5-30IC Test: Lecture 549图1 反向蕴涵2.1 D立方提出基本概念提出基本概念: : 第一个完备的第一个完备的 ATPG ATPG 算法算法D-D-立方立方D-D-驱赶驱赶 蕴涵蕴涵 正向和反向正向和反向 线确认线确认 相容性检查相容性检查-50-2.2 D算法(Roth)2022-5-30IC Test: Lecture 551 D D算法算法针对输入端口针对输入端口2 2的的s-a-0s-a-0故

23、障建立一个测试向量故障建立一个测试向量 :针对该故障的初始针对该故障的初始D D立方是:立方是:2022-5-30IC Test: Lecture 552为了将节点为了将节点4 4处的处的 传过传过G2G2,必须在满足,必须在满足G2G2的传播的传播D D立立方关系中找到与方关系中找到与 相关的,如下:相关的,如下: 整个电路的整个电路的D D立方:立方:01X12X03X设置设置能够将从端口能够将从端口2 2至节点至节点4 4至输出至输出5 5的的路径敏感化,从而能够检测该路径上相关的故障。路径敏感化,从而能够检测该路径上相关的故障。DD D D算法算法2022-5-30IC Test: L

24、ecture 553如果在选择满足如果在选择满足G2G2的传播的传播D D立方关系中,找到的是立方关系中,找到的是 的话,它与故障对应的初始的话,它与故障对应的初始D D立方进行相交运算将不能立方进行相交运算将不能产生测试向量。产生测试向量。因为节点因为节点4 4对应状态的第一个值是对应状态的第一个值是 ,则第二个值需要,则第二个值需要置为零,这是与要求相矛盾的。置为零,这是与要求相矛盾的。)0(DDD D D算法算法2022-5-30IC Test: Lecture 554选择待测量故障的初始选择待测量故障的初始D D立方;立方;将待查故障门一直到输出之间所有可能传播故障的将待查故障门一直到

25、输出之间所有可能传播故障的 路径进行敏感化;这可以通过将故障的初始路径进行敏感化;这可以通过将故障的初始D D立方与立方与 无故障的传输无故障的传输D D立方相交生成;立方相交生成;D D驱动,输出端对应的值将会出现驱动,输出端对应的值将会出现D D或或 。 一致化操作,将输入向量一致化,使在一致化操作,将输入向量一致化,使在D D驱动过程中,驱动过程中, 所有输入端口都设置为所有输入端口都设置为0 0或或1 1。D D D算法算法2022-5-30IC Test: Lecture 555例例1 1:推导出能够检测节点:推导出能够检测节点6 6处处s-a-0s-a-0故障的测试向量。故障的测试

26、向量。 D D算法算法2022-5-30IC Test: Lecture 556与节点与节点6 6相关的门是相关的门是G2G2,需要确定它的故障初始,需要确定它的故障初始D D立方,确立方,确定敏感路径上的门定敏感路径上的门G4G4和和G5G5的传播的传播D D立方,另外门立方,另外门G1G1和和G3G3与与故障完全无关,需要确定它们的奇异立方。故障完全无关,需要确定它们的奇异立方。 D D算法算法G2G2的故障初始的故障初始D D立方,立方,G4G4和和G5G5门的传播门的传播D D立方分别为:立方分别为:2022-5-30IC Test: Lecture 557G1G1和和G3G3的奇异立

27、方为:的奇异立方为: D D算法算法2022-5-30IC Test: Lecture 558与节点与节点6 6处处s-a-0s-a-0故障相关的故障相关的D D立方,选择一个输出为立方,选择一个输出为D D的,的,这样与这样与G2G2门有关的门有关的D D立方就选择(立方就选择(10D10D),然后与门),然后与门G4G4的传的传输输D D立方进行相交运算,所得结果再与立方进行相交运算,所得结果再与G5G5门的传输门的传输D D立方进立方进行相交运算。行相交运算。 DD驱动操作步骤各节点所对应结果 1 2 3 4 5 6 7 8 9选择D立方 1 0 D与G4的D立方相交 0 1 0 D 与

28、G5的D立方相交 0 1 0 D 1 D D D D算法算法2022-5-30IC Test: Lecture 559最后再进行端口一致化操作,即根据所得结果,将其最后再进行端口一致化操作,即根据所得结果,将其它未有赋值的节点全部推导出相应的结果,这里所谓它未有赋值的节点全部推导出相应的结果,这里所谓的的“一致化一致化”,指的是,在其它节点赋值时,指的是,在其它节点赋值时,要以不要以不改变目前已经得到的结果为目标改变目前已经得到的结果为目标,使得结果一致化。,使得结果一致化。 DD一致化操作步骤各节点所对应结果1 2 3 4 5 6 7 8 9根据G3的奇异立方检查节点7为1,将节点5设置为0

29、 0 1 0 0 D 1 D 根据G1的奇异立方检查节点5为0时对应的输入端口1的值,将端口1设为1 1 0 1 0 0 D 1 D D D算法算法2022-5-30IC Test: Lecture 560以上在以上在D D驱动和一致化过程中,由于故障点处的驱动和一致化过程中,由于故障点处的D D立方选立方选择理想,所以在后面推导中未出现矛盾问题,在实际应择理想,所以在后面推导中未出现矛盾问题,在实际应用中,不可避免要出现由于用中,不可避免要出现由于D D立方选择不当造成推导不立方选择不当造成推导不下去的时候,这时就要重新确定故障处的下去的时候,这时就要重新确定故障处的D D立方,重新立方,重

30、新进行进行D D驱动和一致化。驱动和一致化。 D D算法算法2022-5-30IC Test: Lecture 561例例2 2:节点:节点5 5处有处有s-a-1s-a-1故障需要进行测试。故障需要进行测试。 D D算法算法2022-5-30IC Test: Lecture 562电路的奇异立方电路的奇异立方 D D算法算法2022-5-30IC Test: Lecture 563由于故障发生在由于故障发生在G2G2门,选择门,选择d (X,1,0)d (X,1,0)做为做为D D立方,则传播立方,则传播D D立方为立方为 D D算法算法2022-5-30IC Test: Lecture 564在执行相交运算时,表在执行相交运算时,表4 4和表和表5 5空的地方都认为是空的地方都认为是X X,则沿着传输路,则沿着传输路径径5-8-95-8-9的的D D驱动和一致化操作如表所示。将驱动和一致化操作如表所示。将D D驱动操作过程中相交驱动操作过

温馨提示

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

评论

0/150

提交评论