




已阅读5页,还剩70页未读, 继续免费阅读
(电路与系统专业论文)嵌核系统芯片测试方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 。随着集成电路的发展,电路规模不断增加,对电路的测试变得日益困难, 测试覆盖率等很难满足要求。因此需要在电路设计时就考虑到测试,这就是可 测性设计。 同时,集成度的不断增高和亚微米和深亚微米技术的不断发展,使得一个 复杂系统集成在一个芯片上成为可能。目前电路的发展已逐渐从系统建立在板 上( 板上系统) 发展到建立在芯片上( 片上系统) ,即单芯片系统。其中运用了 大量的预设计、可重复使用的模块( 核) ,这样的系统也称为嵌入式核系统, 正在被目益广泛地采用 采用嵌核系统这种方法具有一系列优点,诸如应用范围广,增大集成度, 设计灵活方便,降低成本,缩短设计周期等等。但是,采用嵌核系统也引进了 新的困难,很重要的一点即是嵌核系统芯片的测试方法,如何来减少系统的测 试成本和测试时间。 本文对嵌入式系统作了比较深入的讨论。在核的层次上,对伪穷举算法进 行分析,研究它的应用,给出了一些相关的定理,并加以证明,对扫描测试的 方法也进行了一定的讨论。在系统的层次上,以嵌入式系统的观点对一个图象 格式变换系统进行了分析,讨论了其中作为核的各个模块的测试,以及全局测 试,其中运用了测试数据总线和扫描移位的方法,并用v h d l 语言进行模拟,分 析了模拟结果。 关键词:可测性设计,片上系统,嵌入式系统,核,伪穷举算法,扫描测试 a b s 打a c c a b s t r a c t w i t ht h ed e v e l o p m e n ta n dt h ei n c r e a s i n gs i z eo ft h e1 c s ,i ti sg e t t i n gh a r d e ra n d h a r d e l t ot e s t1 ( 、a n dt h ef a u l tc o v e r a g ei sn o ts a t i s f a c t o r yi nt h em o s tc a s e ss ow e s h o t d dc o n s i d e rt e s t a b i l i t yi nt h ec o u r s eo fd e s i g n i n gt h ec i r c u i t t h i si st h ei d e ao f d e s i g nf o rt e s t ( d f t ) a d v a n c ei ns e m i c o n d u c t o rp r o c e s sa n dd e s i g nt e c h n o l o g ye n a b l e st h ed e s i g no f c o m p l e xs y s t e mc h i p t r a d i t i o n a li cd e s i g ni nw h i c hs y s t e mi s d e s i g n e do nab o a r d ( s o b ) i sm o r ea n dm o r er e p l a c e db yad e s i g ns t y l ei nw h i c hs y s t e mi sd e s i g n e do na c h i p ( s o c ) ,t h e s oc a l l e d o n c h i ps y s t e m t h i sk i n do fs y s t e mi sa l s oc a l l e d e m b e d d e d c o r eb a s e d s y s t e m f o ri ti s d e s i g n e d b a s e do be m b e d d i n g ,r e u s a b l e m o d u l e sw h i c hi sc a l l e dc o r e s t h ec o r e b a s e dd e s i g nh a sm a n ya d v a n t a g e sa n dc a nb eu s e dw i d e l y i tc a n i n c r e a s et h e i n t e g r a t i o n o fi c s ,s h o r t e nt h e d e s i g nt i m e ,b r i n g t h ed e s i g n e rm o r e c o n v e n i e n c y b u ta tt h es a m et i m ei t p o s e sa s e r i e so fn e w c h a l l e n g e s ,e s p e c i a l l yi n l h ed o m a i n so ft e s th o wt or e d u c et h et e s to v e r h e a dd e e p l yi st h em o s ti m p o r t a n t p r o b l e m i nt h i sp a p e r ,t h ee m b e d d e d c o r eb a s e ds y s t e mi sd i s c u s s e do nt h ec o r el e v e l , p s e u d o e x h a u s t i v et e s t i n g a n ds o m eo fi t st h e o r e mi s p r o v i d e t h es c a nd e s i g ni s d i s c u s s e dt o oo nt h es y s t e ml e v e l ,a ns y s t e mo fi m a g ef o r m a tt r a n s f o r mi s a n a l y z e d f i - o mt h ep o i n to fe m b e d d e d c o r eb a s e ds y s t e mh o wt ot e s te a c hm o d u l ea sac o r e a n dh o wt ot e s tt h ew h o l es y s t e ma r ep r e s e n t e dt h ed e s i g nf o rt e s ti n c l u d e sat e s t d a t ab u s ,s c a nd e s i g na n ds o m e t h i n ge l s et h et e s tp r o c e s so ft h i ss y s t e mi ss i m u l a t e d l l s l n 2t h ev h d l k e y w o r d s :d e s i g nf o rt e s t ( d f t ) ,s y s t e mo nc h i p ,c o r e ,e m b e d d e d c o r eb a s e dd e s i g n p s e u d o e x h a u s t i v et e s t i n g ,s c a nd e s i g n 第一章概述 1 1 可测性设计 第一章概述 近年来,集成电路技术获得了极其广泛的应用。根据m o o r e 定律,数字集 批乜路的规模以每l8 个月翻一番的速度持续地发展。六十年代,一片集成电路 只可以集成几个晶体管,但目前i n t e lp e n t i u mi v 处理器的几千多万个晶体管的 规模,c p u 速度从八十年代初的1 兆赫到目前的1 g h z 以上。集成电路的最小 特征宽度也发展到了目前的o2 5 ,01 8 甚至0l3 微米或更小的工艺。为了保证 集成电路的可靠性,必须对所生产的集成电路进行彻底的测试。图11 显示了 最终成品集成电路的可靠性( 通过测试合格的集成电路没有故障的概率) 与测 试向量的故障覆盖率的关系。 从图中可以看到,对于大的电路而言,只有测试覆盖率达到很高的水平, 并且原始硅片上的缺陷率很低,才能保证生产所得的合格的集成电路有较高的 无故障率。 电路晶体管数 图l1 成品可靠性与电路规模的关系 然而,对于电路的设计者而言,电路的故障率是由生产工艺决定而不可改 乏的。设计者可以做的,就是要设法提高电路的测试覆盖率。对于一般存储器 等一些规则的电路,很容易通过一些可测性结构实现1 0 0 的测试覆盖率。而 对于用户自己设计、综合或者逆向设计所得到的电路,就很难保证其测试覆盖 第一章概述 率。但是对这些电路一般依然要求故障覆盖率至少要达到9 5 以上,才能保证 通过测试的产品的可靠性。但是,随着电路规模的增大,由于电路的内部结点 难以控制和观测,对电路的有效测试也越来越困难。一个大规模的数字电路, 如果不进行有效的可测性设计,测试覆盖率一般很难超过6 0 。而这样的测试 覆盖率是不可接受的。为了达到可以接受的测试覆盖率,我们必须对电路进行 设计,以使之易于测试。在电路设计阶段就把电路测试的需要进行考虑的设计 方法称为可测生设计。 1 2 数字电路的可测性设计 可测性设计在集戍电路设计过程中就考虑到电路的测试。它一般包括局部 可测性设计方法和结构可测性设计方法两大类。局部可测性方法的是根据电路 局部的特性对电路进行修改,使之容易测试,一般有测试点插入等方法l i :而 结构性可测性设计方法则是根据可测性设计的一般规则和基本模式来进行电路 的设计,一般包括扫描设计( s c a nd e s i g n ) 1 2 3 1 内建自测试( b i s t 一等方法,还有 针对单芯片系- l ( s y s t e m o n c h i p ) f i 。一些综合性可测性设计方法5 1 等。这些方法 在实际电路设计中得到了广泛的应用。 1 3 扫描设计方法( s c a nd e s i g n ) 扫描设计方法的主要思想是把时序电路中一部分或所有的时序元件在测试 时链接成为移位寄存器,移位寄存器链的两端分别是电路的原始输入端和原始 输出端。在正常状态下,电路执行着正常设计的电路功能。而在测试状态下, 测试者可以通过移位寄存器把电路置到所需要的状态,同时也可以用移位寄存 嚣移出电路的状态,从而可以观测电路的内部状态【6 i 、参见图l2 。 图l2 f b l 是一个典型的基于多路器的扫描设计。当s c a n e n a b l e 信号为低时, 电路正常工作,扫描设计电路对电路的功能没有任何影响。而当s c a n e n a b l e 为 高时,所有触发器连成了一个移位寄存器。测试时可以首先把s c a n e n a b t e 置为 高,由这个移位寄存器链使电路达到指定的状态。然后把s c a n e n a b l e 置为低, 第一章概述 对电路的其他部分进行测试。最后再次拉高s c a n e n a b l e ,把运行过一个或多个 时钟后的电路状态通过移位寄存器输出,检查是否与预先计算的结果相同。 系统时钟 ( a ) 原始电路结构 ( b ) ( 全) 扫描可测性设计后的电路结构 图12 对一个时序电路而言,妨碍电路测试的最大障碍是无法对电路内部时序元 件进行有效的控制和观测。而扫描设计可以提供一种彻底的解决测试问题的方 法。因此扫描测试在实际电路设计中得到了广泛的使用。几乎每个较大的数字 t 乜路都有扫描可测性设计在其中。 扫描可测性设计分为两种:一种是全扫描设计,即把一个电路所有的时序 元件都链接到扫描链中来。这种方法可以最大程度上提高电路的可测性和可观 性。这样的扫描可测性设计方法称为全扫描设计。这种方法可以很容易实现电 路很高的故障覆盖率,而且这种方法在设计时也相对比较简单,m e n t o r 第一章概述 g r a p h i c s f 、s y n o p s y s 等主流的e d a 厂商都提供直接实现全扫描设计的可测性 设计解决方案,目前是扫描设计的主流。 1 4s o c 的发展状况 随着电路的规模不断增大,集成度的不断增高和亚微米和深亚微米技术的 不断发展,使得一个复杂系统集成在一个芯片上成为可能。目前电路的发展已 逐渐从系统建立在板上( s y s t e m o nb o a r d s o c ) 发展到建立在芯片上( s y s t e mo n r c h i p s o c l ,这种系统通称为单芯片系统。为了减低设计成本、提高系统的设 计效率以降低产品的生产周期,嵌核系统( e m b e d d e d c o r eb a s e ds y s t e m ) 被e 1 益广泛地采用。嵌核系统芯片的结构示意图如图13 用户 f 定义; 逻辑j 微处理器 u s b 核 l 嵌核系统芯片结构示意图 嵌核系统的设计采用设计成熟的核作为系统的基本组成部分,这些核是在 功能模块复用概念基础上产生的,它们被称为知识产权核( 1 pc o r e ) ,正在逐 渐广j 乏地被使用并可以买到。嵌核系统芯片中所使用的核,称为嵌入核,或简 称核。 如图l3 所示,一个系统芯片通常可以含有用户定义逻辑和多个不同的嵌入 核,复杂的嵌入核本身也可包含较小的核。 采用嵌核系统这种方;去的优点在于: 1 、它的应用范围广,由于核的丰富性,利用它们相互搭配,可以适用于各 j 4 类型的电路设计。 2 、它可以增大集成度,符合当今集成电路发展的趋势和要求。 丽蚴 第一章概述 3 、由于有一系列预先设计好的模块,具有可重复利用性,设计灵活方便, 大大的缩短了一个电路系统的设计周期。 但是,采用嵌核系统也引进了新的困难。嵌核系统芯片的测试方法与传统 的制造在印板上的系统( s o b ) 的测试不同,将更为困难【9 ”】。为了减少嵌核系统 芯片的测试成本和测试时间,诸如嵌入核的测试,测试结构,系统芯片测试, 测试规划等许多问题都值得深入研究。 图14 为传统基于板的系统的设计与基于核的系统的设计的比较【1 1 i 。 系统集成者 板上系统 集成电路设 计测试开发 由 上 系统设计和 测试开发 由 片上系统 图14 板上系统和片上系统设计的比较 核提供者 系统集成者 1 5 嵌核系统芯片测试的主要问题 嵌核系统方法的一个重大问题即是生产测试( m a n u f a c t u r i n gt e s t ) 。由于设 计思路与传统方法( s o b ) 不同,测试的方法也不完全相同。其主要原因是,传 统制造在印板上的系统,其所用的元件在安装到印板上之前是可以测试过的, 所以对制造在印板上的系统的测试主要着重于系统的测试;而且印板除了插脚 外还可提供额外的探测点。 5 第一章概述 但在嵌核系统芯片中,核的设计者并不了解他所设计的核将要被运用于何 种系统中;而对于系统的设计者而言,又可能并不了解核的内部结构。这一对 矛盾使得需要这样一种方案,即核的设计者给出一个核的较为通用测试方法, 并提供一个系统测试接口,使核无论运用于什么系统,都能用同样的测试方法 进行测试。而系统的设计者要给出一个测试的环境,使这种环境能适应任意核。 由于整个系统是一起制造的,各个核事先没有测试过,因而对它的测试既 要包括其中的各个核的测试,又要包括用户定义逻辑和系统的测试。由于嵌核 芯片测试接口局限在芯片引脚,在芯片设计时必须考虑与各嵌入核的接口问题。 为了能把测试激励加入以及观察输出,还需在电路中考虑 j n a - 额外的用于测试 的电路资源f t e s ta c c e s sm e c h a n i s m ) 。此外,由于系统中多核的存在,还需要合 理的安排它们的测试,要考虑到测试的同时性,共享和冲突的问题。 综上可以看出,嵌核系统芯片的测试要比制造在印板上的系统的测试困难 得多。图l5 比较了嵌核系统芯片测试和印板上系统测试的不同。然而,嵌核 系统芯;的测试与一般的单片系统的测试相比有其有利的地方。由于所嵌入的 核的设计是买来的或以前使用过的。厂商通常提供相应的测试资料( 通常包括 测试方法,测试集等) 或自己已有相应的测试资料,因而嵌核系统芯片的测试 者通常不用对嵌入核进行测试方法研究和进行测试生成。 匝匝匦巫 _ 赢a s 研 ji ( 测试 fi c 测试l i s o b 设计制造| 【。一 一羔 s o b n 试i ( a ) 印板上系统测试( b ) 嵌核系统芯片测试 图l5 嵌核系统芯片测试和印板上系统( s o b ) 测试比较 1 6 嵌入核的测试方法和类型 正如前面所说,嵌入核是和整个芯片一起制造的,因而必须作为系统的一 部分来测试。由于嵌入核常常没有和芯片引脚的直接通路,为了便于测试,就 6 第一章概述 需要在系统芯片设计时采取一定的可测性措施以提供一定的通路。常用的可测 性设计措施是为嵌入核设计核测试接口电路( c o r et e s tw r a p p e r ) 和测试通路 f t a m ) t :i ,如图l6 所示: 图16 嵌入核测试示意图 图16 中,核测试接口就是用一定的接口电路把嵌入核围起来以便对其进 行测试接口电路在系统正常工作时把嵌入核和芯片中的其他部分连接起来; 在爿,j 认u j ,犯嵌入核与测试通路相连。测试接口通常是特殊设计的电路。测试 通路就是用一定的电路为嵌入核提供与输入测试激励源和响应比较器联接的通 路。测试激励源和响应比较器可以是自动测试设备( 这时所用的电路要提供到 引脚的通路) 或者作为内建自测( b i s t ) 用的激励源和响应比较器,也可以是 二者的组合,取决于电路的类型,已有的测试图形( 可能是核供应者提供的) 和测试质量和成本的要求。测试通路可以通过芯片中的其他模块或嵌入核,也 可以绕过其他模块或核;每一个嵌入核可以有自己专用的测试通路,也可以和 其他嵌入核共用测试通路;测试通路既可以是简单的信号通路,也可以具有一 定的控制功能。常用的方法有:专用测试总线,借用系统总线,边界扫描技术, 多路开关等等。 用于测试嵌入核的测试集通常可以由嵌的供应者提供。通常可把嵌核分为 三类:软核( s o f tc o r e ) 、硬核( h a r dc o r e ) 和固核( f i r mc o r e ) 。【”i 软核是一种以硬件描述语言( h d l ) 方式提供的核。采用这种核,不同的 使用者最终可以用不同的电路,不同的工艺,不同的布线来实现。所以软核提 供者提供的测试集只能是功能级的测试,以适应不同用户的需要然而功能 级的测试长度往往很长,这样测试起来就很费时,所以使用者有时需要根据自 己的要求产生测试集。当然,软核提供者最好能提供高质量( 故障覆盖率高, 测试长度短) 的通用测试集。为了得到高质量的测试集,在软核设计中采用一 定的可测性设计措施是一种可能的解决办法。 硬核是一种以布局布线资料提供的核,使用者必须采用给定的工艺制造, 因而使用起来不够灵活。但是硬核提供者可以提供质量高的测试集,这是使用 7 第一章概述 硬核的一个优点。存在的问题是不同的核使用者对测试集质量的要求可能不同, 而核使用者也缺少核的详细资料而很难自己产生测试集。 固核的提供方式则介于软核和硬核之间,一般可以是提供逻辑电路的方式, 因而可以用不同的工艺不同的布局布线来实现。固核提供者提供的测试图形和 测试方法也往往是基于逻辑电路级的,因而对有些故障( 如桥接故障) 就较难 考虑到, 总的说来,嵌入核的提供者能提供相应的测试,这对 供了一定的方便,但是对于不同的嵌核使用者,由于对嵌 试质量要求往往是不同,所以最好嵌入核的提供者能提供 ( 如逻辑测试,i d d q 测试) 和不同测试质量的测试集, 使用者提供更多的方便。 目前,对嵌入式3 - 统测试已有了越来越多的研究1 1 6 - 2 1 】。 于嵌核芯片的测试提 入核的测试方法和测 用于不同的测试方法 这样可以为嵌入核的 1 7 系统芯片级测试 原则上系统芯片级的测试包括系统芯片中各嵌入核的测试,用户定义逻辑 模块的测试以及各功能块( 嵌入核,用户定义逻辑模块) 之间连接的测试。此 外,系统芯片级的测试还需包括系统芯片总体性能方面的测试,例如,最高工 作频率,直流参数等。 对于整个系统芯片的测试,测试资源( 用于测试的总线,测试通路,b i s t 电路) 等的合理安排和使用,对于减少用于芯片可测性设计的开销和测试时间 是很重要的,需要在系统芯片设计时仔细考虑。另外,对包括大量嵌入核的系 统芯片进行测试时,那些部分( 嵌入核,用户定义逻辑等) 先测,那些部分迟 一占、测、( 即测试的次序问题) ,那些部分可以同时测,对于系统测试的总时间 的影响也很大。这就是一个测试规划问题。测试规划的问题是一组合最佳化问 题。有关测试规划问题的研究已有报道。 2 2 , 2 3 1 1 8 本文的工作和论文的安排 本文对嵌入式系统作了比较深入的讨论。在核的层次上和系统的层次上分 别进行了分析,给出了测试方法,并对模拟结果进行了分析本文安排如下: 8 第一章概述 第一章对可测性设计和基于嵌入式核的系统作一个简介,并介绍前人的_ t - 作。 第二章就一些常用的电路对嵌入式核的测试进行了分析,采用了伪穷举法和扫 描设计方法。第三章则对一个具有一定功能的系统进行了分析,提出了基于测 试数据总线和扫描测试的对嵌入式系统的测试方法。第四章对上面的分析给出 了模拟结果。第五章是结论与展望。 9 第二章嵌入式系统中功能块( 核) 的测试 第二章嵌入式系统中功能块 ( 核) 的测试 在上一章里,已经明确了嵌入式系统和嵌入核的概念。对于嵌入核,虽然 各不相同,可以分为软核、固核和硬核,但在系统中完成的功能是一致的。所 以,我们只要给出这些核功能测试的方法,就可以运用于任何一种核的测试中。 在t 女一章里,首先讨论关干核的测试。 2 1 伪穷举算法 一个具有n 个原始输入端的组合电路实现逻辑功能目抑,而所要设计的逻 辑功能为,仞,如果对于任意n 维向量x ,有 f ( x ) - ,u( 21 ) 那么认为所设计的电路是正确的,或者说是无故障的。显然,为了全面校核该 组合电路,应把所有可能的x 都作为输入向量,然后观察其输出响应是否与原 设计相符,以鉴别其是否有故障,这种做法就是穷拳法。 穷拳法可以检测电路中所有可能的故障,但由于其测试码长度太长,因此 在实际应用上,尤其对大型电路的测试存在困难,甚至是不现实的。例如对一 个具有1 0 0 个原始输入端的组合电路,如果用穷举法来测试的话,需要施加2 ”o z1 0 。个测试向量。若每施加一个测试向量及观察其响应所需时间为01 s ( 测 试频率为1 0 m h z ) ,则测试完该电路需要1 0 ”s ,约为3 + 1 0 ”年,这显然是不现 实的。 穷举法虽然有测试费时的缺点,但是由于它具有测试向量产生简单,故障 检测率高等明显的优点,一直有一定的使用。经过改进的伪穷举法具有比较实 用的意义。 伪穷举法的主要思想是把电路分割成若干小块,以减少测试所用的输入向 量数。侈l j 士a ,士n 图21 。 第二章嵌入式系统中功能块( 核) 的测试 该电路有4 个原始输入端,因此用穷举法测试应施加2 4 = 1 6 个不同的测试向 毒、现蓖把电路从b 点分开,变成两个子电路,断开点b 对于门g ,来说是个 伪输八端,用b 表示。为了穷举测试门g ,必须有四个测试向量。同时为了能 在可及端f 处观察到b 点的变化情况,a 点的逻辑值必须是0 ,这仅需x ,= o 或 x ,= o 即可实现,因此总的测试向量是4 个。为了穷举测试除g ,以外的电路,除 原始输入端x ,和r ,以外还有伪输入端b ,相当于3 个输入端,共需要2 3 = 8 个 测试向量。因此测试完整的电路共需要4 + 8 = 1 2 个输入向量,这已经比一般的 穷举法测试需要的1 6 个输入向量少了4 个事实上考虑到两个子电路的有些测 试向量是相容的,可以进一步减少测试向量。 x !( ;i 一 5 - j # ,一一,r 0 、 l u ” r ? l 厂、 1 瞄6 2 _ _ 趣夕一 厂, l 一叫, x 4 ( a ) 原始电路 x lg 1 1 一广一、a 髓 f x 2 l 叫一、。 娼、r 哉厂 二 ) 一一 ( b ) 分块电路 图21 伪穷举法测试电路 上例说明了对电路分块可以减少测试向量数,如何对电路进行分块使得所 需的测试向量最少( 或较少) ,则是伪穷举法的核心问题。以无扇出、单输出电 路为例。若一组合电路具有t 1 个原始输入端,其中某一个门的输出只与一组k 个输入变量的子集有关,则可分出一个子块,同时增加一个伪输入端。假定把 一个电路分为_ 块,该电路的等效输入端( 原始输入端和伪输入端) 为j + ”1 个,设这,块电路对应的等效输入端数分别为a ,( i = l ,2s ) ,有m 】 a ,= ,2 _ 1 ( 22 ) 穷举测试具有a ,个输入端的子块,需有占,= 2 个测试向量,对于整个电路, 共需b ,= 2 个测试向量。可以证明,当a ,- a 。= = 爿,时,所需测试向量 数最少( 证明过程略去) 。此时a ,= 以= 刊,= ( n + s - 1 ) s 。 2 4 】 因此,对电路进行分块时,应该使每一块的等效输入端数相同,可保证测 1 l 第二章嵌入式系统中功能块( 核) 的测试 试的向量数目最少。但实际上做到这一点很困难,因而只要做到使各块的输入 端数尽可能接近,就可以使测试向量数较少。从理论上,分成的块数越多穷举 测试的测试向量数越少,但实际应用中,分的块数越多,增加的伪输入端也越 多,而伪输入端的逻辑值需因元件种类不同而异,产生测试向量比较麻烦。同 时分的块数多时,可选方案多,比较优选也比较费时。因此实际使用中不宜把 电路分块太多。 对于有扇出,扇出重会聚,或具有多输出的电路,情况比较复杂,需要额 外考虑其它因素,而且必要时要考虑利用电路自身的特点,利用电路特性选择 方繁。 我们经常接触到的数字运算电路,是数字电路系统中被广泛运用的一种电 路。这些电路有一个共同的特点,即电路的构成比较规则,容易被扩展( 如2 个四位加法器可以扩展成1 个八位加法器) 。既然较易被扩展,那么也就较易被 分剖。这种特性有利于运用伪穷举算法。我们可以把对整个电路模块的功能测 试转趸为对其中的小模块分别进行功能测试,最后再完成整个电路的功能测试, 对其中的小模块可以进行伪穷举测试。这样测试时间就可能可以接受。 2 2 故障模型 一般来说,在我们常遇到的电路中,多故障的出现概率要远小于单故障。 针对单故障进行测试,相对而言,比较简单。但是多故障一旦发生,它的检测, 定位比单故障更难,对电路功能的影响也更大。穷举算法是可以检测出所有故 障的( 包括革故障和多故障) ,对于伪穷举算法,不能完全保证检测多故障。当 t 乜路分为多块,在对其中一块进行穷举测试时,由于该块的输出到电路的原始 输出的路径上受到其它部分的影响,因而, - 5 块内有故障且其余电路同时也存 在故障时,故障有可能被掩盖,无法检测到。 一定情况下,如果电路存在多故障,但是在划分块( 单元) 时,所有这些 故障都位于同一个块( 单元) 内,那么,在穷举测试时,这些故障将被检测到。 这些同一单元内的多故障可以看成是单故障,这种情况我们称之为单单元故障。 伪穷举算法是可以检测出所有的单单元故障的。对整个电路而言,这就解决了 1 2 第二章嵌入式系统中功能块( 核) 的测试 部分多故障的问题。若要多单元故障,则要通过其它方法( 算法) 解决。 如果在电路进行可测性设计后划分模块进行伪穷举算法,可能存在如下的 i 1 越、;m t 乜路测试时的状态与正常工作时不同( 即对于一个功能块测试时,测 试结冀的输出路径和测试向量的输入路径可能和正常工作时的输入路径和输出 路径不同) ,我们无法保证在测试时那条路径上的正确的输出,一定会导致正常 工作时输出正确。但一般来说,功能块的输出总是通过一条固定通路被观察的, 即这条通路上尽管有其它元件,但这些元件列所构成的通路,只有输入和输出 可变,即单输出对应单输入,其它数据输入被固定,不会引起输出的变化。这 样,如果这条数据通路上有固定型故障,则可以很吝易检测出。 2 3 对电路进行伪穷举测试的主要思想 对于桌一电路,划分的大致原则以于前述。实际应用中,电路本身是由物 理模块或逻辑功能块组成,在划分时,应考虑这些因素。当只知道电路的功能, 对其内部并不清楚,而无法给出详细的电路构造时,对整个电路进行划分单元 就不可能对已有模块进行划分,因而,豳须在选择模块间进行划分。 我们先对组合电路进行讨论。 定理i :伪穷举法可以检测出任意组合电路中的所有单单元故障。 关于这一点,已于前说明。 定理2 :如果一个组合电路可以划分为n ( n 2 ) 个模块且任意二模块间最多 只有一根连线,则采用伪穷举对电路进行测试时可检测电路中除模块间连线 的桥接故障以外的所有故障。 证明:假定电路被分为二个模块,如图22 : y 1 一y j 、 图22 电路分块模型( 两块) 业可 a 制 立卜了 第二章嵌入式系统中功能块( 核) 的测试 该图表示一个待测电路,输入为x i - x 。,输出为y l - y , 。,b l o c k l 为将先要进行 穷举测试的电路( 记为b ) ,o t h e r 为电路剩余的部分( 记为o ) 。b l o c k l 的输入 为x i - x m ( m 4 ) 个模块,满足: 1 、模块形成串联; 2 、每个模块的模块间输入只有一根( 首模块除外) ,模块间输出只有一根( 末 模块除外) ; 3 、对于每个模块,存在特定的原始输入,使得它的模块间输出能够只根据该 模块的原始输入变化而不受模块间输入的影响。 4 、对于每个模块,存在特定的原始输入,使得它原始输出能够根据该模块的 模块间输入的变化而变化。 则运用伪穷举时,可以并行对电路进行测试。 证明:如图24 ,它是图2 3 ( a ) 所示电路的延拓, y 1 一y py 。+ 1 一y 。 图2 4 电路分块模型( 多块) 图中,1 m 一 甜 ”,1 p f v q ,测试b l o c k l 时,根据 条件( 4 ) ,存在b l o c k 2 的原始输入) ( 1 1 。一x 。使得y p + i - y 。随a 的变化而变化,可以 只利用b l o c k 2 来测试b | o c k l 。同时,对于b l o c k 4 ,穷举它的原始输入,并且 根据条件3 ,可以通过控制b l o c k 3 来穷举b l o c k 3 到b l o c k 4 输出,且与b l o c k 2 到b l o c k 3 输出无关。这样就可以实现对b l o c k 4 的伪穷举,它可以用b l o c k 5 来 观察。依次类推测试b l o c k 7 ( 如果存在的话。) 这一步完成后,可以通过 1 6 一二 一逻爨 ,j0h r 夕一了 第二章嵌入式系统中功能块( 核) 的测试 一 控制引o c k l 来穷举a ,用b i o c k 3 观察,穷举b l o c k 2 的原始输入,同时穷举 b l o c k 5 ( 如果存在的话。) 再下一步,类似的测试b l o c k 3 ,b l o c k 6 ( 如 果存在的话。) 这样就实现了对全部电路的并行测试( 共3 步) 。测试向量长度 减为n = n ,m + m ,式中m ,2 ,3 分别表示每步测试下各模块中所需的最大 测试向量数。 在定理3 中,如果存在部分电路结构如图2 4 的情况,则可以在这部分电 路中实现并行测试。 对于模块间的输入输出信号多于一位的情况,分析如下: 类似图22 ,但模块b l o c k l 的块间输出信号a 的位数( 记为也) 不为1 , 且大于电路中此模块外的原始输出信号b 的位数( 记为m ) ,则无法完整测试 电路多故障。这是因为在圯 _ _ _ _ 1 t 一厂_ 、p 皂jf t 。皂j m u x l| m u x 2 0l m u x 3 图26 加入可测性设计的加法器电路模型 当t e s t = 0 时,电路处于正常工作模式,输出多路器选择z ,z 。,z 。输入 多路器m u x 0 选择x ,。当t e s t = l 时,电路处于测试模式,x 作为测试单元选择 信号,x i = 1 时选择奇数单元,输出多路器m u x l ,m u x 3 输出进位结果c 。,c 2 。 x = o 时测试偶数单元,输出多路器m u x 2 输出进位结果c 。在测试模式中,x , 代替x 作为u n i t l 所需的信号输入,由于u n i t l ,u n i t 2 分开来进行测试,所以不 会有冲突。这样,对奇数单元测试时,有9 个输入量需穷举( 分别是两个4 位 的加数和一个l 位的进位) ,需2 9 个测试向量。同理,对偶数单元测试时,也 :i i2 11 、测试j 句量。由于上面测试时,x 作为选择端,连接到u n i t l 没有被测试 到,所添加的用于观察输出的可测性设计电路也没测试到,要额外添加2 个测 试向量( x ,分别为1 、0 ,其余x 输入为0 ,y 输入为1 ) ,观察输出来检测。这 样,共需2 9 + 2 + 2 = 1 0 2 6 个测试向量。 由于采用了可测性设计,电路硬件开销增大,对每一个u n i t ( 除最高4 位 构成的那个) 都需加1 个2 选1 输出多路器,再加上一个2 选1 输入多路器, 对于1 个4 * n 位加法器,共需增加n 个2 选1 多路器,也就是每个单元需一个 多路选择器。此外还需加2 个与非门和一个输入管脚t e s t 。 第二章嵌入式系统中功能块( 核) 的测试 我们用以下等效2 r , l - ( 表21 ) 来估算电路硬件面积增加。这种估算方法虽然 只考虑了电路中的m o s 管数,并没有考虑布线面积,但由于布线面积与m o s 管数戍正比,所以,这种估算方法还是较为精确的。 表21 电路硬件面积估算 2 输入或1 位每增加1 个输入或1 位n 输入或n 位 【 所需管数电路面积增加的比例 非门 2 与非门 45 0 2 n 与门或或门 65 0 2 n + 2 异或门 1 65 0 8 n 半加器( 1 位) 2 01 0 0 2 0 n 全加嚣( 1 位) 4 01 0 0 4 0 n 多路器 1 25 0 1 2 n 寄存器( 1 位) 4 0l o o 4 0 n 数字比较器( 1 位) 4 01 0 0 4 0 n 加法器的一个单元最少需1 6 0 个管子,如需加进位链,则更多,以2 0 0 个 计,则面积增加略大于1 2 2 0 0 = 6 ( 式中1 2 表示多路器的所用管数) 。与前述 未加可测性设计的测试方案比较,在增加1 个输入信号和约6 硬件开销后,我 们将测试向量个数减少为略低于原来的2 3 。对于这个例子,可测性设计的效果 并不是非常明显,采用可测性设计的意义不是很大。其原因在于原先的方法已 经可以很好的模块化,可测性设计只是提高了测试的并行度。这个例子只是简 单的说明情况。 2 4 2 数字比较器 对于数字比较器,它的测试与加法器较为类似,但由于数字比较器的输出 管脚有限,测试很难并行处理,所以测试向量数可能要成倍增加。如图2 7 ,1 6 位比较器为例,4 位构成一个测试单元,单元内部结构与测试无关。每个单元x 、 2 第二章嵌入式系统中功能块( 核) 的测试 y 为比较数据输入,c i - c ,为前级输入,其中只有1 个为l ,c = 1 表示前级等于 c ! = 1 表示前级大于,c ,= l 表示前级小于。单元的输入与此类似。 图27 比较器电路模型 在这个例子中,模块间的输出多于一个,但是测试每个u n i t 时,它的模块 间输出数等于电路的原始输出数,模块间输出的状态完全可以由原始输出表现 出来。因而,测试u n i t l 时,固定u n i t 2 、u n i t 3 、u n i t 4 的输入全为0 ,可由原 始输出观察结果。若此时未发现故障,则可根据输出把u n i t l 的输入分为3 组, 穷举u n i t 2 ,依次类推测试u n i t l 3 、u n i t 4 。若一直未发现故障,可以认为电路 是无故障的。 测试向量的给出与前述加法器相类似,只是无法并行处理,总共所需测试 向量为3 + 2 8 + n 个( n 为单元数) 。 2 4 3 串行加法器 如图28 ,其中每一位都为串行方式连接。这种加法器在实际加法器电路设 计中运用不多,但是这种加法器的测试方法可以在乘法器的测试中应用到。所 以,稍微提及一下这种加法器的测试。 图2 8 串行加法器电路模型 从图28 的8 位加法器( 位数多少无关) 来看,如果只要解决单故障,那 第二章嵌入式系统中功能块( 核) 的测试 么只需要8 个测试向量,即:穷举f 需要8 个向量,正常情况下应有4 个( := 1 , 4 个“= o 。对应于“= l 同时穷举f :的x z , v 2 ,同理应用于( ? 】= o 。正常情况下f : 被穷举,依次类推。显然,这种方;l - x 能检测单单元故障,如果f 和f :同时有 故障,则可能无法查出。 这里给出一个反例,说明8 向量方法不能检测多故障。 先给出8 向量方法下部分逻辑值,如表22 : 表22 串行加法器中部分逻辑值 i n 。( 1 0 x 1 y 1 z 1( 1 1x 2 y 2 z 2( 7 2 i l00000000 0 200ll0oll0 0101o1olo 40l1olo0l0 i 51001 0ll01 i f6 1ololo10l l 7 l lo0llo0l 8 11lllll1l 对f ,f ,所要求的电路逻辑应为 r 固丫v , ( 、r h l , r l j i ( 1 ,i 壬j y ,固卜 一r 2 + 0 二+ x 2 y 2 而若电路因故障而使得逻辑变成 z 【= 0r 10 y 1 ( 1 = ( 1 n 。1 + f l n y i + 。l y l :、二【, ( 1 := ( 1 i x 2 + ( j y 2 + x 2 y 2 ( 25 ) ( 2 6 ) 第二章嵌八式系统中功能块( 核) 的测试 则在上述8 个测试向量下,z 1 ,z :,n 值不变,而电路功能显然不同t 存在多故 障而未a 目b 。,z 。测- 出。问题的关键在于中间量( 1 不可知,不能保证下一级能被完整 穷拳。 若采用定理2 和定理3 中的方法,则通过施加3 * 2 3 = 2 4 个测试向量,可以检 测出电路多单元故障。由此例可以比较出伪穷举方法的效果以及从单故障检测 到多故障检测中所需的代价。 2 4 4 乘法器 x o y o 图29 乘法器电路模型 乘法器是一种规模较大的运算电路,由组合电路实现的乘法器的运算速度 比经典的移位相加乘法器要快。如图29 ,为4 * 4 乘法器的结构原理图。图中f 是全加器,h 是半加器,上端和右端为加法输入,左端是进位输出,下端是和 输出。每个输入是一个乘积项,第一行的输入从左到右依次为x o y ,x 3 y 。,x o y 2 , x :y ”x ,y 】,x i y x 肌;第二行的输入从左到右依次:x 3 y 1 ,x z y l ,x l y l ;第三行 的输入从左到右依次:x 3 y 2 ,x 2 y 2 ,x i y 2 ;第四行的输入从左到右依次:x 3 y 3 ,x 2 y 3 , x ,y ,。因为乘法器输入、输出管脚有限,而内部电路又远远复杂于加法器。所以, 测试也比较困难。 第二章嵌入式系统中功能块( 核) 的测试 图2 1 0 加入可测性设计的乘法器电路模型 为了更好的说明测试方法并考虑可测性设计,将可测性设计后的乘法器电 路画出,如图21 0 。1 2 5 1 图中,信号t 和3 个异或门是另加的可测性设计n - ,上面9 个方框每个 表示1 个与门和一个全加器组成的乘加单元,与门的输出是全加器的一个加数 输入,乘加单元的水平输入为对应的y ,一个垂直输入为对应的x ,这两个接入 与门。水平输出和一个垂直输出表示y 和x ( 原始输入的扇出) 。另一个垂直输 入c 为全加器的进位输入,垂直输出是进位输出;右上的输入d 是全加器的另 一个加数输入,左下的输出为和输出,也把它们分别称为乘加单元的进位输入、 进位输出,加输入、加输出。图中的小黑方框表示一个与门,最后一行每个框 表示一个全加器。 可以证明,在把每个乘加单元和最后一行的全加器都n n - + 单元模块, 采用8 个测试向量,可以检测出电路中的所有单单元故障。 首先,我们考虑乘加单元,每个单元有4 个输入,穷举需要1 6 个测试向量。 由于它是有与门和全加器组成,分开穷举,利用前述伪穷举方法,需要4 + 8 = 1 2 个向量,可以明显看出,其中有重复,因而实际上只需要8 个向量。表23 列 出了这8 个钡4 试向量。 “屹。 。 、 第二章嵌入式系统中功能块( 核) 的测试 表23 乘加单元测试向量 n ox y dc lo000 2l00l 31o1o 4011l 51l00 611o1 7ll1o 8llll 对整个乘法器的测试,事实上,就是要通过原始输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度农产品进出口贸易合同
- 二零二五年度地下顶管工程安全管理合同
- 二零二五年度建筑垃圾运输与资源综合利用合同范本
- 潜水艇线描画课件
- 洗浴中心进出口退税管理规定
- 洗浴中心临时停业管理细则
- 山大食堂专业知识培训课件
- 信贷公司借款合同管理办法
- 助理规培考试试题及答案
- 内蒙铲车考试题及答案
- 2025年全国高考数学真题全国2卷
- T/CGAS 026.1-2023瓶装液化石油气管理规范第1部分:安全管理
- 数字经济下的反垄断策略-洞察阐释
- 《特应性皮炎Atopic Dermatitis》课件
- 自行缴纳社保协议书模板
- 2024年新冀教版七年级上册数学教学课件 1.1 正数和负数 第1课时
- 《橡胶的硫化工艺》课件
- 阿尔茨海默病药物治疗指南(2025)解读
- 《秋季腹泻》课件
- 湖南省房屋建筑和市政基础设施工程-“机器管招投标”模块化招标文件(施工)-(2025年第1版)
- 2025-2030中国近红外光谱分析仪行业市场发展趋势与前景展望战略研究报告
评论
0/150
提交评论