可测试性设计.ppt_第1页
可测试性设计.ppt_第2页
可测试性设计.ppt_第3页
可测试性设计.ppt_第4页
可测试性设计.ppt_第5页
免费预览已结束,剩余31页可下载查看

下载本文档

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

文档简介

1,第7章可测试性设计,2,常用缩略语:ATPG:AutomaticTestPatternGenerationATE:AutomatedTestEquipmentBIST:BuiltInSelfTestBSC:BoundaryScanCellBSDC:BoundaryScanDesignCompilerCUT:Chip/CircuitUnderTestDC:DesignCompilerDFT:DesignForTestabilityDRC:DesignRuleCheckingHDL:HardwareDescriptionLanguageJTAG:JointTestActionGroupLSSD:level-sensitivescandesignPI:PrimaryInputPO:PrimaryOutputTC:TestCompiler,3,7.1引言为了提高电子系统整机运行的可靠性,降低设计成本,测试是必不可少的。一套电子系统的高可靠性是基于构成该系统的各个基本单元的高可靠性,然而随着系统使用的ASIC电路规模的增大、复杂程度的提高,芯片的引脚相对门数减少,使得电路的可控性和可观测性系数降低,电路测试变得十分复杂和困难,测试生成的费用也呈指数增长,单凭改进和研究测试生成方法已无法满足对测试的要求。解决IC测试问题的根本方法是在作系统设计时就充分考虑到测试的要求,即在设计阶段就开始考虑如何对电路进行测试,并将一些实用的可测性技术引入到芯片设计中,以降低测试生成的复杂性,也就是进行可测性设计。,4,7.2DFT的基本概念测试是通过控制和观察电路中的信号,以确定电路是否正常工作的过程。因此,电路的可测试性涉及可控制性和可观察性两个最基本的概念。可测性设计(DesignForTestability)技术就是试图增加电路中信号的可控制性和可观察性,以便及时、经济地产生一个成功的测试程序。在可测试设计技术发展的早期,大多采用特定(AdHoc)方法。AdHoc技术可用于特殊的电路和单元设计,对具体电路进行特定的测试设计十分有效,但它不能解决成品电路的测试生成问题。,5,因此,从70年代中后期起,人们开始采用结构化的测试设计方法,即研究如何设计容易测试的电路,进而又考虑在芯片内部设计起测试作用的结构。这种方法的另外一个优点是能与EDA工具结合,以进行自动设计。7.2.1AdHoc技术AdHoc技术是一种早期的DFT技术,它是针对一个已成型的电路设计中的测试问题而提出的。该技术有分块、增加测试点、利用总线结构等几种主要方法。分块法的提出是基于测试生成和故障模拟的复杂程度正比于电路逻辑门数的三次方,因此,如果将电路分成若干可分别独立进行测试生成和测试的子块,可以大大缩短测试生成和测试时间,从而降低测试费用。,6,这种方法采用的技术有机械式分割、跳线和选通门等。机械式分割是将电路一分为二,这样虽然使测试生成和故障模拟的工作量减少了78,但却不利于系统的集成,费用也大大地增加;采用跳线的方法会引入大量的IO端口;而选通门的方法需要大量的额外原始输入、原始输出以及完成选通所必需的模块。引入测试点是引进电路可测性最直接的方法。其基本方法是将电路内部难于测试的节点引出,作为测试节点,在测试时由原始输入端直接控制并由原始输出端直接观察。如果测试点用作电路的原始输入,则可以提高电路的可控性;如果测试点用作电路的原始输出,则可以提高电路的可观察性。在某些情况下,一个测试点可以同时用作输入和输出。但由于管脚数的限制,所能引入的测试点是非常有限的。,7,总线结构类似于分块法,在专用IC可测性设计中十分有用,它将电路分成若干个功能块,并且与总线相连。可以通过总线测试各个功能块,改进各功能块的可测性。但这种方法不能检测总线自身的故障。特定技术的一个主要困难在于它需要在电路中每个测试点附加可控的输入端和可观察的输出端,因此增加了附加的连线。而后期的DFT技术结构化设计方法则不同,它对电路结构作总体上的考虑,可以访问电路内部节点;按照一定的设计规则进行电路设计,只增加了用于测试的内部逻辑电路,因而具有通用性。,8,7.2.2结构化设计技术结构化设计的目的是减少电路的时序复杂性,减轻测试生成和测试验证的困难程度。结构化设计方法可以应用到所有的设计中去,并且通常具有一套设计规则,主要有扫描技术和内建自测试(BuiltInSelfTestBIST)两种技术。7.2.2.1扫描技术“扫描”是指将电路中的任一状态移进或移出的能力,其特点是测试数据的串行化。通过将系统内的寄存器等时序元件重新设计,使其具有扫描状态输入的功能,可使测试数据从系统一端经由移位寄存器等组成的数据通路串行移动,并在数据输出端对数据进行分析,以此提高电路内部节点的可控性和可观察性,达到测试芯片内部的目的。,9,7.2.2.1.1全扫描技术(FullScan)全扫描设计就是将电路中的所有触发器用特殊设计的具有扫描功能的触发器代替,使其在测试时链接成一个或几个移位寄存器,这样,电路分成了可以分别进行测试的纯组合电路和移位寄存器,电路中的所有状态可以直接从原始输入和输出端得到控制和观察。这样的设计将时序电路的测试生成简化成组合电路的测试生成,由于组合电路的测试生成算法目前已经比较完善,并且在测试自动生成方面比时序电路的测试生成容易得多,因此大大降低了测试生成的难度。已有的全扫描测试设计技术包括:1、1975年由日本NEC公司开发的采用多路数据触发器结构的扫描通路法(ScanPath),其中的时序元件为可扫描的无竞争D型触发器。采用扫描通路法测试的芯片,必须采用同步时序。,10,2、由IBM公司在1977年开发的级敏扫描双锁存器设计法(LSSD)。这是一种被广泛采用的扫描测试技术,主要优点是系统时钟和数据之间不存在冒险条件,这是由严格的LSSD设计规则所保证的。它用了比单个锁存器复杂得多的移位寄存锁存器(ShiftRegisterLatchSRL),并需要附加多达4个的输入输出管脚,其中两个用于测试模式的时钟,一个用于扫描数据的输入,一个用于扫描数据的输出。3、由日本富士通公司于1980年开发的随机存取扫描法(RandomAccessScan)。在随机存取扫描技术中,SRL和RAM阵列相类似,即用X-Y地址对每个锁存器进行编码,并直接通过地址选择变化的SRL,加快了测试过程。但为了保证X-Y编码器的正确,在系统的集成度上要花更高的代价。,11,4、由Sperry-Univac公司在1977年开发的扫描置入法(ScanSet),其中的移位寄位器不在数据通路上,因此不与所有系统触发器共享。从时序网络内部采样n点后,将采样值用一个时钟脉冲送到n位移位寄存器中。数据置入后就开始移位,数据通过扫描输出端扫描输出。同时,移位寄存器中的n位数据也可置入系统触发器中,用于控制不同的通路,以简化测试。这就要求系统中有适当的时钟结构。虽然全扫描设计可以显著地减少测试生成的复杂度和测试费用,但这是以面积和速度为代价的。近年来,部分扫描(PartialScan)方法因为只选择一部分触发器构成移位寄存器,降低了扫描设计的硬件消耗和测试响应时间而受到重视。,12,7.2.2.1.2部分扫描技术(PartialScan)由于部分扫描方法只选择一部分触发器构成移位寄存器,因此其关键技术在于如何选取触发器。80年代起,对部分扫描的研究主要集中在如何减小芯片面积、降低对电路性能的影响、提高电路的故障覆盖率和减小测试矢量生成的复杂度等方面的算法研究,大致可分为以下几类:1、利用可测性测量值选择扫描触发器(一种经验性可测性设计方法)。该方法利用触发器链入移位寄存器前后的电路的可测性差异(TestabilityDifference)来选取对电路的可测性影响大的触发器组成移位寄存器,从而获得较高的故障覆盖率和对难测故障的覆盖。2、根据要求的故障覆盖率选取触发器(针对目标故障的最少触发器的选取方法)。该方法将未被功能测试矢量测试的电路组合部分中的故障定义为目标故障,以覆盖全部可测的目标故障为目的,采用频率方法和距离方法来选取最少的触发器。,13,3、根据简化测试矢量生成来选取触发器。部分扫描设计与全扫描设计的主要差异在于部分扫描设计只利用了电路的部分触发器构成移位寄存器,因此,移位寄存器之外的电路仍是时序的,这部分电路的测试可以采用时序电路的ATPG(自动测试矢量生成)。但时序电路ATPG的难易程度与时序电路的时序深度和反馈回路有关,RajeshGuptaRajiv等人提出一种时序电路的平衡结构B结构的概念,并给出了如何选取触发器来构造B结构的算法。应用此算法后得到的剩余电路是一种平衡结构,可以用改进的组合电路的ATPG产生测试矢量,减少了测试矢量生成的复杂度,同时可获得较高的故障覆盖率。7.2.2.1.3边界扫描技术(BoundaryScan)边界扫描法是各IC制造商支持和遵守的一种扫描设计标准,主要用于对印刷电路板的测试,它通过提供一个标准的芯片板测试接口简化了印刷电路板的测试,如图1所示。,14,边界扫描结构的标准协议是1988年由IEEE和JTAG合作制定的,即1149.1标准。它是在IC的输入输出引脚处放上边界扫描单元(BSC),并把这些扫描单元依次连成扫描链,然后运用扫描测试原理观察并控制元件边界的信号。在正常工作状态下,通过边界扫描寄存器(BSR)的扫描单元并行地输入、输出信号。测试时,由BSR串行地存储和读出测试数据。扫描单元也可以串、并行混合地接收和输出数据。边界扫描电路主要用于板级测试,检测印刷电路板在加工时产生的短路、开路、虚焊、漏焊,以及芯片的错焊、漏焊和故障芯片的检测等故障的检测。并可对板上简单的组合逻辑电路部分的故障进行检测,如图2所示。边界扫描电路也可用于对板上芯片进行故障检测,但由于这种测试方法要将所有的并行输入/输出数据串行化,测试向量将十分长,故此方法一般只用于在板级系统调试时对怀疑失效的集成电路的测试。,15,图1具有边界扫描结构的IC,16,图2边界扫描电路用于板级芯片测试,17,7.2.2.2内建自测试技术虽然扫描技术可简化测试生成问题,但由于数据的串行操作,对电路进行初始化、读出内部状态时需要较长的时间(特别对于较大的电路),导致测试速度较电路正常工作速度慢,对电路的正常性能和芯片可靠性的影响较大。为了将每个测试序列加到被测电路上,取得并分析每个CUT响应,需要用复杂的ATE存贮庞大的测试激励信号和电路响应,而且扫描技术仅提供静态测试,不能检测出电路中的时序信号;VLSI芯片行为的复杂和每个管脚上带有的众多门数使得扫描技术的测试效率并不高。为了弥补扫描技术的不足,提出了内建自测试的方法。对数字电路进行测试的过程分为二个阶段:把测试信号发生器产生的测试序列加到CUT,然后由输出响应分析器检查CUT的输出序列,以确定该电路有无故障。如果CUT具有自已产生测试信号、自己检查输出信号的能力,则称该电路具有内建自测试(BIST)功能。其一般结构如图3所示。,18,图3BIST的一般结构,19,BIST主要完成测试序列生成和输出响应分析两个任务,通过分析CUT的响应输出,判断CUT是否有故障。因此,对数字电路进行BIST测试,需要增加三个硬件部分:测试序列生成器、输出响应分析器和测试控制部分。在测试序列生成中,有确定性测试生成、伪穷举测试生成和伪随机测试生成等几种方法。确定性方法是一种AdHoc(特定设计)方法,虽然可以得到高的故障覆盖率,但硬件开销较大,仅在测试码的个数较少时适用。穷举法是把所有可能输入均加以分析计算的测试方法,它的最大特点是故障覆盖率可达100%,但其计算量与输入端子数成幂次方关系,因此计算量很大。如果将电路分为多个原始输入变量互相独立的块,则测试量将大大减少,伪穷举法即是这样一种压缩测试量的方法。伪穷举测试方法也具有非常高的故障覆盖率(只要不引起时序行为,将得到100的故障覆盖率),但伪穷举测试方法对电路进行划分比较困难,而且由于引入了附加硬件,可能对电路性能产生负效应。伪随机测试是一种广泛使用的、可对CUT施加大量测试码的方法,其最大的优点是测试电路的硬件开销小,同时仍具有较高的故障覆盖率。,20,实现输出响应分析的方法有ROM与比较逻辑、多输入特征寄存器(MISR)和跳变计数器等。与确定性测试生成类似,ROM与比较逻辑方法将正确的响应存贮在芯片上的ROM中,在测试时,将其与实际响应进行比较,但这种方法会因占用太多的硅面积而毫无实用价值。MISR方法通过将CUT中各节点的响应序列输入,得到与响应序列等长的输出特征序列,然后与无故障电路各节点的响应序列的特征相比较,如果二者一致,说明电路正常,否则表明CUT中有故障存在,此方法主要有分析单个响应序列的串行输入特征分析器(SerialinputSignatureAnalyzerSSA)和分析多个响应序列的并行输入特征分析器(ParallelinputSignatureAnalyzerPSA)两种形式。跳变计数器方法通过比较输出响应中的0到1和1到0的跳变总数,判断出CUT是否正常。因此仅需要存贮和比较跳变次数,并使所需的存贮量与测试时间得以大幅度减少。如果t是输出序列的长度,则仅需要比较log2t。,21,7.3基于ATPG的扫描测试7.3.1扫描测试的基本原理当设计中的IC规模较大时,手工操作的测试设计时间会超过实际器件的设计时间。使用自动测试模式发生软件可消除(至少明显地降低)测试生成中所需的人工干预,从而增加对设计的可测性。扫描链的合成及内建自测试(BIST)技术,配合以自动测试图案生成(ATPG)技术可生成简洁、高故障覆盖率的测试向量。简洁的测试向量意味着缩短生产测试的测试时间,而高故障覆盖率则可降低出厂芯片的故障率。“扫描”是指将电路中的任一状态移进或移出的能力,其特点是测试数据的串行化。通过将系统内的寄存器等时序元件重新设计,使其具有扫描状态输入的功能,可使测试数据从系统一端经由移位寄存器等组成的数据通路串行移动,并在数据输出端对数据进行分析,以此提高电路内部节点的可控性和可观察性,达到测试芯片内部的目的。下图为用扫描类型触发器替换前后电路结构示意图:,22,图4ADesignBeforeInsertScan,图5TheDesignafterInsertScan,23,如上图所示:对于CombinationLogicBlock1来说,在扫描设计之前其输入a非原始输入,而是由触发器F1的输出端控制,输出端c也非原始输出端,此Block的可控性和可观察性都较差。在扫描替换之后,电路中的所有触发器都用具有扫描功能的触发器代替,此类型触发器与普通触发器的不同之处在于其数据输入端增加了一2选1MUX,通过测试状态控制信号SE进行输入选择。当电路处于测试状态时SE选择扫描输入SI作为触发器的输入数据,触发器链接成一个移位寄存器链(如上图中红色链路)。这样,电路分成了可以进行分别测试的纯组合电路CombinationLogic1、CombinationLogic2,和移位寄存器链F1、F2、F3。,24,以上图为例,对于移位寄存器链F1、F2、F3的测试只需从SI1端加入0_1_0这样十分简短的测试Pattern便可保证覆盖完全;对于纯组合电路CombinationLogic1来说,其所有输入信号的状态可以直接从原始输入(PI2)和移位寄存器F1输出端(F1/Q)加以控制,其所有输出信号的状态可以直接从原始输出(PO1)和移位寄存器F2输入端(F2/DI)观察到。而其测试生成则可用目前已经比较完善的组合电路测试生成算法,通过EDA软件的ATPG工具自动生成高覆盖率的测试Pattern;同样可完成对组合电路CombinationLogic2的测试。,25,7.3.2扫描测试的主要阶段在对上述纯组合电路部分进行扫描测试时,先将一个测试Pattern的激励信号通过移位寄存器串行移入及通过原始输入端(PI2)并行加载,再将此组合电路部分的响应通过移位寄存器串行移出及通过原始输出端(PO1)并行输出。一个Pattern的测试步骤如图6所示。各步骤的功能如下:1)Scan-InPhase:此阶段数据串行移入扫描链。2)ParallelMeasure:此Cycle的初始阶段通过原始输入端加入并行测试数据,此Cycle的末段检测原始输出端的并行输出数据。在此Cycle中时钟信号保持无效。3)ParallelCapture:扫描寄存器捕获组合逻辑部分的输出信号状态。4)FirstScan-Out:此阶段无时钟信号,测试机采样扫描链输出值,检测第一位Scan-Out数据。5)Scan-OutPhase:扫描寄存器捕获到的数据串行移出,测试机在每一Cycle检测扫描链输出值。,26,图6一个测试Pattern的执行步骤,27,由图中可看出:对一个Pattern的测试过程中,ParallelMeasure和ParallelCapture仅用了两个测试周期,而ScanShift占用了绝大多数测试时间,当扫描链较长时更是如此。因此,为提高测试效率必需尽量缩短扫描链的长度,采用多条扫描链同时扫描数据。实际的测试过程中,前一Pattern的Scan-Out阶段于后一Pattern的Scan-In阶段是相互交叠的,如下图所示:,图7前后Pattern的Scan-OutScan-In阶段相互交叠,28,7.3.3扫描测试的基本时序扫描测试是基于Cycle的测试过程,典型的测试时序如下:,图8Scan-ShiftCycle,29,Scan-Shift阶段Scan-In与上一Pattern的Scan-out相互交叠,待测芯片的测试状态控制信号SE(ScanEnable)一直处于有效状态。FirstScan-Out阶段时钟信号保持无效,测试机采样串行输出端SO的状态;之后每一Scan-ShiftCycle都有一时钟信号,测试机也会采样一次SO的状态;在最后一个Scan-ShiftCycle用于产生并行输出(PO)的有效数据被捕获到各触发器中。与此同时,扫描数据位串行地加载于相应的SI输入端口,当时钟信号有效时扫描数据位移入链中。ParallelMeasure阶段待测芯片的测试状态控制信号SE处于无效状态,芯片处于正常工作模式。此时已通过扫描链完成相应组合逻辑模块一部分输入信号的加载,测试机再通过原始输入端并行加载其它部分输入信号。经过一段稳定时间后测试机采样(Strobe)并行输出信号(PO)。见下图:,30,图9ParallelMeasureCycle,31,ParallelCapture阶段待测芯片仍处于正常工作模式。当测试时钟有效时,组合逻辑的输出信号状态被捕获到相应的扫描触发器中,等待FirstScan-Out阶段到来后将捕获数据移出。见下图:,图10ParallelCaptureCycle,32,7.3.4扫描设计的注意事项扫描设计技术大大增加了电路的可控制性和可观察性。然而,任何事情都要付出代价,在

温馨提示

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

评论

0/150

提交评论