|
发表于 2006-12-6 17:17:08
|
显示全部楼层
在这里转贴了一个关于DFT(可测试性设计)综述文章,希望对你有所帮助。
VLSI 测试综述(非常详细后面列了很多文献可以深入了解)
李 华 伟
摘 要 本文在综述基本的VLSI测试方法和可测试性设计技术的基础上,对基于核的片上系统的可测试性设计和测试方法进行简单介绍。最后,通过分析集成电路设计和制造工艺的发展给测试带来的影响,展望VLSI/SOC测试技术的发展方向。
关键词 VLSI,SOC,测试,可测试性设计
1 电子产品实现过程中的测试问题
有句古老的格言说:“是人就会犯错误。”为了让不“完美”的人制造出相对“完美”的产品来,就有了“测试”的概念,它被广泛地应用于人类的生产活动中。电子测试技术,就是应电子产品设计和制造的需求而产生和发展起来的、有着四十多年历史的一个应用科学领域。电子产品从质量和经济两个方面受益于测试技术的发展和应用。质量和经济实际上是一个产品不可分割的两个属性。最优化(optimized)的质量,意味着以最小的成本满足了用户的需求。一个好的测试过程能够在次品到达用户手中之前把它们淘汰出来。生产这些次品的费用往往会被转嫁到好产品的出售价格中,如果次品太多,那么少数好产品的价格就会过于昂贵。如果一个电子产品的设计工程师不能深刻理解产品的制造和测试过程背后的物理原理,很难想象他能设计出高质量的产品来。
一个电子产品的设计是从确定用户需求开始的,用户需求来自于某项特殊应用需要完成的功能。根据用户需求书写产品规范,它一般包括以下内容:功能定义(输入输出特征)、操作特征(功耗、频率、噪声等)、物理特征(例如封装)、环境特征(温度、湿度、可靠性等)以及其他特征(成本、价格等)。有了详细的功能规范,就可以开始具体的设计了,它也分为几个阶段。第一个阶段是体系结构设计,即为实现目标功能制定一个由若干可实现的功能块构成的系统级结构。第二个阶段称为逻辑设计,进一步将各功能块分解成逻辑门。最后是物理设计,用物理器件(例如晶体管)来实现逻辑门,产生一个芯片版图。物理版图被转化成光掩模,送到硅片制造生产线上加工成芯片。在加工过程中,材料的不纯和缺陷、设备的不完善以及人为的失误等等都是引起故障的原因,因此芯片制造出来后的生产测试是必不可少的。测试的另一个重要功能是制造过程诊断(process diagnosis)。对每个故障芯片,必须分析引起故障的原因是由于制造过程的问题、还是设计或者测试本身的问题、甚至可能一开始制定规范时就有问题。对故障芯片的分析称为失效模式分析(failure mode analysis,简称FMA),可以有许多不同的测试手段,包括使用光电显微镜检查确定失效原因以改进工艺过程。
图1是一个现实的超大规模集成电路(Very Large Scale Integration,简称VLSI)芯片实现过程,不同阶段之间的虚线表明了所涉及到的测试内容。对用户需求和功能规范的测试通常称为“审查”,对设计过程的测试称为“设计验证”,对制造过程的测试就是集成电路领域常说的“测试”,也是本文所采用的测试的含义。传统的测试方法是使用自动测试设备(Automatic Test Equipment,简称ATE或测试仪)对被测芯片施加测试向量,捕获芯片的输出结果与预期的正确结果进行比较,以判断芯片中是否存在某一类型的故障。
但是,测试并不是等芯片制造出来才考虑的问题,特别是对一个复杂的系统,在设计过程中就必须考虑是否能够开发出检测所有故障的测试集,测试开发的时间和难易程度,对每个芯片进行测试的成本等问题。这些问题与设计本身的特点密切相关。因此,设计和测试开发,是在图1中“书写功能规范”之后、“加工制造”之前的一个紧密结合的过程。测试方法的选择在设计中直接体现为可测试性设计(Design For Testability,简称DFT),可测试性设计已经成为一个现代数字系统设计中必不可少的成分,由于它对设计本身增加了硬件开销,也会在不同程度上影响系统的性能,因此必须慎重考虑。
本文拟简单介绍基本的VLSI测试方法和可测试性设计技术,对基于核的片上系统(System-On-a-Chip,简称SOC)的可测试性设计和测试方法只是略微涉及。有兴趣的读者可以阅读本文提供的参考文献。本文最后将通过分析集成电路设计和制造工艺的发展给测试带来的影响,试图对VLSI/SOC测试技术的发展方向进行展望。
2 基本的VLSI测试技术和方法
根据测试对象,可以把测试分为功能测试和结构测试两大类。
功能测试针对电路实现的功能进行测试,往往需要大量的测试数据,例如一个10输入的与门,它的完全的功能测试需要210个测试向量。何况大多数现代电路的规模非常大。因此在芯片测试时如果使用功能测试会使得测试成本难以承受。此外,对一个复杂的功能,如果不用穷尽测试,其测试效果难以衡量。但是功能测试在设计验证时非常必要。由于设计验证不是本文关注的内容,所以本文将不讨论功能测试。
在假定设计正确的情况下,测试只考虑制造过程中引进的缺陷。结构测试基于电路的结构(门的类型、连线、网表等)进行测试,通过芯片的输出管脚观察内部信号的状态。它的最大好处是可以开发各种测试产生算法自动地对电路产生测试向量,并且能够有效地评估测试效果。本节介绍结构测试涉及的基本概念和方法。
2.1 故障模型
结构测试一般需要基于一定的故障模型。这是因为,电路中可能存在的物理缺陷具有多样性[1-4]。并且,由于某些物理缺陷对电路功能的影响过于复杂,不能充分为人所理解,分析的难度很大[5]。而故障模型中的一个逻辑故障可以描述多种物理缺陷的行为,从而回避了对物理缺陷分析的复杂度。此外,大多数故障模型是独立于集成电路制造技术的,制造工艺的发展并不会使得基于这些故障模型的测试和故障诊断方法失效。当然,随着制造工艺的发展,物理缺陷将变得更加复杂,将使得原有的故障模型不再像过去那么有效了,这时需要定义新的故障模型来更精确地描述各种复杂的物理缺陷的行为。
故障的模型化与电路的模型化密切相关,因此对应于不同的设计层次可以有不同的故障模型。行为级(behavioral level)又称为高级(high level)的电路描述主要涉及电路功能而很少涉及硬件实现方面的细节,因此行为级的故障模型更多地用于基于模拟的设计验证。存储器的行为故障是一个例外,这是因为存储器的功能非常简单,在生产测试时穷尽的功能测试是可能的。后文将简单介绍存储器测试技术。
寄存器传输级(Register Transfer Level,简称RTL)的电路描述包含结构化的电路信息,门级的电路描述包含更详细的门级网表,在这两个层次常用的故障模型是固定型故障(Stuck Fault,简称SF)模型。固定型故障是在VLSI测试中使用最早和最普遍的故障模型,它假定电路中某个信号永久地固定为逻辑0或逻辑1,可以用来表征各种不同的物理缺陷[6]。后文对可测试性分析技术和测试产生技术的介绍都是基于固定型故障模型的。此外,刻画信号短路现象的桥接故障(bridging fault)和刻画电路延迟失效行为的时延故障(delay fault)也是在寄存器传输级和门级常使用的故障模型。后文将对时延故障和时延测试方法简单介绍。
晶体管级的故障模型有固定开路故障(stuck open fault)和固定短路故障(stuck short fault)等。其他低层的故障还有模拟电路测试中使用的组件级故障(component level fault)等。这些故障通常是与工艺相关的,随着制造工艺的发展,需要定义新的故障来更精确地模型化各种复杂的物理缺陷。
也有一些故障模型与设计层次没有一定关系,但是可以用来表示其他故障模型所不能表示的物理缺陷。静态电流(quiescent current,又称IDDQ)缺陷就是这样一种典型的故障模型,后文将对IDDQ测试进行简单介绍。
2.2 可测试性分析
电路的可测试性(testability)包含两个方面:电路中信号的可控制性(controllability)和可观测性(observability)。信号的可控制性指将该信号设置成0或者1的难度,信号的可观测性是指观察这个信号的状态的难度。这两个概念对电路测试非常重要。尽管电子束(electron beam)测试是可以扫描芯片获得内部信号的状态的,但这种测试非常昂贵,只有在特殊需要时才会使用。因此,对内部信号的置值必须通过设置电路的原始输入(Primary Input,简称PI)完成,同样,观察内部信号的状态也必须通过将要观察的信号传播到原始输出(Primary Output,简称PO)。
可测试性分析技术对自动测试向量产生(Automatic Test Pattern Generation,简称ATPG)算法有重要的意义。在测试产生过程中,当需要寻找一条从PI到当前信号线的通路、以便控制当前信号线取某个信号值(0或1)时,需要根据信号线的可控制性进行优先选择;同样,当需要寻找一条从当前信号线到PO的通路、以便观测当前信号线的状态时,需要根据信号线的可观测性进行优先选择。可测试性分析技术最好具有对电路的拓扑结构进行静态分析(不需要测试向量)和线性复杂度分析两种特性,否则直接使用自动测试产生和故障模拟技术就可以了。
Goldstein发明了SCOAP可测试性度量的方法[7],该方法具有线性复杂度。他为每个信号定义了单独的0可控制性和1可控制性,分别刻画将一个信号线设置成0和1的难度。SCOAP有一个重大的缺陷,就是没有考虑重汇聚的扇出分支上信号之间的依赖性,因此导致分析的不精确性。如图2所示,PI2扇出的3个分支在或门的输入端汇聚得到输出PO1,很显然或门的3个输入的可控制性是相互影响的,而SCOAP没有考虑这种影响。因此,SCOAP在预言每个独立信号是否可测方面能力较弱,但是它在预言整个电路可以达到的故障覆盖率方面非常有效[8]。SCOAP使用的可测试性度量范围从0到无穷大,较大的值意味着可测试性较差。
其他类型的可测试性度量是基于信号取值的概率的,在一定程度上弥补了SCOAP的缺陷。例如,使用随机向量获得某根信号线被设置成0(或1)的概率,得到0可控制性(或1可控制性)。门级的可测试性度量技术已经发展得非常成熟,有兴趣的读者可参考文献[9-11]。
此外,行为级和RTL可测试性分析技术可以用于电路的自动可测试性综合。文献[12]使用数据流图(Data Flow Graph,简称DFG)来分析电路的可测试性。DFG中,每个节点表示一个寄存器,每条边表示连接两个寄存器的组合电路功能模块、或者到寄存器的原始输入以及寄存器连接的原始输出端口。DFG在寄存器传输级的可测试性分析和测试产生技术中广泛使用。
2.3 测试产生
前文已经提到了ATPG,它是产生测试一个电路所需要的输入激励的过程。ATPG算法除了用于产生测试向量以外,还可以识别电路的冗余(或不必要的)逻辑,可以证明两种电路实现是否等价[13]。基于一种有效的故障模型产生测试序列是确定性测试产生(deterministic test pattern generation)的基础。任何一种确定性的测试产生算法,对于在一种给定故障模型下电路的每个故障,都必须解决两个问题:
ü 激励故障。即在故障点产生一个与故障值相反的值。
ü 传播故障。即将故障点的值传播到电路的原始输出。
故障激励的过程称为控制,对故障点取值的可控制性将影响故障激励的难度。故障效应传播的过程称为敏化,故障点取值的可观测性将影响故障传播的难度。如果一个测试激励了被测电路中的一个故障并且将其故障效应传播到了电路的原始输出,则称该测试覆盖了这个故障。在ATPG过程中,每找到一个测试,都要搜索该测试所能覆盖的所有特定类型的故障,这个过程称为故障模拟。一个测试序列(或测试集)的故障覆盖率一般指该测试序列(或测试集)所能检测的故障数与电路中所有该类型故障的总数的比值,它是度量一个测试序列(或测试集)的好坏的标准。不可测的故障与电路的冗余逻辑密切相关。
前文已经提到,门级的固定型故障是应用最广泛的一种故障模型。这一方面是由于针对门级固定型故障的测试产生容易实现;而更主要的原因是,基于门级固定型故障产生的测试序列可以有效地检测出实际电路中可能存在的各种物理缺陷。也正是由于这个原因,门级单固定型故障的覆盖率常用来评价一个测试序列的有效性。门级测试产生算法的研究已经非常成熟。二十世纪六十年代提出的D算法是一种经典的测试产生算法[14-15]。二十世纪八十年代,文[16] 提出了PODEM(Path-Oriented Decision Making)算法,采用分支限界法来搜索输入向量空间,相对于D算法大大提高了搜索的速度,可对较大电路产生测试。紧接着文[17]提出的FAN(Fanout-Oriented TG)算法又成功地扩展了PODEM算法,引入“头线(Head Line)”和“多路回退(Multiple Backtrace)”的概念来加速搜索过程,其效率相对于PODEM算法又大大提高了,FAN算法因此也成为国际上公认的比较有效的测试产生算法。其后,人们在门级测试产生的算法优化方面又做了孜孜不倦的努力,实现了一系列的门级自动测试产生系统 [18-21]。HITEC[21]是二十世纪九十年代出现的一个比较成熟的门级时序电路ATPG系统,HITEC以其良好的处理能力和性能而得到了广泛的认可和应用。到了二十世纪末,文[22]推出了一个计算效率更高的门级组合电路ATPG系统,处理大规模IC的能力比HITEC又提高了。
中科院计算所在测试产生方面有长期的研究积累。魏道政研究员1982年提出了简化D算法的主路径敏化法[23];闵应骅研究员1988年前后提出了可编程逻辑阵列(PLA)的完全测试集[24],在国际上被称为“闵方法”,得到国际公认和引用;1990年当时读博士的李忠诚研究员在国内首先实现了FAN算法,其后又改进了该算法的效率实现了SABATPG测试产生系统[25]。
人们在电路的高层描述作测试产生时,一般也依赖于一定的功能故障模型,不幸的是,高层的故障模型很难和电路的物理缺陷对应起来,因此人们在高层产生测试序列后,一般回到门级单固定型故障模型来评价它的好坏。
RTL层次化测试产生[26-27]利用一个设计的RTL结构信息来加速测试产生。一般做法是将大电路划分成若干小的功能模块,对每个功能模块在门级产生单固定型故障的局部测试,然后在寄存器传输级将局部测试翻译成全局测试,来达到从电路的原始输入测试各功能模块的目的。如图3所示。其难点在于如何将局部测试翻译成全局测试,使用完全功能空间的翻译将非常复杂。
除了以故障覆盖率作为测试序列有效性的度量尺度外,也可以直接定义某种反映故障覆盖率的度量策略(而不是故障本身),用这种度量策略来衡量测试序列的优劣。人们在针对电路的行为级描述作测试产生时往往采取这种办法。这在一定程度上也是由于电路的行为级描述是以程序方式表述的,对它的测试更类似于软件测试,很难针对行为级描述定义反映电路物理缺陷的有效模型。目前,针对电路的RTL行为描述的测试产生采用的度量策略多为软件测试中的语句覆盖、条件覆盖、分支覆盖、判定覆盖、条件判定组合覆盖、甚至路径覆盖等[28]。不同的覆盖规则反映了不同的测试强度,相应地在门级单固定型故障模型体现出一定的故障覆盖率。
我们在这方面的研究工作是:将门级测试产生的思想应用于行为级,提出了两种行为级故障模型:数据传输故障[29]和行为阶段转换故障[30],在测试产生的计算效率方面较门级ATPG算法有较大的提高。
自1999年国际测试会议(ITC’99)推出行为级和RTL的基准电路以来,行为级和RTL测试产生算法的研究应电路设计发展的需要而成为研究的热点。2000年,中科院计算所闵应骅研究员倡导并发起了IEEE“寄存器传输级测试产生和可测试性设计学术研讨会”(Workshop on RTL ATPG and DFT,简称WRTLT),第一届WRTLT于2000年10月在我国长沙召开,得到亚洲地区测试领域专家学者的响应。目前,WRTLT已分别在中国、日本、美国关岛召开3届,参会者已扩大到来自美国、欧洲的许多专家学者。为了适应研究高层测试技术的需要,会议名称改为“寄存器传输与高层测试学术研讨会”(Workshop on RTL and High Level Testing)。WRTLT 2003将由中科院计算所主要承办、2003年11月在我国西安召开。
2.4 时延测试
电路中的传输延迟一直是限制数字系统时钟频率提高的关键因素。对于高频工作的电路,任何细小的制造缺陷都可能引入不正确的延时,导致它无法在给定工作频率下正常工作,因此,以确保数字电路时间特性的正确性为目标的时延测试一直是测试领域的热点问题。一个完全的时延测试要求能验证被测电路中任何通路的传输延迟不超过系统时钟周期。
时延故障的概念最早是由M. A. Breuer在文[31]中提出的,时延故障的存在导致在某些输入下,电路的一个或多个原始输出在给定时间限制内得不到正确响应。时延故障的测试向量一般采用双向量模式<V1,V2>,其中V1用来初始化电路中各点的状态;V2则用来产生需要的跳变来激发相应的时延故障。图4给出了时延测试的硬件模型[32]。时钟c1,c2分别为输入锁存器和输出锁存器的输入时钟,中间的组合网络为待测电路。假定测试向量对为T=<V1,V2>。时钟c1在t0时刻将输入向量V1送入被测组合电路,等待充分长时间以使电路的各点状态稳定,然后在t1时刻输入V2。如果电路的工作时钟周期为τ,则在t2= t1+τ时刻由时钟c2将组合网络的输出锁存到输出锁存器中。将输出的状态和预期的逻辑值比较可判断被测电路中是否存在时延故障。对时延测试的研究一般基于两种时延故障模型[33]:门时延故障模型(gate delay fault model)和通路时延故障模型(path delay fault model)。通路时延故障模型比门时延故障模型更一般化,有利于处理分布时延故障,因此使用更普遍。
不同测试产生约束下产生的测试检测故障的能力不同。一条通路在某种测试产生约束下存在测试,则称其在这种测试产生约束下是可测的或可敏化的。几种常用的测试产生约束有强键测试[34]、非强键测试、有效非强键测试[35]、功能可敏化(functional sensitizable)[36]通路等。只有存在两个或两以上的通路时延故障时,功能可敏化的通路才可能影响电路的正常工作。功能不可敏化的通路称为功能冗余(functional redundant)[37]通路,信号不可能沿这类通路传播到原始输出,因此不需要对它们产生测试。
可以将电路中的通路按照其可测试性进行分类,各类相互之间的包含关系如图5所示。根据这个分类,人们对电路进行通路时延测试时,总是尽可能采用强键测试和有效非强键测试。而非强键测试的测试产生约束比较简单,在单故障假设下非常有效。如果需要进一步提高故障覆盖率,还可以考虑功能可敏化的通路。
前面所谈的测试产生约束都不考虑电路的时间延迟分配。在考虑电路的时延分配的情况下,闵应骅研究员提出了基于布尔过程的波形敏化概念[38],为电路及其时延分配提供了一种解析表示,即关于输入波形的波形多项式。波形敏化使用波形多项式来表示从输入波形到输出波形的变换关系。波形多项式是一种用实数运算的加、减、乘连接起来的一个包含时延运算的波形的表达式。波形的极限概念精确地反映了电路中的通路敏化,因而比传统的通路敏化概念更接近实际,使得电路中可测的通路数大大增加了。研究结果表明,对电路中大部分通路都可以产生波形敏化的测试向量,这些通路称为波形可敏化的。使用波形敏化有效地提高了测试的故障覆盖率。一条强键可测的通路并非一定是波形可敏化的,波形可敏化通路集合与不考虑时延分配的通路分类(图5)没有明显的关系,除了包含单通路可敏化通路集合外,它与其它各集合都相交,并且包含了电路中大部分的通路,如图5阴影部分所示。
使用通路时延故障模型所面临的一个严重问题是:电路的总通路数将随着电路的大小按指数率增长,试图测试电路中的每一条通路是不现实的。必须选择所有通路的一个子集合进行通路时延测试。如果对通路的选择不适当,将成为通路时延测试的瓶颈。为了在精简通路集的同时保证检测电路中所有时延故障,可将对单通路时延故障性质的研究扩展到由多条通路构成的通路子集,如强键依赖集(robust-dependent path delay fault set) [39]、基本通路集(primitive path set)[40]等,通过识别出电路中的部分延迟依赖于其他通路的通路,从而不需要对这些通路进行时延测试。
中科院计算所在时延测试的通路精简方面也进行了一系列的研究。李忠诚研究员提出了一种识别非强健不可测的通路时延故障的方法,作为时延测试产生的预处理非常有效[41]。我们还提出了可变双观测点的时延测试方法[42],该方法基于一种不同于图4的时延测试的硬件模型:可变双观测点的时延测试模型,使用波形敏化作为时延测试产生约束,通过对部分通路进行精确测量或者采样来精简所需测试的通路集。可变观测点的时延测试所需测试的通路数与电路大小保持线性增长率,从而大大地减少了需要测试的通路数。其代价是对于每个测试,需要检测一条通路的延时是否在以它的正常延时为中心的一个小区间内,因而对测试仪的精度提出了很高的要求。
2.5 IDDQ测试
IDDQ指静态电源电流,正常情况下CMOS电路的静态电流非常低,因而一个异常高的静态电流暗示着制造的缺陷。例如,当电路中的桥接故障或漏电流故障被激活时,在电源和地之间提供了一条导通的通路,导致静态电流大幅度提升。
芯片制造过程中,50%的缺陷可以映射成桥接故障,因此IDDQ测试在检测故障时被证明非常有效。但是,由于测试应用时间很长,需要对IDDQ测试集进行有效的压缩。从经济的角度考虑,IDDQ测试对高可靠的应用芯片很重要,在大量的低成本的应用芯片中则不一定要使用。
关于IDDQ测试的测试向量产生,既可以针对一定的故障模型,又可以从已有的测试固定型故障的测试集中有针对性地选择一部分用于IDDQ测试。文[43]使用遗传算法对桥接故障进行测试产生,在故障检测和诊断过程中非常有效。
确定区分静态电流是否正常的分界线是IDDQ测试的关键问题。随着半导体工艺向更小特征尺寸、更高频、密度更高的趋势发展,电路的漏电流大大地增加了,很难确定一个有效的分界线,IDDQ测试的有效性因此受到挑战。可以使用的对策有:降低测试的温度、临时地调高晶体管的阈值电压等。使用内嵌电流传感器(build-in current sensor)[44]是另一种有效的解决方案,固定数目的晶体管配上固定数目的传感器,电路规模越大,传感器越多。内嵌电流传感器还可以解决IDDQ测试的测试应用时间和需要特殊测试仪的问题,降低测试成本。
2.6 存储器测试
一个现代工作站可能会有1G以上字节的DRAM存储器,假定每一比特一个晶体管,就相当于8´109个晶体管,比整个系统中其余部分的晶体管数要高出2个数量级。可见存储器测试在系统测试中有多么重要。
存储器中最常见的物理缺陷的故障模型有:
固定型故障(Stuck-At Fault,简称SAF)——存储单元的值固定为0或固定为1(SA1, <"/1>),无法发生变化。
开路故障(Stuck-Open Fault,简称SOF)——由于断线等原因导致某存储单元无法被访问到。
跳变故障(Transition Fault,简称TF)——存储单元在写入与当前内容不同的值时无法在期望的时间内完成0→1跳变或1→0跳变。这种故障可以看作是固定型故障的特例,但不能用固定型故障来模型化,因为当该故障单元同时与其它单元存在组合故障(见下文)时,它可能会在组合故障被激活时完成上述不能完成的跳变[45]。
数据维持故障(Data Retention Fault,简称DRF)——存储单元在一段时间后无法维持它的逻辑值[46]。
耦合故障(Coupling Fault, CF)——是指某些存储单元的跳变导致其它存储单元的逻辑值发生非预期的变化,情况比较复杂一些。限于两个存储单元之间的耦合故障称双耦合故障, 多个存储单元之间的耦合故障称k-耦合故障。k-耦合故障的测试非常复杂,一般要对耦合单元的位置做一些限制[47]。
地址译码故障(Address Decoder Fault,简称AF)——有四种情况:某地址不能访问任何单元;某单元无法被任何地址访问;某地址可以同时访问多个单元;某单元可被多个地址访问到。
步进测试(March test)是测试存储器故障最有效的方法。最重要的步进测试算法[47]有MATS+、March C、-March A、March B等,它们分别对SAF、AF、TF、CF故障有不同的检测能力,此外还有专门检测SOF、DRF的算法。
2.7 模拟和混合信号电路测试
文[48]将模拟测试和数字测试进行了比较。
首先,电路规模对模拟测试不是问题。模拟电路通常最多就50到100个器件,不像数字电路很容易就达到百万晶体管的规模。
第二,模拟电路的模型化远远难于数字电路。造成模拟电路模型化困难的原因体现在:没有广泛接受的故障模型;没有有限的信号范围;模型的精度在模拟电路故障模拟过程中非常关键;模拟电路有噪音,必须模型化和加以测试;由于ATE管脚的负载、阻抗和随机噪音,测量错误容易发生;模拟电路的信息流没有单一的方向等。
第三,模拟电路的不可分解性。与数字电路不同,模拟电路的子组件无法单独测试。
第四,模拟电路中很难实现测试总线。将一个模拟信号运送到输出管脚可能会改变这个信号以及电路的功能。在测试时重新配置模拟电路通常是不可接受的。
第五,在测试方法上,由于缺少广泛接受的故障模型和结构模拟故障与模拟规范之间的映射关系,结构模拟ATPG使用的并不广泛。反过来,在数字电路测试中很少使用的功能测试,因为不需要故障模型,在模拟测试中却经常使用。另一方面,数字电路的逻辑功能(对应于固定型故障)和性能(对应于通路时延故障)可以分开进行测试,而模拟电路测试中功能和性能测试是无法分离的。
当前的模拟测试大多数依赖于基于数字信号处理(Digital Signal Processing,简称DSP)的模拟测试仪,这种测试仪在精度、速度、可操作性和功耗等方面都优于传统的模拟ATE,但是仍然很昂贵,并且要求测试工程师了解每个测试、测试错误源、被测设备错误源的物理和数学原理。
模拟电路故障模型和ATPG已经开始在工业界得到有限地接受。使用故障模型的好处在于减少测试激励的数目,获得故障覆盖率的计算,在降低测试成本和评估测试效果方面很有吸引力。不断增加的测试成本正是目前混合信号电路面临的越来越突出的问题。
3 可测试性设计技术简介
可测试性设计是芯片设计的重要环节,它通过在芯片原始设计中插入各种用于提高芯片可测试性的硬件逻辑,从而使芯片变得容易测试,大幅度节省芯片测试的成本。目前比较成熟的可测试性设计技术主要有扫描设计、边界扫描设计、内建自测试(Build In Self Test,简称BIST)等。可测试性设计对原始设计的修改必须在不改变原始设计功能的前提下进行。下面介绍几种常用的DFT技术。
3.1 扫描设计
时序电路可以模型化为一个组合网络和一组带记忆元件(触发器)的反馈,如图6中实线所示。这些记忆元件的取值体现了电路的状态,但由于很难控制或观测它们的取值,所以对时序电路产生测试很困难。内部扫描就是把这些记忆元件修改为扫描触发器,并连接成为扫描链(相当于可以移位的寄存器),扫描链的输入在芯片管脚可控,其输出在管脚可观测,从而达到对记忆元件的取值进行控制和观测的目的。如图6中虚线所示。通过扫描输入口,可以把需要的数据串行地移位到扫描链中相应的单元,即可以串行地控制它们;同样,通过扫描输出口,可以串行地观测它们。这样一来,所有被扫描的记忆单元既可以看作测试数据的输入(称为伪输入),也可以看作测试响应的输出(称为伪输出),进行内部扫描设计后的时序电路的测试可以参照组合电路测试的方式来进行。
最基本的扫描触发器由一个D触发器和一个多路选择器MUX组成,如图7所示。也就是对被扫描的触发器添加一个多路选择器,以及相应的扫描输入信号SD和扫描使能信号SE。当SE=0时,电路工作在正常模式下,原来的数据输入D被存入D触发器;当SE=1时,电路工作在扫描模式下,扫描输入SD被存入D触发器。通常,通过将前一个扫描触发器的数据输出Q链到后一个扫描触发器的扫描输入SD,所有扫描触发器链成一条或者多条扫描链。对芯片的扫描设计除了需要增加一个扫描使能管脚以外,对每条扫描链,需要增加一个扫描输入管脚SCAN_IN、一个扫描输出管脚SCAN_OUT。如果管脚不够用,可以将扫描输入输出管脚与功能管脚进行复用。
考虑到硬件代价,根据触发器是否被全部地替换成扫描触发器,扫描设计有“全扫描”和“部分扫描”之分。在部分扫描设计中,扫描触发器和非扫描触发器的典型工作方式被设计成:当扫描触发器处于扫描模式时,非扫描触发器保持它的状态不变。由于全部采用扫描测试的测试应用时间很长,用非扫描测试和扫描测试相结合是一种减少测试应用时间的方法,文[49]给出了一个最小化扫描的性能开销的部分扫描设计方法。
3.2 边界扫描设计
边界扫描的目的在于支持在电路板一级对芯片或板上逻辑与连接进行测试、复位和系统调试。边界扫描是指对芯片管脚与核心逻辑之间的连接进行扫描(指串行移位进行控制或观测)。这是因为在电路板一级,一般不能对芯片的管脚直接进行控制或观测,所以要方便存取只有通过扫描。
图8是IEEE 1149.1[50]边界扫描设计的结构示意图。IEEE 1149.1标准是由一个被称为JTAG的工作组制定的,所以通常也称为JTAG标准。它是为支持板上芯片或逻辑的测试而定义的一种国际上通用的芯片边界扫描结构及其测试访问端口规范。边界扫描测试逻辑主要包括TAP(Test Access Port,测试访问端口)控制器、指令寄存器、旁路寄存器、以及边界扫描单元构成的边界扫描链等。
测试访问端口的信号线有:TDI(Test-Data In,测试数据输入)、TDO(Test-Data Out,测试数据输出)、TMS(Test-Mode Select,测试模式选择)、TCK(Test Clock,测试时钟)、和可选的TRST(Test Reset,测试复位)。其中,TMS是关键唯一的控制线;TDI和TDO提供了数据的输入和输出;TCK提供测试时钟;而TRST是可选的,在管脚有限的情况下可将其省略。
除边界扫描链这条特殊的扫描链之外,JTAG还定义了一条特殊的而且是必需的扫描链:旁路寄存器(Bypass,它只有一个扫描单元)。这主要是为了在测试其它芯片的时候,减少扫描链总的长度,因为在板上,各芯片选出的扫描链之间的连接一般是串行的。
边界扫描链可以按需要配置成以下工作模式:正常-采样(normal-sample)、正常-扫描(normal-scan)、正常-预装载(normal-preload)、测试-捕获(test-capture)、测试-扫描(test-scan)、测试-更新(test-update)等。详细描述参见[50]。
3.3 BIST
内建自测试是节省芯片测试时间和测试成本的有效手段。外部测试设备的测试速度以每年12%的幅度增长,而内部芯片速度以每年30%的幅度增长,这一矛盾使得与性能相关的测试越来越困难,进一步推动了BIST的应用。BIST减少了测试对ATE的依赖性,可以为高速电路提供在电路工作时钟频率下的测试,又称为全速测试(at-speed testing),甚至还支持在线的测试,这些特征减少了测试成本,使得更复杂的测试成为可能,并且能帮助提高系统的可靠性和可用性。面积开销、性能代价和对调试的支持是BIST设计要考虑的关键问题。从某种意义上说,BIST是把“测试仪”做到了电路内部,因为它既要对待测电路提供输入的测试向量,又要对其输出的响应产生的特征与期望的特征比较以给出测试通过与否的结果。所不同的是,设计的这个“测试仪”专门为这个待测电路而工作,功能单一固定。例如,它的测试向量产生器(Pattern Generator,简称PG)只能提供预先设计好的测试向量序列(如用伪随机序列发生器产生伪随机的测试向量序列)。
BIST的PG是一个自动有限状态机,它除了时钟输入以外没有其他外部输入。典型的PG是一个线性反馈移位寄存器(Linear Feedback Shift Register,简称LFSR)或者一个细胞自动机(Cellular automata,简称CA)[51]。PG遍历的状态序列成为提供给内部电路的伪随机测试向量,当无法在期望的测试序列长度下获得期望的故障覆盖率时,需要对被测电路加入测试点(可控制点和可观测点),或者定制PG产生更适合的测试向量[52]。
在PG将测试序列送入被测电路后,很显然,一位一位比较期望的输出响应需要使用大量的片内存储单元,这是不切实际的。因此,需要对被测电路的响应进行大幅度地压缩得到一个称为特征(signature)的值,然后把它与无故障电路的响应压缩值进行比较。通常,BIST的响应分析仪(Response Analyzer,简称RA)是通过一个LFSR或者一个多输入特征寄存器(Multiple Input Signature Register,简称MISR)完成的。由于响应压缩的缘故,两个不同电路对一个输入的响应可能是相同的,因此一个故障电路可能被误判成无故障,这种现象称为混叠(aliasing)。一个LFSR/MISR压缩器的混叠概率可以用基于马尔可夫链(Markov Chain)和编码理论的各种错误模型计算出来[53-54]。
BIST方法可以分成两类:test-per-clock BIST和test-per-scan BIST。前者使用并发的PG,每个时钟周期可以施加一个测试向量,因此能够实现全速测试,但它通常需要使用BILBO(Built-In Logic-Block Observer,参见[55])寄存器来替换核心电路的触发器,有较大的硬件开销和面积开销。后者与扫描设计结合在一起,成为scan BIST,它的硬件开销和性能开销都比使用BILBO寄存器要少,但不支持全速测试。
根据需要,BIST测试的电路可以是一个随机逻辑电路(这时BIST称为逻辑BIST),也可以是存储器(这时BIST称为存储器BIST)或其它模拟电路。BIST测试可以基于固定型故障,也可以基于时延故障和其他故障类型。中科院计算所李晓维研究员在BIST方面有长期的研究积累,提出了VLSI自测试高层综合以及时延测试的BIST设计方法[56-57]。
4 SOC测试和基于核的测试结构设计
随着晶体管特征尺寸的降低,芯片密度不断增加,集成一个复杂的系统到一个芯片上已经成为现实。将模拟和数字设备集成到一个芯片上,即降低了成本,又提高了速度,系统级集成即SOC成为芯片设计的趋势。
构成SOC的关键成分是称为“核”或IP(intellectual property)的功能块。核可以分为3类:软核(Soft IP)、固核(Firm IP)、硬核(Hard IP)。软核是可综合的高层或行为描述,缺少实现的细节。固核通常是在结构上已经优化了的网表。硬核是提供版图的完全实现的电路。典型情况下,硬核的提供者也提供了专门的测试集用于核的测试;而软核和固核的测试集则由系统集成者(即SOC设计人员)自己开发。当核被集成到系统内部后,很难通过系统的输入对内部的核施加有效地测试数据,并从系统的输出捕获内部核的响应,因此,SOC测试就成为测试领域一个新的挑战。它主要涉及3个方面的问题:核级的测试、核测试访问、核测试封装(Core Test Wrapper),这3个问题可以体现在图9[58]中。
核级的测试指测试一个单独的核采用的方法,包括使用的DFT技术、产生测试集等,测试的施加既可以使用外部ATE,也可以使用BIST(片内的测试源和测试宿)。为了测试基于核的复杂的芯片,嵌入核的模块级测试必须重新考虑,特别是在设计的早期阶段或较高级(寄存器传输级及其以上)重用的核,必须慎重考虑它们的可测试性设计方案或内嵌测试方案。因此,需要在早期设计阶段考虑测试的质量和测试开销,研究包含嵌入核的可测试性设计的测试结构技术[59-60]。
基于IP核的芯片设计意味着对过去设计的复杂的功能模块进行重复使用。嵌入的核必须能够参与目标芯片设计所期望的芯片级测试约束,并且,对核本身的测试应该能够封装到整个芯片中,其测试结果要与外部的测试方法兼容。尤其是对各种IP核的复杂的内嵌测试技术的使用,测试结构的设计增加了难度。因此,有效的测试资源管理,即合理的测试结构,已经成为SOC测试领域的一个重要课题。基于核的芯片设计的测试结构的设计主要包括3方面的内容:核测试封装设计、测试访问机制(Test Access Mechanisms,简称TAM)设计以及核测试的调度。
核测试封装和TAM的设计对测试硬件开销和测试应用时间有很大影响。主要有三种访问嵌入核的方法。第一种方法是测试总线结构,使用专用总线[61-62]在测试模式下将被测核与其他逻辑隔离开来,传送测试数据。第二种方法则使用边界扫描结构在测试模式下隔离被测核[63-64]。第三种方法使用的是核旁路模式(bypass mode)[65]和透明(transparency)模式[66-68]。TAM设计包括核封装优化、核与TAM的衔接、TAM线的路由、TAM的规模控制等。核测试封装和TAM的协同设计[69]是SOC测试结构的重要研究方向之一。
测试调度[70-72]的目标是在多个测试约束条件下优化测试应用时间。测试调度要考虑TAM的最大访问位宽、不同内嵌核的测试资源共享、并行测试以及测试功耗、测试硬件开销等问题,期望以最少的测试应用时间获得最佳的故障覆盖率,从而节省测试成本[73-74]。
5 VLSI/SOC测试技术展望
近几年来我国集成电路产业如雨后春笋般蓬勃发展,各地纷纷建立集成电路设计中心,国家也出台了一系列有利于集成电路产业发展的政策。相应的,与设计密切相关的测试技术日益受到重视。国际上著名的测试仪厂商Agilent、Schlumberger、Teradyne等的主流测试仪已经或正在向国内引进。提供测试支持的企业和公司在北京、上海等地也逐渐多了起来。如今越来越多的中国人深刻感受到国外电子产业早就建立的根深蒂固的观念:在芯片设计、验证和投入市场等各个阶段,测试发挥着关键性的、必不可少的作用。
目前,中科院计算所芯片设计项目的发展也已经对测试提出了迫切的需求。我所在的中科院计算所信息网络室VLSI测试课题组经过多年的研究积累,有了一支稳定的科研队伍,研究领域跨越从行为级到版图级的测试产生和可测试性设计方法,并涵盖时延测试、线间串扰(crosstalk)测试、低功耗设计和测试、测试压缩、测试调度、形式验证、模拟验证等多个分支。在李晓维研究员的带领下,我们课题组已经承担和正在承担“龙芯”系列芯片、计算所北桥芯片、苏州SOC设计中心、海尔高清晰电视相关芯片等重要的芯片设计项目的设计验证、可测试性设计和芯片验证分析测试方案。
VLSI测试技术的发展必须适应不断发展的设计和制造技术,电子测试领域的专家学者每年要举办一些规模相当大的国际会议以及为数众多的研讨会,探讨随着集成电路工艺的发展,测试技术所面临的关键问题和新的挑战。如今,VLSI工艺日趋复杂,人们已经能够将1亿晶体管放在一个芯片上,并且力图使片上的时钟频率超过1GHz。这些趋势对芯片测试的成本和难度都产生了深远的影响。我们课题组有幸能够始终参与国际前沿的测试技术的交流活动,并作为主体承办IEEE亚洲测试会议。因此,本人基于以往的工作基础,试图对VLSI/SOC测试的前景进行展望。
a) 指数上升的芯片时钟频率对芯片测试的影响。
研究表明,全速测试远比在较慢的时钟频率下进行的测试有效得多。对于高速电路,全速测试或者基于时延故障模型的测试,将越来越重要。显然,要实施全速测试,ATE必须能够以不低于被测电路的时钟频率工作。然而,高速的ATE非常昂贵。根据2000年的数据,一个能以1GHz的频率施加测试激励的ATE,每增加一个测试管脚其价格就上升3000美元。因此,用这样的测试仪进行高速测试的费用也很高。于是,半导体工业面临两个矛盾的问题。一方面,世界上大多数厂家的测试能力仍然只允许进行100MHz左右的时钟频率测试;另一方面,许多需要测试的芯片的时钟频率已经达到或超过了1GHz。
此外,在GHz的时钟频率下,线的电感开始活跃起来,电磁干扰(Electromagnetic Interference,简称EMI)测试是高速芯片对测试的另一个需求。需要定义考虑电磁作用的、包括软错误模型(soft error model)在内的新的故障模型以及测试方法。
b) 不断增加的晶体管密度对芯片测试的影响。
VLSI芯片晶体管的特征尺寸大约以每年10.5%的速度缩小,导致晶体管的密度大约以每年22.1%的速度增加。由于芯片I/O管脚的物理特性必须维持在宏观级别上,以确保芯片的连接和电路板的制作;而硅片的特征尺寸已经迅速地从微米级升级到纳米级。换句话说,芯片I/O和板级接口的规模升级与内部电路不一致,导致了晶体管数与管脚数的比值飞速增长。使得从芯片的管脚来控制芯片内部的晶体管变得越来越困难,这种有限的访问内部晶体管的能力给芯片测试带来了极大的复杂度。
晶体管密度的增加也带来了单位面积功耗的增加。首先,芯片设计时就要考虑功耗的验证测试;其次,施加测试时必须小心调整测试向量,避免过大的测试功耗将芯片烧坏;最后,可能需要降低晶体管的阈值电压来减少功耗,随之带来的漏电流的增加会使得IDDQ测试的有效性降低。
c) 模拟和数字设备集成到一个芯片上对测试的影响。
通过将模拟和数字设备集成到一个芯片上,提高了系统的性能,但也带来了片上混合信号电路测试的新课题。SOC对测试的影响主要体现在下面几个方面:
i. 需要了解和分析穿过工艺边界(数字和模拟之间、光和射频电路之间等)的工艺过程变化(process variation)和制造引起的缺陷。
ii. 需要研究SOC的高层抽象模型,以获得可以接受的模拟速度和模拟精度。需要在非常高的抽象层次捕获模拟电磁效应。
iii. 系统芯片上互连线将成为影响芯片延迟性能的主要成分。互连线延迟比逻辑门的延迟更重要,并且将日益变得越来越重要。
iv. 需要研究数字、模拟、微电机(Micro-Electromechanical,简称MEM)和光学系统的有效行为模型。
v. 需要发明针对光学、化学和微电机系统故障的新的诊断技术。
vi. 由于SOC采取混合工艺,需要有预言穿过工艺边界的热应力和机械应力的能力。
人们需要新的测试激励产生算法,为SOC组件产生低成本高覆盖率的数字和模拟测试激励和波形。简单的故障模型,即目前最受欢迎的固定型故障模型已经远不能覆盖现实的物理缺陷,必须辅助以时延故障模型、IDDQ提升的电流故障模型以及其他各种不同的模型,实施多样化的测试。SOC设计面临扩展的DFT和BIST、性能验证、调试和早期芯片原型通过DFT和BIST的诊断。为降低测试成本所做的各种努力将持续成为SOC测试的重要课题。
参考文献:
[1] G. R. Case, “Analysis of Actual Fault Mechanisms in CMOS Logic Gates,” Proc. of 13th Design Automation Conf., June 1976, pp. 265-270.
[2] J. Partridge, “Testing for Bipolar Integrated Circuit Failure Modes,” Digest of Papers 1980 Test Conf., November 1980, pp. 397-406.
[3] P. Banerjee and J. A. Abraham, “Characterization and Testing of Physical Failures in MOS Logic Circuits,” IEEE Design & Test of Computers, August 1984, Vol. 1, No. 4, pp. 76-86.
[4] J. P. Shen, W. Maly, and F. J. Ferguson, “Inductive Fault Analysis of MOS Integrated Circuits,” IEEE Design & Test of Computers, December 1985, Vol. 2, No. 6, pp. 13-26.
[5] J. P. Hayes, “Modeling Faults in Digital Logic Circuits,” in Rational Fault Analysis, R. Saeks and S. R. Liberty, eds., Marcel Dekker, New York, 1977, pp. 78-95.
[6] C. Timoc, M. Buehler, T. Griswold, C. Pina, F. Scott, and L. Hess, “Logical Models of Physical Failures,” Proc. of International Test Conf., October 1983, pp. 546-553.
[7] L. H. Goldstein, “Controllability/Observability Analysis of Digital Circuits,” IEEE Trans. on Circuits and Systems, Sept. 1979, Vol. CAS-26, No. 9, pp. 685-693.
[8] V. D. Agrawal and M. R. Mercer, “Testability Measures – What Do They Tell Us?” Proc. of International Test Conf., Nov. 1982, pp. 391-396.
[9] K. P. Parker, E. J. McCluskey, “Probabilistic Treatment of General Combinational Networks,” IEEE Trans. on Computers, June 1975, Vol. C-24, No. 6, pp. 668-670.
[10] J. Savir, G. S. Ditlow, and P. H. Bardell, “Random Pattern Testability,” IEEE Trans. on Computers, Jan. 1984, Vol. C-33, No. 1, pp. 79-90.
[11] S. C. Seth and V. D. Agrawal, “A New Model for Computation of Probabilistic Testability in Combinational Circuits,” Integration, the VLSI Journal, Apr. 1989, Vol. 7, No. 1, pp. 49-75.
[12] T.-C. Lee, W. H. Wolf, N. K. Jha, and J. M. Acken, “Behavioral Synthesis for Easy Testability in Data Path Allocation,” Proc. of International Conf. On Computer Design, Oct. 1992, pp. 29-32.
[13] H.-K. T. Ma, S. Devadas, A. Sangiovanni-Vincentelli, and R. Wei, “Logic Verification Algorithms and their Parallel Implementation,” IEEE Trans. on Computer-Aided Design, Feb. 1989, Vol. 8, No. 2, pp. 181-189.
[14] J. P. Roth, “Diagnosis of Automata Failures: A Calculus and a Method,” IBM Journal of Research and Development, July 1966, Vol. 10, No. 4, pp. 278-291.
[15] J. P. Roth, W. G. Bouricius, and P. R. Schneider, “Programmed Algorithms to Compute Tests to Detect and Distinguish Between Failures in Logic Circuits,” IEEE Trans. on Electronic Computers, October 1967, Vol. EC-16, No.10, pp. 567-579.
[16] P. Goel, “An Implicit Enumeration Algorithm to Generate Tests for Combinational Logic Circuits,” IEEE Trans. on Computers, March 1981, Vol. C-30, No.3, pp. 215-222.
[17] H. Fujiwara and T. Shimono, “On the Acceleration of Test Generation Algorithms,” IEEE Trans. on Computers, December 1983, Vol. C-32, No.12, pp. 1137-1144.
[18] S. T. Chakradhar, V. D. Agrawal, and S. G. Rothweiler, “A Transitive Closure Algorithm for Test Generation,” IEEE Trans. on Computer-Aided Design, July 1993, pp. 1015-1028.
[19] K. T. Cheng, “Gate-Level Test Generation for Sequential Circuits,” ACM Trans. on Design Automation, October 1996, pp. 405-442.
[20] P. Stephan, R. K. Brayton, and A. L. Sagiovanni-Vincentelli, “Combinational Test Generation Using Satisfiability,” IEEE Trans. on Computer-Aided Design, September 1996, pp. 1167-1176.
[21] T. M. Niermann and J. H. Patel, “HITEC: A Test Generation Package for Sequential Circuits,” Proc. of the European Design Automation Conf., February 1991, pp. 214-218.
[22] I. Hamzaoglu and J. H. Patel, "New techniques for deterministic test generation," J. Electron. Testing: Theory and Applications, 1999, Vol. 15, pp. 63-73.
[23] 魏道政,“产生功能级数字电路测试码的一种算法——主路径敏化法,”《计算机学报》,1982,第2期。
[24] Yinghua Min and Jintao Li, “Strongly Fault Secure PLAs and Totally Self-Checking Checkers,” IEEE Trans. On Computers, July 1988, Vol. 37, No. 7, pp. 863-867.
[25] 李忠诚,潘榆奇,闵应骅,“一个基于电路结构分析的测试产生系统——SABATPG,” 《中国科学》(A辑),1993,2(2),第189-196页。
[26] I. Ghosh, A. Raghunathan, N. K. Jha, “A DFT Technique for RTL Circuits using Control/Data Flow Extraction,” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 1998, Vol. 17, no. 8, pp. 706-723.
[27] Yiorgos Makris, Jamison Collins, and Alex Orailoglu, “Fast Hierarchical Test Path Construction for DFT-Free Controller-Datapath Circuits,” Proc. of Asian Test Symp., December 2000, pp. 185-190.
[28] F. Corno, M. Sonza Reorda, G. Squillero, “High-Level Observability for Effective High-Level ATPG,” Proc. of 18th IEEE VLSI Test Symp., 2000.
[29] Zhigang Yin, Yinghua Min, Xiaowei Li, and Huawei Li, “A Novel RT-Level Behavioral Description Based ATPG Method,” Journal of Computer Science and Technology, 2003, Vol. 18, No. 3, pp. 308-317.
[30] Huawei Li, Yinghua Min, and Zhongcheng Li, “An RT-level ATPG Based on Clustering of Circuit States,” IEEE 10th Asian Test Symposium, Japan, Nov. 2001, pp. 213-218.
[31] M. A. Breuer, “The effect of races, delays and delay faults on test generation,” IEEE Trans. on Computers, 1974, Vol. 22, No. 10, pp. 1078-1092.
[32] C. J. Lin and S. M. Reddy, “On delay fault testing in logic circuits,” IEEE Trans. on Computer-Aided Design, 1987, Vol. 6, pp. 694-703.
[33] E. S. Park, M. R. Mercer, and T. W. Williams, “The Total Delay Fault Model and Statistical Delay Fault Coverage,” IEEE Trans. on Computers, 1992, Vol. 41, pp. 688-698.
[34] K. T. Cheng, S. Devadas, and K. Keutzer, “Robust Delay-Fault Test Generation and Synthesis for Testability under a Standard Scan Design Methodology,” Proc. of 28th DAC, 1991: 80-86.
[35] S. Devadas and K. Keutzer, “Validatable nonrobust delay-fault testable circuits via logic synthesis,” IEEE Trans. on Computer-Aided Design, 1992, Vol. 11: 1559-1573.
[36] A. Krstic and K. T. Cheng, “Generation of high quality tsts for functional sensitizable paths,” Proc. of VLSI Test Symp., 1995, pp. 374-379.
[37] K. T. Cheng and H. C. Chen, “Classification and identification of nonrobust untestable path delay faults,” IEEE Trans. on Computer-Aided Design of ICs and Systems, 1996, Vol.15, No. 8, pp. 845-853.
[38] Y. Min, and Z. Li. An Analytical Delay Model. Journal of Computer Science and Technology, 1999, 14(2): 97-115.
[39] U. Sparmann, D. Luxenburger, K. T. Cheng, and S. M. Reddy, “Fast identification of robust dependent path delay faults,” Proc. of 32nd Design Automation Conf., 1995, pp. 119-125.
[40] M. Sivaraman and A. J. Strojwas, “A Unified Approach for Timing Verification and Delay Fault Testing,” Kluwer Academic Publishers, USA, 1998.
[41] Zhongcheng Li, Yinghua Min, and R. K. Brayton, “Efficient Identification of Non-Robustly Untestable Path Delay Faults,” IEEE Int. Test Conf., Nov. 1997, pp. 992-997.
[42] Huawei Li, Zhongcheng Li, and Yinghua Min, “Reduction of Number of Paths to be Tested in Delay Testing,” Journal of Electronic Testing: Theory and Applications, 2000, Vol. 16, No. 5, pp. 477-485.
[43] P. Thadikaran, S. Chakravarty, “Fast algorithms for computing IDDQ tests for combinational circuits,” Proc. of Int. Conf. On VLSI Design, 1996, pp. 103-106.
[44] J. P. Hurst and A. D. Singh, “A differential build-in current sensor for high speed IDDQ testing,” IEEE J. Solid State Circuits, 1997, Vol. 32, No. 1, pp. 122-125.
[45] Michael L. Bushnell, Vishwani D. Agrawal, “Essentials of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits,” USA: Kluwer Academic Publishers. 2000, pp. 268, 274, 530,531.
[46] R. Dekker, F. Beenker, and L. Thijssen, “A realistic fault model and test algorithms for static random access memories,” IEEE Trans. on Computer-Aided Design, 1990, Vol. C-9, No. 6, pp. 567-572.
[47] A. J. Van de Goor, “Testing Semiconductor Memories, Theory and Practice,” ComTex Publishing; Gouda, The Netherlands, http://ce.et.tudelft.nl/~vdgoor/.
[48] B. Vinnakota, editor, “Analog and Mixed-Signal Test,” Upper Saddle River, New Jersey: Prentice-Hall, 1998.
[49] C.-C. Lin, M. Marek-Sadowska, K.-T. Cheng, and M. Lee, “Test point insertion: scan paths through combinational logic,” Proc. of Design Automation Conf., 1996, pp. 268-273.
[50] IEEE(1994). “Supplement(B) to IEEE standard test access port and boundary-scan architecture.”
[51] S. Wolfram, “Universality and complexity of cellular automata,” Physica, 10D, 1984, pp. 1-35.
[52] N A. Touba and E. J. McCluskey, “Transformed pseudo-random patterns for BIST,” Proc. of VLSI Test Symposium, 1995, pp. 572-577.
[53] T. W. Williams, W. Daehn, M. Gruetzner, and C. W. Starke, “Bounds and analysis of aliasing errors in linear feedback shift registers,” IEEE Trans. on Computer-Aided Design, 1988, Vol. 7, No. 1, pp. 75-83.
[54] M. Damiani, P. Olivo, S. Ercolani, and B. Ricco, “An analytical model for the aliasing probability in signature analysis testing,” IEEE Trans. on Computer-Aided Design, 1989, Vol. 8, No. 11, pp. 1133-1144.
[55] B. Konemann, J. Mucha, and G. Zwiehoff, “Build-in logic block observation technique,” Proc. of Int. Test Conf., 1979, pp. 37-41.
[56] Xiaowei Li and P. Y. S. Cheung, “An Approach to Behavioral Synthesis for Loop-Based BIST,” Proc. of IEEE 1999 International Symposium on Circuits and Systems (ISCAS'99), May 30-June 2, 1999, Florda, pp. 374-377.
[57] Xiaowei Li, P. Y. S.Cheung and H. Fujiwara, “LFSR-Based Deterministic TPG for Two Pattern Testing,” Journal of Electronic Testing: Theory and Application, 2000, Vol.16, No.5, pp. 419-426.
[58] Y. Zorian, E. J. Marinissen, S. Dey, “Testing embedded-core based system chips,” Proc. of Int. Test Conf., 1998, pp.130-143.
[59] H. Date, T. Hosokawa, and M. Muraoka, “A SoC Test Strategy Based on a Non-scan DFT Method,” Proc. of 11th Asian Test Symposium (ATS’02), November 2002, pp. 305-310.
[60] S. Nagai, S. Ohotake, and H. Fujiwara, “A DFT method for RTL data paths based on strong testability to reduce test application time,” Technical Report of IEICE DC2002-84, February 2003, pp. 31-36.
[61] E. Marinissen, R. Arendsen, G. Bos, H. Dingemanse, M. Lousberg and C. Wouters, “A Structured and Scalable Mechanism for Test Access to Embedded Reusable Cores,” Proc. of International Test Conf., October 1998, pp. 284-293.
[62] P. Vama and S. Bhatia, “A Structured Test Re-Use Methodology for Core-Based System Chips,” Proc. of International Test Conf., October 1998, pp. 294-302.
[63] N. A. Touba and B. Pouya, “Testing embedded cores using partial isolation rings,” Proc. of VLSI Test Symposium, May 1997, pp.10-16.
[64] L. Whetsel, “An IEEE 1149.1 based test access architecture for ICs with embedded cores,” Proc. of International Test Conf., November 1997, pp. 69-78.
[65] M. Nourani and C. A. Papachristou, “Structural fault testing of embedded cores using pipelining,” J. Electronic Testing: Theory and Applications, 1999, vol. 15, pp. 129-144.
[66] I. Ghosh, S. Dey, N. K. Jha, “A Fast and Low Cost Testing Technique for Core-based System-on-Chip,” Proc. of 35th Design Automation Conf., 1998, pp. 542-547.
[67] I. Ghosh, S. Dey, and N. K. Jha, “A low overhead design for testability and test generation technique for core-based system-on-a-chip,” IEEE Trans.on CAD, November 1999, vol.18, No.11, pp. 1661-1676.
[68] T. Yoneda, H. Fujiwara, “A DFT Method for Core-Based Systems-on-a-Chip Based on Consecutive Testability,” Proc. of 10th Asian Test Symposium (ATS’01), November 2001, pp. 193-198.
[69] V. Iyengar, K. Chakrabarty and E. J. Marinissen, “Test Wrapper and Test Access Mechanism Co-Optimization for System-on-Chip,” J. Electronic Testing: Theory and Applications, April 2002, vol.18, pp. 213-230.
[70] Y. Huang, W. T. Cheng, C. C. Tsai, and N. Mukherjee, “Resource Allocation and Test Scheduling for Concurrent Test of Core-Based SOC Design,” Proc. of 10th Asian Test Symposium (ATS’01), November 2001, pp. 265-270.
[71] E. Larsson, K. Arvidsson, H. Fujiwara, and Z. Peng, “Integrated Test Scheduling, Test Parallelization and TAM Design,” Proc. of 11th Asian Test Symposium (ATS’02), November 2002, pp. 397-404.
[72] H. S. Hsu, J. R. Hung, K. L. Cheng, C. W. Wang, C. T. Huang, and C. W. Wu, “Test Scheduling and Test Access Architecture Optimization for System-on-Chip,” Proc. of 11th Asian Test Symposium (ATS’02), November 2002, pp. 411-416.
[73] V. Iyengar, K. Chakrabarty and E. J. Marinissen, “On using rectangle packaging for SOC wrapper/TAM co-optimization,” Proc. of VLSI Test Symposium, May 2002, pp. 253-258.
[74] Y. Huang, N. Mukherjee, S. Reddy, C. Tsai, W. Cheng, O. Samman, P. Reuter, and Y. Zaidan, “Optimal Core Wrapper Width Selection and SOC Test Scheduling Based On 3-Dimensional Bin Packing Algorithm,” Proc. of International Test Conf., October 2002, pp. 74-82.
作者: 中国科学院计算技术研究所副研究员、博士 |
|