0 引言
随着集成芯片功能的增强和集成规模的不断扩大,芯片的测试变得越来越困难,测试费用往往比设计费用还要高,测试成本已成为产品开发成本的重要组成部分,测试时间的长短也直接影响到产品上市时间进而影响经济效益。为了使测试成本保持在合理的限度内,最有效的方法是在芯片设计时采用可测性设计(DFT)技术。可测性设计是对电路的结构进行调整,提高电路的可测性即可控制性和可观察性。集成芯片测试之所以困难,有两个重要原因:(1)芯片集成度高,芯片外引脚与内部晶体管比数低,使芯片的可控性和可观察性降低;(2) 芯片内部状态复杂,对状态的设置也非常困难。
解决芯片测试的最根本途径是改变设计方法:在集成电路设计的初级阶段就将可测性作为设计目标之一,而不是单纯考虑电路功能、性能和芯片面积。实际上可测性设计就是通过增加对电路中的信号的可控性和可观性以便及时、经济的产生一个成功的测试程序,完成对芯片的测试工作。
可测性设计的质量可以用5个标准进行衡量:故障覆盖率、面积消耗、性能影响、测试时间、测试费用。如何进行可行的可测性设计,使故障覆盖率高,面积占用少,尽量少的性能影响,测试费用低,测试时间短,已成为解决集成电路测试问题的关键。
1 扫描设计
1.1 简介
扫描设计是一种应用最为广泛的可测性设计技术,测试时能够获得很高的故障覆盖率。设计时将电路中的时序元件转化成为可控制和可观测的单元,这些时序元件连接成一个或多个移位寄存器(又称扫描链)。这些扫描链可以通过控制扫描输入来置成特定状态,并且扫描链的内容可以由输出端移出。
假设电路中的时序元件是由图1 (a)所示的D触发器组成,寄存器变化法就是将此D触发器转化成图1(b)所示的具有扫描功能的触发器。从图中可以看出扫描触发器主要是在原触发器的D输入端增加了一个多路选择器,通过扫描控制信号(Scan—enable)来选择触发器的输入数据是正常工作时的输入信号(D)还是测试扫描数据(Scan—in)。
扫描设计就是利用经过变化的扫描触发器连接成一个或多个移位寄存器,即扫描链。图2为扫描设计的基本结构。这样的设计将电路主要分成两部分:扫描链与组合部分(全扫描设计)或部分时序电路(部分扫描设计),很明显的降低了测试向量生成的复杂度。
1.2 扫描测试过程
在移位寄存器状态下,第一个触发器可以直接由初级输入端置为特定值,最后一个触发器可以在初级输出直接观察到。因此,就可以通过移位寄存器的移位功能将电路置为任意需要的初始状态,并且移位寄存器的任一内部状态可以移出到初级输出端,进行观察,即达到了可控制和可观察的目的。此时,每一个触发器的输入都可以看作是一个初级输入,输出可以看作一个初级输出,电路的测试生成问题就转化成一个组合电路的测试生成问题。
电路的测试过程可以分成以下的步骤: