您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > VLSI测试与可测性设计
VLSI测试与可测性设计随着集成电路的集成度越来越大,芯片的测试技术也给我们带来新的挑战,集成度的增大使芯片的故障率也随之增大,这样我们设计的测试电路也越来越困难,要使我们能完成测试任务我们需要VLSI测试与可测性设计。VLSI测试技术我们需要研究测试理论基础,测试矢量生成,可测试性设计。数字系统的测试是一个不缺少的重要环节。系统测试的核心问题是确定施加什么样的激励,可以使故障激活(既使故障能够反映出来),同时能够在可及端测量出来。因此还要确定在什么地方施加机理,在什么地方进行测量。最初的系统测试主要采用功能测试,如1953年Eckert所采用的BINCA计算机就是用两个相同的处理器同步进行工作,并随时进行比较,看其是否有相同的结果来判断是否有故障。器件测试是从最简单的组合电路开始的。Eldred在1959年提出了第一篇关于组合电路的测试报告。尽管它只是针对单级或两级组合电路中的固定故障测试,但是它已实际应用于第一代电子管计算机的测试,并揭开了数字系统测试的序幕。Eldred指出:3输入或门,输入故障可采用输入矢量(100)、(010)和(001)测试,每个矢量还可检测输出端的s-a-0故障。为了检测输出端s-a-1故障,还需要增加输入矢量(000)。Eldred提出的方法只解决了两级以内的组合电路测试问题。D.B.Armstrong(1966)基于Eldred的基本思想提出了一维通路敏化方法。主要思想是对多级门电路寻找一条从故障点到可及输出端的敏化通路,以便在可及端可以观察到故障信号。利用这种方法确实解决了相当多组合电路的测试问题。当时人们认为,非冗余的组合电路中任一故障信号都是沿某一条通路传输到可及端的。直到1976年,Schneider提出了一个反例,证明了某些故障信号只通过一条通路是不可能传输到可及输出端的,而必须同时沿两条或两条以上的通路传输,才能在可及输出端测试到故障信号。Schneider指出了一维通路敏化存在的问题,但是没有提出解决这个问题的方法。实际上,罗思(Roth)于1966年提出的著名的D算法就已经考虑了故障信号向可及端传输的所有可能的通路(包括多通路传输)。虽然以后对D算法有不少改进,但是都没有超出罗思的基本思想。从理论上说,组合电路测试在罗思的D算法中已达到最高点。在实际应用中,脱胎于D算法的PODEM算法和FAN算法已经臻于完善,达到完全使用阶段。在罗思之后,Seller等提出的布尔差分法和Thayse提出的布尔微分法,虽然在实际应用中存在一定的困难,但是使通路敏化理论得到系统化,这两种方法在数字系统测试中也占有重要的地位。罗思的D算法从理论上解决了组合逻辑电路的测试问题,即任何一个非冗余的组合逻辑电路中任意单故障都可以用D算法来找到测试它的测试矢量。但是在实际应用中还存在计算量大,难以应付大电路问题。虽然各种各样的改进方法在不同程度上提高了运算速度,但是总的计算工作量还是很大。Armstrong(1966)提出enf(等效正则)法,其核心问题是寻找一个可检测电路内全部故障的最小测试集。波格(Poage)和博森(Bossen)等提出了用因果函数来检测所有单故障和多故障的最小测试集,并在小型的组合逻辑电路测试中取得较好结果。但是上述几种方法通常都要处理大量文字型数据,所需的工作量和计算机内存容量都比较大,因此对大型组合电路难以付付诸实用。魏道政等提出的多扇出分支计算的主通路敏化法以及较为直观的图论法,在实际应用中显示出较大的优越性。随着系统和电路规模的增大和元件集成度的提高,大型组合电路故障检测日趋迫切,对计算机速度要求越来越高,所需存储容量越来越大,使某些算法已失去实用价值,因此必须研究和探讨新的方法,或探索某一类器件的专用测试方法,例如:PLA器件的测试。过去认为没有实用意义的穷举法,随着电路规模的增大而有了新的发展,因为穷举法测试码产生非常简单,Archambeau等人提出的伪穷举法为穷举法用以解决大型组合电路的测试开拓了新的途径。时序电路测试比组合电路测试要困难得多,其主要原因是:时序电路中存在反馈线;存在存储元件;时序元件。正因为时序电路测试存在上述三个难以解决的问题,因此它的测试理论和方法的研究进展一直比较缓慢,切实行之有效的方法也比较少。解决时序电路测试问题的最初途径是沿用组合电路的算法,但由于要对电路的状态作估算,因此使设计工作量剧增。Hennie(1964)首先提出了把时序电路“复原”的输入序列的问题,但实际并非所有的时序电路都存在这样的“复原”序列。为了比较好地解决时序电路的测试问题,相继提出了逻辑函数的多值模拟法,其中比较成功的有三值、六值和九值布尔模拟。多值布尔模拟中所引入的新的布尔变量,主要是为了解决时序电路中状态变量的初值设置,以及在测试过程中某些元件的未知状态或随意状态的表达问题。目前常见的方法有九值算法、线路-时间方程算法、M0M1算法等。阮根鸿提出H算法也作了有益的尝试,并取得了一定的成果。在研究面向故障的测试矢量生成方法的同时,时序电路的功能测试问题也得到了广泛重视。这种测试方法不考虑电路的结构,而只考虑电路的功能流程,它只检验电路的逻辑功能是否正确,而不考虑电路的定位问题,因此它不能代替一般的测试问题,但在验证因果设计方案和检验生产厂家的产品时是非常有用的。传统的数字电路(芯片、电路板及系统)的逻辑设计与测试是分开进行的,即先设计,后测试,设计阶段不考虑测试问题。然而,随着数字电路的日益复杂,特别是VLSI电路密度的日益增加,数字电路的测试问题日趋尖锐,测试时间和测试费用日趋提高,甚至达到无法测试的地步,影响了微电子技术的进一步发展。为了有效开发电路,降低电路测试费用,数字电路必须设计成可测试的。这就要求在电路设计阶段考虑测试问题,或者说必须进行数字电路的可测试性设计。随着微电子技术和数字技术的飞速发展,数字电路的可测试性技术近几年来越来越引起电路设计者的重视,这门技术本身也得到了迅速发展。数字电路可测试性技术可分为两大类:为解决某些具体电路的测试而提出的专用方法,如增加电路板的外部测试点、把大电路划分成小电路等通用技术,称为结构方法(structuredapproaches)。这些方法增加某些电路或改变电路结构使测试变得容易,目前较为流行的有扫描通路法(ScanPath)、随机存取扫描法(Random-AccessScan)、电平敏化扫描设计法(Level-SensitiveScanDesign,简称为LSSD)、内在逻辑块观察法(Built-InLogic-BlockObservation)和串行荫蔽寄存器法(SerialShadowRegister)等。为了彻底解决数字电路的测试问题,目前还发展了内建自测试(Built-InSelf-Test)技术。数字电路的可测试性有多种定义,其中之一是:若能对一电路产生、评价并施加一组测试图形,并在预定的测试时间和测试费用范围内达到预定的故障检测和故障定位的要求,则说该电路是可测的。可测试性包括可控制性(controllability)和可观察性(observability)两种特性。可控制性是指通过原始输入置电路内部的逻辑点为逻辑“1”和逻辑“0”的能力,可观察性是指通过原始输出观察电路内部逻辑节点的响应能力。数字信号测试作为VLSI芯片测试的基础,已经是一项应用十分广泛的技术。各个EDA供应商、ATE供应商都有着十分成熟的解决方案,包括功能测试仿真向量的产生,转换和实际测试操作,以及芯片的AC/DC参数测试。作为高速信号测试的基础和芯片测试的基石,我们将在本文中介绍通用的数字信号测试技术、难点和各种解决方案,为下一次文章介绍的高速信号测试抛砖引玉。数字信号测试中最基本的是功能测试,也就是模拟芯片在实际工作中的状态,输入一系列的信号,在输出端检测输出信号是否和预测的正常输出相符。以最简单的存储器单元为例,输入时钟、写信号、地址、数据,然后再输入读信号、地址,最后在输出端观察输出的数据是否正确。要将功能测试实际应用在ATE上,需要首先有正确的功能仿真测试向量(包括输入向量和希望的输出向量),然后转换为ATE的测试程序。运行程序时,测试通道向芯片发出驱动波形,比较实际输出向量和希望的输出向量,得出Pass/Fail的结果。随着VLSI的规模越来越大,内部的功能越来越复杂,功能测试也越来越复杂,其带来的结果是测试向量深度的增加。一颗芯片的测试程序通常会有许多个功能测试向量,以模拟不同的工作状态,测试不同的功能模块。这些向量都会被加载在测试向量内存中,以顺序或并发方式被执行。在实际生产过程中,由于内存大小限制,加载一段向量,测试一段向量,再加载一段向量的做法会使测试成本大为增加,所以大小合适并且可以很容易升级的是衡量ATE系统的一个重要指标。随着DFT扫描测试的应用,许多芯片测试要求的向量深度已经超过20M,有些甚至达到100M。功能测试日趋复杂带来的另一个问题就是调试的困难。最直接简便的调试方法莫如将实际得到的波形与预期波形进行比较,以确定问题的状况,找出原由。下图所示的就是在SmarTest软件中的TimingDiagram工具。在这个页面中我们可以看到上部的5个输入波形(包括一个pingroup输入的数据)和7个输出管脚的波形。这里的每个波形都是测试通道实际在我们选择的10个cycle中得到的波形,包括每个比较沿和每个脉冲的上升、下降沿的形状,并且可以对时刻、输出电压进行测量。通过这样的波形与预期波形,甚至EDA工具的仿真波形比较,就可以得出是逻辑错误、电气特性问题或其他原因导致的功能测试失败。随着SOC设计的日益推广,越来越多不同速度的IP被集成到同一颗芯片中。从高速的PCIExpress,USB2.0到基本的SDRAM,PCI,测试一颗包含从33Mbps到2.5Gbps如此大速度范围的芯片对ATE提出了从功能到成本的一系列要求,也带来了从硬件到软件的一系列挑战。在硬件上要求每一个通道都能测试如此大的速度范围必然带来昂贵的测试成本,所以比较好的解决方法就是根据芯片的要求灵活的配置机台,高速、低速测试通道可以存在于同一平台上,做到channelmixing。在软件上,不同IP的时钟频率不同,为了方便调试、节省测试向量内存,可以采用multi-port的技术,针对不同的port采用不同的时钟频率进行转换、测试,同时也可以与其他ports一同进行并行测试(concurrenttest)。数字信号芯片的DC参数测试主要是测量芯片管脚的电气特性。常用的测试项目包括:连接性、输入漏电、高阻抗漏电、输出电流电压等。以常用的输出电压为例,它主要测试管脚的带负载能力。在输出为低时,灌入电流,测量输出电压。随着灌入电流的提高,输出电压也会提高。是否能在一定的负载(灌入电流)下,输出电压保持在一定的范围内,可以衡量这个管脚的电气特性是否合格。如果要同时测量多个输出管脚的电气特性,需要两个条件:合适的功能测试向量将这些输出管脚同时设置到一定的输出状态;每个输出管脚对应的测试通道都有独立的驱动、测试能力或者PMU(parametricmeasurementunit)。数字信号芯片的测试除了上述的功能测试、DC参数测试外还有AC参数、功耗测试等种种项目,这些内容将在之后的文章中介绍。几乎所有VLSI芯片的测试都离不开数字信号测试,所以尽管数字信号测试已经十分成熟,但仍是学习芯片测试的基础。近几年来我国集成电路产业如雨后春笋般蓬勃发展,各地纷纷建立集成电路设计中心,国家也出台了一系列有利于集成电路产业发展的政策。相应的,与设计密切相关的测试技术日益受到重视。国际上著名的测试仪厂商Agilent、Schlumberger、Teradyne等的主流测试仪已经或正在向国内引进。提供测试支持的企业和公司在北京、上海等地也逐渐多了起来。如今越来越多的中国人深刻感受到国外电子产业早就建立的根深蒂固的观念:在芯片设计、验证和投入市场等各个阶段,测试发挥着关键性的、必不可少的作用。目前,中科院计算所芯片设计项目的发展也已经对测试提出了迫切的需求
本文标题:VLSI测试与可测性设计
链接地址:https://www.777doc.com/doc-7322046 .html