集成电路测试方法研究.doc_第1页
集成电路测试方法研究.doc_第2页
集成电路测试方法研究.doc_第3页
集成电路测试方法研究.doc_第4页
集成电路测试方法研究.doc_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

集成电路测试方法研究华中科技大学IC设计中心陈新武目 录摘 要IAbstractII1 序言1.1背景及其意义(1)1.2 国内外研究现状(3)1.3 本文的主要内容(5)2 集成电路可测试性设计的基本概念2.1 DFT的基本概念(6)2.2 DFT的常用方法(6)2.3 系统芯片与IP核(10)2.4 自动测试设备(ATE)(11)2.5 集成电路可测试性设计的挑战(12)3 边界扫描测试方法3.1 边界扫描基本状况(14)3.2 IEEE Std 1149.1(14)3.3 IEEE Std 1149.4(16)3.4 IEEE Std 1149.5(18)3.5 IEEE Std 1149.6(20)3.6 边界扫描测试的发展前景(22)3.7 本章小结(22)4 全扫描可测试性实现方法4.1为什么需要扫描测试(23)4.2可扫描单元类型(24)4.3如何提高故障覆盖率(28)4.4 一个实现实例(41)4.5本章小结(42)5 集成电路的低功耗DFT方法5.1测试模式下功耗比较高的原因(43)5.2基于扫描设计的低功耗DFT方法(44)5.3基于非扫描设计的低功耗DFT方法(47)5.4本章小结(52)6 测试调度问题6.1为测试调度问题建立数学模型(53)6.2解析测试基准电路ITC02(56)6.3测试调度算法(61)6.4实验数据的构造(64)6.5实验结果与分析(65)6.6本章小结(66)7 总结与展望7.1 总结(68)7.2 本文的创新点(69)7.3 展望(69)参考文献(72)附录1 一个测试基准举例(78)1 序言本课程目的在于研究集成电路的测试实现方法,可以用于指导集成电路的设计工作。1.1背景及其意义随着集成电路制造技术和复杂度的提高,集成电路设计工程师可以将一个系统集成在一个芯片中,其中可能包括逻辑部分、存储器、模拟部分、模数混合部分等等,这样的系统称为片上系统,也称为系统芯片(SoC)。相对于板上系统,系统芯片极大地缩小了系统体积,减少了板级系统中芯片与芯片之间的互连延迟,从而极大地提高了系统的性能。为了缩短上市时间和节约开发成本,系统芯片越来越多的采用嵌入式核进行设计,这些嵌入式核被称为IP(Intellectual Property)核,这种基于库资源的IP复用设计方式将成为IC设计的主流方式1。但是基于IP核的系统芯片设计方法也给设计者提出了更多的挑战,可测试性设计就是其中的难题之一。IEEE与JTAG于1990年提出了JTAG标准,即IEEE Std 1149.12,用于解决芯片之间的互连测试。但是,芯片之间的互连除了简单的导线连接之外,还有电容耦合或者电感耦合方式等,为了解决这类互连测试问题,IEEE 标准化组织又于1999年提出了IEEE Std 1149.43;模数混合系统的出现,使得原来的1149.1表现出某些不足,因此,该组织于2001年对1990年版本的1149.1进行了修订4。随着各芯片之间的信号传输速度的提高(高达数GHz),数字信号在这些通道上逐渐表现出模拟特性,为了能够对高速数字通道进行测试,该组织又于2004年推出了IEEE Std 1149.6标准5。另外,该组织还提出了IEEE Std 1149.5标准6。这些标准的出台,大大的推动了互连测试技术的发展。值得指出,边界扫描系列标准虽然是为了进行互连测试而提出的,它也可以应用于芯片内部的可测试性设计。只是由于芯片内部的测试需要较大的数据量,而边界扫描所提供的扫描端口数目较少,所以在大多数情况下,它只用于芯片之间的互连测试。对于芯片内部的可测试性设计,主要采用扫描设计和BIST方法。Mentor公司和Synopsys公司的可测试性设计工具都支持这两种方法。但是现代的测试工具还有许多不够完善的地方,比如在BIST方面,它们都不能够实现测试向量生成器的分离,即:将一个测试向量生成器分成多个可以工作在不同时钟频率下的多个测试向量生成器,分别作用在不同的被测试模块的引脚上。扫描技术除了边界扫描之外,还包括全扫描和部分扫描。全扫描技术就是将芯片内部所有的触发器用可扫描触发器替换,而部分扫描则是将芯片内部的一部分触发器采用可扫描触发器替换。目前这项技术已经比较成熟,需要解决的只是一些细节问题,目的在于提高故障覆盖率和易测试性。BIST技术是一种内建自测试技术,对于它的研究目前主要集中在低功耗和高故障覆盖率方面。系统芯片的测试自动化包括两个方面的内容,一个方面是系统芯片本身要具有高度的可控制性和可观测性,另一个方面就是要有功能强大的自动测试设备。以上所提到的问题都属于第一方面的问题。下面简单介绍第二方面的问题。自动测试设备需要将测试激励施加到被测试芯片,随着芯片复杂性的提高,测试数据量非常浩大,所以它应该有很大的内存(经常需要几十个吉字节)。为了缩短测试时间,就要尽可能的让芯片内部各模块进行并行测试,如何让芯片在最短的时间内完成测试,又要保证各项资源不冲突,是一个困难的问题。为了缩短测试时间,要考虑到很多因素,下面列出几个最重要的问题:(1)功耗约束问题:系统芯片各个模块在并行测试时,功耗往往很高,所以必须确定功耗极限值,这个极限值的确定往往与芯片的材料、电路的性质等多种因素有关;(2)TAM优化问题:自动测试设备往往要提供大量的测试总线,如何将测试总线分配给相应的被测试模块,缩短测试时间,是一个困难的问题;(3)优先级问题:系统芯片中各个模块的测试并非完全独立,外层模块的测试有时需要它的嵌入式模块先完成测试;(4)资源冲突问题:测试资源包括内部与外部的各种总线、激励产生单元、响应分析器等。在并行测试期间,同一个测试资源不能在同一时刻分配给不同的测试模块,同一个模块也不能同时分配给不同的测试资源。(5)故障模型的复杂性:现代的自动测试设备往往只能测试固定型故障,对于电流故障模型的测试大多不能胜任。虽然有些测试设备可以实现电流模型的测试,但是目前的技术水平仍然不能准确确定故障位置。由于目前的自动测试设备很难处理好以上问题,特别是测试调度问题,我们希望通过自己的努力,在测试调度领域做出一点有益的尝试。鉴于以上种种情况,在国家自然基金的资助下,我们开展了一系列的工作。1.2 国内外研究现状随着半导体技术和设计自动化工具的快速发展,芯片的复杂性不断上升,VLSI需要提供广泛的可测试性特点7。为了缩短芯片的上市时间,越来越多的设计者使用嵌入式核的设计方法来设计系统芯片。这样,系统芯片就由多个内核构成,而且这些内核可能来自不同的开发商,因此也就有不同的内建自测试策略。在测试模式下,功耗比正常工作模式下高出很多。为了解决测试功耗问题,许多学者从不同的角度进行了有益的尝试。主要方法有:满足功耗约束的测试调度算法8,低功耗BIST测试向量生成算法9,测试矢量压缩技术10,电路划分技术11,低功耗ATPG生成技术12,测试向量的排序技术13,扫描路径分段技术14,多扫描电路的交叉扫描结构15,利用系统芯片上的处理器、寄存器、存储器等资源进行软硬件协同DFT设计等多种BIST技术16,减少翻转次数的DFT结构技术17等。SoC测试的出发点是缩短被测试芯片占用ATE插槽的时间,以便降低测试代价。基于扫描的测试由于采用串行的方法来传输测试数据,这个问题就显得尤其重要。如今,系统芯片大量的测试数据不仅增加了测试时间,也要求自动测试设备(ATE)具有更大的存储空间(包括大量的内存和外存),以便可以容纳巨大的数据量,这将导致更加昂贵的ATE和更高的测试代价。许多研究人员采用各种各样的压缩算法来减少测试向量,取得了不少成就。另外一个值得注意的问题就是:测试电路的工作频率往往和内核正常工作的频率相差很远,从而使得即使通过测试认为是无故障的电路,当切换到工作频率时,电路仍然不能正常工作。一般情况下,系统芯片中会有一个或多个处理器、寄存器和一定容量的存储器,可以利用这些资源,通过各个核心逻辑之间合适的接口,访问相应的核心逻辑及其辅助电路,根据捕获到的响应来对芯片进行故障检测和故障定位。由于这种测试频率与实际工作频率相同,因此可以杜绝这种特殊的故障18。对系统芯片的测试,实际就是对芯片中的若干IP核进行测试。随着IP数据库建设的发展,越来越多的系统芯片将基于嵌入式核而设计。现在的系统芯片,其中的IP核数目已经达到几十个以上,在未来不多的几年,系统芯片中的嵌入式核的数目将会达到数百。只有将这些嵌入式核进行并行测试,才能有效的缩短测试时间。这些问题可以归结为系统芯片的测试调度问题。为了能够比较诸多测试调度算法的优劣,就需要一个公用的测试基准,ITC02测试基准电路就应运而生了19。围绕着该套测试基准,许多学者展开了大量的研究工作。随着集成电路制造工艺的进步,SoC内部IP核间互连导线的测试已不仅仅为测试互连导线的导通、短路及桥接等传统故障,还应测试由于特征尺寸变小和工作频率提高而带来的串扰和信号完整性故障。SoC的芯片级测试,其所涉及的测试要求不仅仅是要提供从芯片引脚到IP核的测试访问和支持用户定义逻辑及IP核间互连测试,还包括IP核的隔离和测试控制、测试资源共享、测试调度以及测试方法评估和优化等内容,是一个复杂的系统工程。本课程的主要工作就是对扫描测试技术、ATPG技术、低功耗DFT技术、测试调度等问题进行有益的学习和探讨。1.3 本课程的主要内容本文的目的在于探讨集成电路的测试方法与故障诊断,所以将涉及到边界扫描技术、全扫描与部分扫描技术、ATPG技术、低功耗DFT技术和测试调度算法。篇章结构的组织如下:第二章介绍本课程要用到的一些基本概念,包括:系统芯片和IP核、常用的DFT实现手段、边界扫描技术、BIST技术、测试调度等。第三章剖析边界扫描技术,包扩IEEE Std 1149.1、1149.4、1149.5和1149.6。旨在说明如何在芯片与芯片之间,嵌入式芯核与嵌入式芯核之间的互连测试如何实现。特别是当采用电容耦合技术和高速数字技术的情况下,应该采用什么标准。第四章介绍全扫描和部分扫描技术,探讨扫描链的实际设计过程中出现的问题和解决的办法,并使用Synopsys公司的DFT工具进行了验证。第五章介绍低功耗DFT技术,包括基于扫描技术设计的低功耗DFT实现方法和基于非扫描技术设计的低功耗DFT方法。采用这些技术进行IP核的设计,可以有效地降低芯片测试的功耗和缩短芯片的测试时间。第六章介绍测试调度算法。构造一种新型的系统芯片测试调度模型,提出了一套行之有效的测试调度算法,并分析了测试调度的结果。第七章对整个课程进行总结,并给出了以后的研究方向和应该解决的问题。2 集成电路可测试性设计的基本概念本章介绍DFT(Design For Test)的基本概念。给出常用的DFT实现方法及其适用场合,SoC(System on a Chip)和IP(Intellectual Property)核相关的基本知识,并对自动测试设备(ATE,Automatic Test Equipment)作一个简单的介绍,分析系统芯片可测试性设计所遇到的挑战。2.1 DFT的基本概念一般来说,一个合格的芯片一般要经过两次测试。一次是所谓的晶圆片测试,就是将制造好的晶圆片进行严格的测试然后进行划分、封装,实际上只有那些通过测试的裸片才会进行封装,而未通过测试的裸片则直接淘汰;另一次测试为产品测试(Production test),就是通过晶片测试和封装的芯片仍然需要进一步测试以确认没有封装引起的故障才能成为真正的产品。无论对于哪一次封装,将设计和测试分开的传统做法都是无法实现的。因此,必须在产品的开发阶段就考虑可测试性问题,这就是所谓的DFT问题。DFT也称为可测试性设计,可测试性设计技术对于保证ASIC产品质量,降低测试成本,缩短产品上市时间,都具有十分重要的意义。可测试性设计是一个很广阔的领域,术语很多,某些术语甚至还没有确切的定义或者没有统一的定义。搞清这些基本概念,有助于正确理解该领域中的相关问题。2.2 DFT的常用方法测试是通过控制和观察电路中的信号,确定电路是否正常工作的过程。因此,可控制性和可观察性是电路可测试性问题中最基本的两个概念。可测试性设计技术的目的就是试图增加电路节点的可控制性和可观测性,从而有效地、经济地完成芯片的生产测试。可测试性技术的方法可分为功能点测试、基于扫描技术的结构化测试和内建自测试。2.2.1功能点测试功能点测试技术可用于特殊电路和单元的测试。它是针对一个已经定型的电路设计中的测试问题而提出的。该技术有分块、增加测试点、利用总线结构等几种主要方法1。分块法采用的技术有机械式分割、跳线和选通门等。机械式分割是将整个电路分割为多块。这样虽然使得测试生成故障模拟的工作量减少,但是却不利于系统的集成,费用也大大增加。采用跳线的方法则会引入大量的I/O端口。而选通门的方法则需要在设计中引入大量的输入、输出端口以及完成选通功能所必须的模块。增加测试点是提高电路可测试性最直接的方法。其基本方法是将电路内难于测试的节点引出,作为测试点,如果测试点直接用作系统的原始输入,则可以提高该电路节点的可控性,如果测试点用作系统的原始输出,则可以提高电路的可观察性。该方法的缺点是由于引脚数目的限制,所能引入的测试点数目非常有限。利用总线结构类似于分块法。它将电路分成若干个功能块,并且与总线相连,可以通过总线测试各个功能模块,改进各功能模块的可测试性。这种方法的缺点在于不能检测总线自身的故障。功能点测试技术的缺点在于它不能解决成品电路的测试筛选生成问题,只能用来辅助分析测试;另外,它需要在电路中每个测试点增加可控的输入端和可观察的输出端,因此而增加了附加的连线与I/O端口,给后端的布局布线带来了较多的麻烦,也使得芯片面积的开销较大。2.2.2扫描测试结构化DFT技术对电路结构进行总体上的考虑,只增加了用于测试的内部逻辑电路,就可以访问芯片内部电路节点,按照一定的DFT规则进行测试电路设计,具有通用性好和自动化程度高的特点。扫描技术是指通过将电路中任一节点的状态移进或移出来进行测试定位的手段,其特点是测试数据的串行化。通过将系统内的寄存器等时序元件重新设计,使其具有可扫描性,测试数据从芯片端口经移位寄存器等组成的数据通路串行移动,并在数据输出端对数据进行分析,以此来提高电路内部节点的可控制性和可观察性,达到测试芯片内部节点的目的。扫描技术分为全扫描技术、部分扫描技术和边界扫描技术。全扫描技术就是将电路中所有的触发器用可扫描触发器替代,使得所有的触发器在测试的时候链接成一个移位寄存器链,称为扫描链。这样,电路在测试时就可以分成纯组合逻辑的测试和移位寄存器链的测试。电路中所有的状态可以直接从原始输入和输出端得到控制和观察。全扫描技术可以显著的减少测试生成的复杂度和测试费用,但这是以牺牲芯片面积和降低系统速度为代价的。部分扫描的方法是只选择一部分触发器构成扫描链,降低了扫描设计的芯片面积开销,减少了测试时间。其关键技术在于如何选择触发器。对部分扫描技术的研究主要在于如何减少芯片面积、降低对电路性能的影响,提高电路的故障覆盖率和减小测试矢量生成的复杂度等方面。边界扫描技术是各IC制造商支持和遵守的一种扫描技术标准,起先主要用于对印刷电路板的测试,它提供一个标准的测试接口简化了印刷电路板的焊接质量测试。它是在IC的输入输出端口处放置边界扫描单元,并把这些扫描单元依次连成扫描链,然后运用扫描测试原理观察并控制芯片边界的信号。边界扫描技术也可用于对系统芯片进行故障检测,但是由于这种测试观测方法要将所有的并行输入/输出数据串行化,测试时间相当长,因此这种方法目前一般用于对板级系统的互连测试与电路板之间的互连测试。2.2.3 内建自测试(BIST, Built-In-Self-Test)内建自测试技术对数字电路进行测试的过程可分为两个步骤:首先将测试信号发生器产生的测试序列施加到被测电路,然后由输出响应分析器检查被测电路的输出序列,以确定电路是否存在故障以及故障的位置。BIST主要完成测试序列生成和输出响应分析两个任务。通过分析被测电路的响应输出,判断被测电路是否存在故障。因此,对数字电路进行BIST测试,需要增加三个硬件部分:测试序列生成器、输出响应分析器和测试控制部分。在测试序列生成器中,有确定性生成、伪穷举测试生成和伪随机测试生成等几种方法。确定性测试方法是一种针对特定的电路故障进行测试的方法,虽然可以得到很高的故障覆盖率,但硬件开销大,仅在测试码个数较少的时候采用。伪穷举测试的方法是把所有可能输入都加以计算的测试方法。它的最大特点是故障覆盖率可以达到100,但其计算量与输入端子呈幂次方关系,因此计算量很大。如果将电路分为多个原始输入变量互相独立的块,则测试数将大大减少。伪穷举法就是这样一种压缩测试向量的方法。伪穷举法也具有很高的故障覆盖率,但伪穷举法对电路进行划分比较困难,有相当的局限性。而且由于加入了附加硬件,可能对电路性能产生负面效应。伪随机测试是一种广泛使用的测试方法,该方法可以对被测试电路产生大量的测试代码,而且硬件电路开销较小,同时具有较高的故障覆盖率。LFSR(Linear Feedback Shift Register,线性反馈移位寄存器)就是这样一种测试代码生成电路。实现输出响应分析的方法有ROM比较逻辑法、多输入特征寄存器法和跳变计数器法等。ROM比较逻辑法是将正确的响应存储在芯片内的ROM中,在测试的时候,将其与测试响应进行比较,但这种方法会因为占用太多的芯片面积而毫无实用价值。多输入特征寄存器方法是将被测试电路中各节点的响应序列进行处理,得到与测试响应序列等长的特征字(Signature),然后与无故障电路节点的响应序列特征值进行比较,如果两者相同,则说明电路正常,否则表明被测试电路有故障存在。跳变计数器法是通过比较输出响应的跳变总数,来判断被测试电路是否正常工作,因此需要存储和比较跳变次数,从而使得所需要的存储空间与测试时间都得到大幅度的降低。但是后面两种方法是以牺牲故障覆盖率为代价的。实现DFT的工具应该首推Mentor公司。Fastscan可以用于全扫描逻辑电路的测试;Flextest则可以用于解决部分扫描设计问题;LBISTArchitect则用来生成逻辑电路的BIST部分,适用于IP或宏模块的内建自测试设计;MBISTArchitect可以用来实现存储器的BIST;BSDArchitect可以用来生成边界扫描电路。Synopsys公司也有自己的DFT实现工具:DFT Compiler用来完成可测试性设计综合;TetraMAX用来生成ATPG(Auto Test Pattern Generation)测试向量;VERA Developers Kit则是测试平台开发和测试向量自动生成工具。2.3系统芯片与IP核 系统芯片就是在单一芯片上实现信号采集、转换、存储、处理和I/O 等功能,将数字电路、模拟电路、信号采集和转换电路、存储器集成在一块芯片上实现一个系统的功能。因此系统级集成电路设计方法具有降低整机成本、提高集成度、降低功耗等优点。但系统芯片的系统复杂、集成度高,还需解决模块之间的干扰问题。任何一家公司,从零开始独立完成系统级设计,都是一项十分艰巨的任务。IP核即知识产权核,确切地说应为“知识产权设计模块”,是预先设计好的电路功能模块。IP核分为软核(Soft Core)、硬核 (Hard Core)和固核(Firm Core)。软核是指用RTL和门级Verilog HDL 和VHDL的形式描述功能块的行为,但是并不涉及用什么电路和电路元件实现这些行为。与硬核相比,软核的设计周期短,设计投入少。由于不涉及物理实现,用户能把RTL和门级HDL表达的软核修改为自己需要的设计,综合到选定的厂商工艺上,增大了IP的灵活性和适应性。硬核的电路布局布线和工艺是确定的,已完成全部的前端和后端设计,提供设计的最终阶段产品。固核是一种介于软核和硬核之间的IP,通常以RTL代码和对应具体工艺网表的混合形式提供。固核是完成了综合的功能块,以网表的形式提交客户使用。固核允许用户重新确定关键性能参数,如果客户与固核使用同一个生产线的单元库,IP的成功率会比较高。最早的IP开发是为了提高设计效率、减少设计风险,将多次设计成熟、经工艺验证并已优化的设计模块建库,提供给相同功能的电路设计使用。随着集成电路的发展和SoC 复杂性的提高,给IP核的开发带来巨大的商业机遇,IP核已成为一种商品,IP技术越来越成为IC界广泛关注的焦点。功能模块化的系统芯片具有易于增加新功能和缩短上市时间的显著特点,是IC设计业当前乃至未来的主流设计方式。利用IP设计的形式,可将不同公司的特长集中到同一产品的设计与制造中。利用IP核设计系统芯片可以有效地缩短系统芯片的开发时间,缓解设计的能力与IC制造的矛盾,降低产品开发的成本。对于一个公司来说,进行大规模SoC设计的时候,能够得到大量的功能模块(包括本公司的其他部门和其他公司)就变得尤为关键,这样就可以满足快速面向市场的要求而实现商业目标。2.4自动测试设备(ATE)集成电路自动测试设备,即我们通常所说的IC ATE(Automatic Test Equipment),通常是非常昂贵的测试平台(一般高于一百万美元)。ATE被看作一个模型,它具有:一定存储深度的多个通道(新型的ATE支持通道上有不同的工作频率),多个时钟产生器和多个电源输出端口。这些资源通过一个加载板上的插座提供给被测试芯片。ATE可能还具有另外一些资源与功能,例如:内存测试功能(MTF,Memory Test Functions);模/数和数/模转换器;进行Idd和Iddq测试的电流测试装置;用于验证或者同步输出时钟信号的频率计数器。2.4.1 ATE的局限性ATE与仿真器很不相同。仿真器可以在时钟驱动下工作,也可以没有时钟驱动。可以是基于周期的或事件的驱动,并且可以访问设计中任何信号、变量或者常量。由仿真器施加的波形可以被看作是理想的数学表示,未知的信号可以被看作状态“X”,高阻状态则被看作状态“Z”。ATE则只能通过系统周边封装引脚进行操作。并且具有真实的信号延迟、时钟延迟、信号衰减、芯片的输出负载,以及实际工作时的热效应。测试仪也具有信号边缘布局的精确性(测试仪可以区分的最小测量值)、准确性(边缘布局的最小不确定性)和边缘斜率(上升和下降时间)20。2.4.2 ATE使用代价测试代价的构成部分是芯片占用ATE插槽的时间和占用的总线宽度。自动手柄将一个芯片插入ATE插槽中,然后将其取出的最小时间间隔为13秒钟。降低测试代价的一个有效措施就是在同一个ATE上并行测试许多芯片,使得测试时间低于手柄的门限时间。由于多个芯片并行测试,每个芯片平均占用的ATE总线的宽度就需要有所限制。如果施加到测试仪上的测试程序过于复杂或者包含有大量的测试数据,就有可能引起测试数据的重载(Reload),该过程要占用比较长的时间,因而会使得测试代价更高。降低测试程序复杂性可以使用简化技术,例如单边沿测试集测试;减少测试数据的方法是使用数据压缩技术。一个较简单的测试程序可以降低对ATE的要求,这也意味着可以有效的降低测试费用。2.5集成电路可测试性设计的挑战集成电路的功能复杂性与规模的不断提高,不仅使得设计技术产生新的变革,也使得可测试性设计技术面临更大的挑战,这就需要我们提出相关的测试策略和实现方法。 系统芯片可测试性设计的难题很多,在此给出本人的一点拙见。(1)随着设计规模迅速提升,测试向量数目的急剧增加,迫切需要有效的测试向量压缩手段。压缩的同时要考虑解压,采用什么样的硬件电路能够实现所需要的解码与编码并具有较小的硬件开销和对电路性能的负面影响一直困扰着工业界和学术界;(2)深亚微米、纳米工艺不断涌现,器件特征尺寸越来越小,不断涌现出新的失效故障模型,串扰、电迁移和信号完整性问题更为突出;(附注:串扰是两条信号线之间的耦合,信号线之间的互感和互容引起线上的噪声。容性耦合引发耦合电流,而感性耦合引发耦合电压。PCB板层的参数、信号线间距、驱动端和接收端的电气特性及线端接方式对串扰都有一定的影响。)(3)芯片的工作速度不断提升,数字信号在高速的数字通道上表现出复杂的模拟特性,因而对测试仪提出了更高的要求,在许多情况下,往往必须进行实速测试;(4)模拟系统或者数/模混合系统的可测试性设计非常困难,往往需要采用一套复杂的DSP系统来实现,而且成本极高,速度太慢,造成极大的硬件开销,因而不适合工业化生产;(5)集成电路在测试过程中的功耗会是正常工作状态功耗的2倍甚至更多,在测试的过程中要避免因为过热而烧坏芯片;(6)为了缩短上市时间和降低成本,集成电路的设计越来越多的采用基于IP的设计技术。但是,为了保护知识产权,IP核提供商往往不愿意过多的透漏IP核的具体实现细节。在这些情况下,集成工作者往往没有足够的信息来设计高质量的测试;(注:关于此项信息可以查看1450.6标准关于CTL(内核测试语言)的描述)(7)为了缩短芯片的测试时间,往往采用并行测试的方法,并行测试的基本问题是要对各个IP核进行调度,以便在最短的时间内完成测试。但是由于所考虑的问题具有复杂的数学模型,甚至有许多不确定的因素,造成并行测试的极端复杂性。通过本课程的学习,将会对以上问题有更深的理解,对于集成电路设计有更全面的认识。3 边界扫描测试方法扫描技术是实现数字系统可测试性的关键技术,它包括边界扫描、全扫描、部分扫描。本章介绍边界扫描的实现方法,全扫描和部分扫描将在下一章介绍。边界扫描技术一开始是为了测试芯片之间的简单互连(即导线直接连接)。由于系统芯片的设计是基于IP核的设计,IP核之间的互连也可以采用边界扫描技术来实现。3.1边界扫描基本状况JTAG(Joint Test Action Group,联合测试工作组)于1986年提出了一个标准的边界扫描体系结构,名叫Boundary-Scan Architecture Standard Proposal,最后的目标是应用到芯片、印制板与完整系统上的一套标准化技术。1988年IEEE与JTAG同意合作开发一个叫做IEEE 1149.1的标准,并于1990年发布了该标准2。边界扫描测试技术在降低产品测试成本,提高产品质量和可靠性以及缩短产品上市时间等方面有显著的优点。所以,边界扫描技术一提出就受到电子行业的普遍关注和广为接受,目前已得到了很多应用。现在,一些国际性的大公司如Corelis,JTAG Technology,Acculogic,Agilent等公司已经致力于开发满足相关测试协议的测试仪器和集成电路。例如,Corelis公司的产品ScanPlus包括自动边界扫描测试程序生成、边界扫描诊断、交互式边界扫描调试、CPLD和flash memories的在系统编程、用C语言编写的低级扫描函数库驱动器和JTAG在线仿真器等。在1149.1协议推出以后,新的标准不断推出,下面进行比较详细的介绍。3.2 IEEE Std 1149.1边界扫描测试的基本原理如图3-1所示。符合边界扫描规则的集成电路除了原有的功能模块外,还要有边界扫描单元(BSC)和测试访问端口控制器(TAP Controller)。图3-1中的移位寄存器单元插入到IC的核心逻辑与I/O管脚之间,以提供通过所有IC的一条串行测试数据通路。因为移位寄存器单元位于IC的边界处,所以这些单元被称为边界扫描单元(BSC,Boundary Scan Cell),由它们构成的移位寄存器称为边界扫描寄存器。串行测试数据的输入端被称为测试数据输入端(TDI),相应的输出端被称为测试数据输出端(TDO)。为了完成测试功能,相互连接的边界扫描单元必须具有数据移位、数据更新、数据捕获等功能,这些功能是由测试控制逻辑来控制的。测试控制逻辑由两条信号线驱动:测试方式选择(TMS)和测试时钟(TCK)。所以,整个边界扫描测试要求IC中至少有四个可利用的测试管脚,或将它们附加到其他的功能管脚上。TCK核心逻辑核心逻辑测试互连线TDOTDITDO管脚TAP控制器TAP控制器JTAG测试仪TMSTDI图3-1 边界扫描基本体系结构边界扫描测试技术的工作原理就是:JTAG测试仪利用一个四线测试接口,将测试数据以串行方式由TDI打入到边界扫描寄存器中,通过TMS发送测试控制命令,经TAP控制器控制边界扫描单元完成测试数据的加载和响应数据的捕获。最后,测试响应数据以串行扫描方式由TDO送出到JTAG测试仪,在那里,将捕获到的响应数据与期望的响应进行比较。四个管脚TMS、TCK、TDI和TDO被称为测试访问端口(TAP, Test Access Port),全部测试控制逻辑被称为TAP控制器。3.3 IEEE Std 1149.41149.1的主要意图是是解决纯数字网络和混合系统中数字部分的可测试性设计问题。然而,许多系统使用模拟的、数字的以及数模混合的元件。各功能器件之间的连接不仅有简单的直接导线相连,也有电阻和电容这类耦合方式,如图3-2所示。IEEE1149.4边界扫描标准协议致力于模拟互连电路可测试性设计的规范化,是直接耦合电路可测试性设计标准IEEE1149.1的扩展,它的基本思想与标准IEEE 1149.1一样。简单互连扩充的互连方式单端传送模拟驱动器模拟驱动器模拟驱动器数字驱动器差分驱动器(模拟的或数字的)模拟驱动器模拟驱动器模拟驱动器数字驱动器差分驱动器(模拟的或数字的)差分互连单端接收图3-2 在1149.4中支持的互连IC1IC2IEEE 1149.4边界扫描标准的总体结构如图3-3所示,它向IEEE1149.1标准结构中加入了一些扩展结构,即模拟端口上的模拟边界模块ABM和连接在模拟测试访问端口上的测试总线接口电路。图3-3中所示的核心电路是一个模数混合电路,它分别与数字边界模块(DBM)和模拟边界模块(ABM)相连。图中画出了两个模拟管脚,在实际情况下,则可能有很多这样的管脚,对于每一个这样的管脚,则需要相同的连接方式。每一个ABM上都有3个电压值VH,VL和VG,它们是由ABM中的开关矩阵在测试过程中从相应的端子来获得的。VH是电路中最高的电平,VL是电路中最低的电平,VG则是稳定的参考电平。值得指出:这3个电平对于不同的管脚可能是不同的。在实际测试过程中,将VH和VL分别与VG进行比较,可以得到数字结果,然后将这个数字结果用到TBIC与ABM的控制电路部分,而它们的控制电路是连接在扫描链上的,这样,一个数字结果就可以和1149.1中的数字数据兼容。内部测试总线有两条,分别叫AB1和AB2。内部测试总线数字I/O管脚核心电路测试总线接口电路(TBIC)测试控制电路(包括TAP控制器,指令寄存器和解码器)扫描路径VHVLVGVHVLVG数字边界模块(DBM)模拟I/O管脚AT1AT2模拟测试访问端口(ATAP)图3-3 边界扫描标准的总体结构TMSTDOTDITCK1149.4支持差分信号传输。当模拟测试访问端口采用差分形式的时候,就需要增加两个管脚,分别叫做AT1N与AT2N,它们需要另外一个TBIC和另外一对内部测试总线AB1N和AB2N。在需要进行模拟电路部分测试时,需要外加测试激励,AT1为激励信号输入,AT2为测试结果输出。测试总线接口电路(TBIC)的作用是在进行模拟测试的时候将AT1与AB1连通,AT2与AB2连通 ,当不需要进行模拟电路测试的时候,将它们断开。左下角的4个管脚TDI,TDO,TMS和TCK与1149.1中定义的一致,以便与它兼容。为了配合电容耦合的测试需要,IEEE 1149.4测试标准新增加了一个PROBE公开指令。对于数字电路,它的工作方式与采样指令SAMPLE相似。PROBE指令的作用主要体现在模拟电路测试中。当PROBE指令被选取时,模拟测试单元被设置成与核心电路相连,它可以从AT1端向电路提供激励信号,也可以在AT2端对电路的响应进行监控。3.4 IEEE Std 1149.5开发这个协议的初衷是提供一个有较高利润和标准化的背板模块测试和维护界面,旨在用于将来自不同设计组和销售商的可测试模块集成到一个可测试和可维护的系统中去6。该标准的接口协议和命令可以对于模块上的固件进行访问,支持IEEE Std 1149.1边界扫描标准。该标准支持单个模块的故障隔离和各个模块之间的互连测试。Clock SourceSlave Data (MSD)Clock (MCLK)Control (MCTRL)Pause Request (MPR)Master Data (MMD)MTM-BusMasterMTM-BusSlaveMTM-BusSlave图3-4 MTM总线基本体系结构该总线协议标准化了一种测试和维护命令的通信方法,用于总线上各个子系统测试控制模块(MTM总线主模块)和其它模块(MTM总线从模块)之间的串行数据交换。MTM总线的内部可以包含其它的测试总线,它本身则作为全部测试和维护接口体系的一部分来实现。该标准的体系结构如图34所示。该协议的成功应用范例是波音777(boeing 777)。表3-1 两个协议的引脚对应关系1149.51149.1MMDTDIMCTLTMSMSDTDOMCLKTCKMPRTRST从某种程度上说,1149.1是1149.5的雏形,在1149.1中,各种内嵌在IC中的BIST电路和这里的从模块具有一定的相似性。这里的主从模块之间的信号和1149.1中的信号对比关系如表3-1所示,两个协议的主要特征对比关系如表3-2所示:表3-2 1149.5与1149.1主要特征比较1149.51149.1板级芯片级基于包流信息基于位流信息有错误更正能力无错误更正能力无标准器件有标准器件有中断能力返回到IDLE状态表3-2中需要说明的是:在IEEE 1149.5中,总线上的信息传递是基于包(packet)的技术,像我们熟知的TCP/IP协议一样,而1149.1中的数据传递是按位进行的。另外,比1149.1更高级的是,1149.5的从模块可以向主控制器申请中断(在异常情况下)。从图3-4可以看出,这样的结构和星型结构的计算机网络结构基本相同。因此,在本协议中,详细的定义了主控器和从模块的通信规范。如同计算机网络协议一样,定义了一个层次型的网络结构规范。3.5 IEEE Std 1149.6本标准的酝酿开始于2001年5月21日,起草者是安捷伦公司和Cisco公司组成的一个叫做特别工业工作组的组织。该工作组阐明了本标准,意在将它移交给IEEE,使之成为标准。该工作组的任务是:提出一种IC设计的方法,该方法支持鲁棒性的板级边界扫描测试,在信号通路中允许使用差分信号与交流耦合技术。该技术利用并且兼容现有的IEEE Std 1149.1。他们的目标是提高IEEE Std 1149.1的能力,以保持快速准确的检测和诊断系统中和电路板上的互连缺陷,尽管差分传送信号有故障掩盖效应,交流耦合传送信号有直流阻断效应。该工作组开始称自己为“交流外测试(AC EXTEST)”工作组,但是后来改名为“高级I/O (Advanced I/O)”工作组。IEEE-SA标准委员会于2004年3月20日通过了该协议5。本标准定义了IEEE std 1149.1-2001 的扩展部分,标准化了必需的扫描结构和方法,对现行标准未给予足够重视的高级数字网络,尤其是那些交流耦合的、差模的以及两者兼而有之的网络,在进行边缘扫描测试时,确保简单的、健壮的和最低程度的干扰,该协议类似于IEEE Std 1149.1测试常规数字网络,与用于常规模拟测试的IEEE 1149.4相衔接。本标准是IEEE 1149.4的补充,明确的目标是高速数字网络的并行测试,而IEEE 1149.4则主要解决更传统的模拟网络的串行测试。对于所有的IEEE Std 1149.1-2001所支持的新的I/O测试结构的软件或BSDL,本标准也进行了扩充。本标准的主要技术是采用对跳变敏感的技术,而以前的协议是采用电平敏感的技术。对于如图3-5所示的跳变,根据跳变的幅度和时间,采用迟滞比较器,可以较好地解决电路中共模噪声的干扰问题(参看图3-6)。在一个带有未知漂移的信号中找到跳变的一种方法是将它和它自己的延迟信号比较,就是说,使用它当前的历史作为参考。图3-6中画出了最初的信号、一个延迟的版本和迟滞比较器的输出结果。输出信号是原始信号的准确重建,延迟了一个输入波形通过迟滞门限的时间。输出波形已经变为标准逻辑电平,即:未知的漂移被消除了。由此可知,1149.6在克服信道中共模信号的干扰能力方面具有很强的能力。T4T3t2t1图3-5 被共模信号影响的交流信号脉冲tV未知漂移tVV2V1输入+延迟D_-BAC迟滞偏移AB延迟D 接收器的响应C输出参考图3-6 一个伴有未知电压偏移的直流耦合的延迟自参考重建迟滞延迟值得指出的是,在1149.6中采用的这种新方法,即使差模信号以单端信号方式发送,也能够较好的克服共模信号(直流电平)的干扰。在这个基本的思想下,本标准详细讨论了这种技术的应用。3.6边界扫描测试的发展前景IEEE Std 1149.1-1990是边界扫描的第一个协议,它拉开了边界扫描技术推广与使用的序幕。IEEE Std 1149.4是对1149.1的一个补充,使得模拟耦合方式的测试成为可能。1149.6则在以上两个协议的基础上,扩充了指令集,增加了交流耦合通路和差分通路的测试能力。边界扫描协议IEEE Std 1149.5中定义的MTM总线结构,为扫描测试向网络化方面的发展奠定了基础。主模块和从模块之间的默契,为远程测试做下了铺垫。1149.6的提出,完善了混合系统测试的方法,使得电路中几乎所有的模块可以相互连接,统一在主测试模块的管辖之下。Agilent公司的芯片已经可以实现1149.6所要求的功能,完全支持1149.6的交流测试模式。主模块和从模块的这种网状结构,进一步可以扩展为多级星型结构。借助于现代的互连网技术和全球定位系统,加上已经比较成熟的无线通信协议,我们相信,在不远的将来,每个服务商和各个运营商将会拥有自己的“Intranet”,随时对自己的设备进行故障检测和故障定位。3.7 本章小结本章简要的回顾了边界扫描的主要功能和主要实现思想,对边界扫描的系列协议进行了简单的总结,并展望了边界扫描技术在未来测试领域的应用。今天的系统芯片有望成为明天的IP核,边界扫描结构在以后更大规模的集成电路设计中将成为诸多嵌入式内核之间互连测试的有效方法。另外,由于边界扫描单元位于芯片的引脚端口,它也是一条直接控制内建自测试的有效通道。4 全扫描可测试性实现方法为了便于实现ATPG的产生和加载,经常要使用扫描电路。由于在集成电路中,被集成的IP核要保持原有的特性,对于IP核使用者来说,只在用户自定义逻辑中采用全扫描与部分扫描技术。对于IP核设计者来说,一般而言,大多都要用到全扫描或部分扫描技术(一部分BIST电路除外)。本章首先简要介绍扫描测试的必要性,然后详细探讨可扫描单元的基本类型和扫描链处理上的一些问题。值得指出:虽然本章介绍了多种可扫描单元类型,例如多路选择器型的触发器型、专用时钟型、电平敏感型等,但是在后面关于扫描链问题的处理上,通常用多路选择器类型中的二选一选择器D型触发器为例来进行探讨,对于其它类型的可扫描单元也可以使用类似的方法。4.1为什么需要扫描测试集成电路器件的制造面临着许多测试问题。现实情况表明,集成电路器件的发展趋势是更高的密度、更多的引脚、更大的晶圆尺寸、更小的特征尺寸、更细的导线、更高的频率,这就使得集成电路对污染、工艺更加敏感,与此同时,也包含了出现物理故障的更高概率(由于更多的门与门之间的互连)。“更高的频率”、“更多的管脚数”和“更高的复杂性”使得测试平台的价格不断提升,出现了“测试代价危机(crisis in test cost)”。在某些市场,由于测试而带来的消费是硅片和封装价格总和的24倍20。面对这样的问题,最好的解决方案就是提供某种测试访问机制,该机制能够提高电路内部节点的可控性和可观察性,从而缩短测试时间、减小测试数据量、降低测试平台复杂性。扫描测试可以有效的解决这个问题。扫描测试是在设计的时候用可扫描寄存器替换原来的标准寄存器,从而增加电路中的可控制点和可观察点,相当于增加了许多虚拟探头。它的不足之处在于它会对原来电路的性能发生一定程度的影响,也会增加布局布线的复杂性和芯片的面积。4.2可扫描单元类型可测试性设计的一般思想是构造扫描链,构造扫描链的关键是用可扫描寄存器替换原来的标准寄存器。一般情况下,可以使用的具有扫描功能的寄存器有四种类型,分别是:多路选择器型、专用时钟型、电平敏感型、辅助时钟型。下面逐一加以介绍。4.2.1多路选择器型的触发器这是一种主流类型。用带有选择器的触发器(或锁存器)单元替代标准的触发器(锁存器)单元,并将它们串在一起,形成扫描链,然后将ATPG施加到其上,就可以控制和观察电路内部节点处的信号。图4-1给出了采用多路选择器构成的可扫描触发器。图a为常规的D触发器示意图,图b为可扫描D触发器符号,图c为图b相对应的内部电路结构。由图中可以看出,具有扫描功能的触发器增加了两个输入端口:Scan_in和Scan_En。Scan_in引脚用于接受扫描数据的输入,Scan_En用于扫描使能。在测试模式下,将测试向量打入寄存器的时候,将Scan_En置为“1”;在正常工作模式下和测试模式下的非扫描状态

温馨提示

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

评论

0/150

提交评论