14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
I `
S òO<
Information Technology Letter
2006H 14K 11ó (132ó)
( ó: 2006H1 6
óNl#A'T
l.…- P------------
, < lròO------
W !l. ---------
'ü `
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
时延测试研究综述
李华伟 李晓维
摘 要 本文综述了时延测试领域近年来的研究热点及其最新研究进展,主要包括:在分析时延故障结构测试和功能测
试之间关系的基础上,阐述了基于软件的自测试方法在时延测试方面的研究进展;在以激活被测通路在最恶劣条件下
的通路时延为目标的高质量时延测试生成方法方面,重点介绍了考虑串扰效应的时延测试方法以及开关级时延测试生
成方法的研究工作.本文也简要介绍了中科院计算所先进测试技术实验室在相关研究工作上的进展.
关键词 时延测试,时延故障,结构测试,功能测试,基于软件的自测试,串扰,开关级测试生成
为了保证数字电路正常工作,不仅需要验证其逻辑功能是否正确,同时还要求它在给定输入的
情况下能在规定的时钟周期内输出正确的响应.电路中的传输延迟,包括门延迟和线延迟,一直是
限制数字系统时钟频率提高的关键因素.对于高频工作的电路,任何一个细小的制造缺陷都可能引
入不正确的延时,导致电路无法在给定的工作频率下正常工作.因此,以确保数字电路时间特性正
确性为目标的时延测试一直是集成电路(简称IC)测试领域的热点问题.
作者曾在2001年对当时的通路时延测试方法研究进展进行了综述[1],本文将重点介绍时延测试
领域近年来的最新研究进展,内容安排如下:第一部分简要介绍时延测试的基本概念和方法;第二
部分分析时延故障的结构测试和功能测试之间的关系;第三部分阐述基于软件的自测试方法在时延
测试方面的研究进展;第四部分介绍高质量的时延测试方法,包括考虑串扰效应的时延测试方法以
及开关级时延测试生成方法.最后总结.
1 时延测试的基本概念和方法
1.1 时延故障与时延测试
时延故障的概念最早是由布劳耶(M. A. Breuer)在文献[2]中提出的,用来描述当正常的传输延
迟或惯性延迟发生改变时电路的变化情况.延迟过长的门或者线是时延故障的根源.时延故障的存
在将导致在某些输入下,电路的一个或多个原始输出在给定的时间限制内得不到正确的响应.
时延测试应该能够验证:在规定的时间内,电路的输出是否能及时地根据输入值做出响应,也
就是是否能及时地从一个输出状态转变到另一个输出状态.因此测试时最起码要牵涉到两个输入向
量,前一个向量将电路的输出稳定在一个状态,而后一个向量在输入处产生一定的跳变以改变电路
的输出状态.这一点有别于基于固定型故障模型的功能测试.功能测试只牵涉到一个状态,因此一
个功能测试只由一个向量组成,对每个向量的输出都要进行输出采样,来确定电路是否正确完成了
当前测试的功能.时延故障的测试向量一般采用双向量模式.其中V1为初始化向量,用
来初始化电路中各点的状态;V2则用来产生需要的跳变来激发相应的状态转变以检测时延故障.
一个完全的时延测试要求能够检验被测电路中任何通路的传输延迟是否超过工作时钟周期.这
里的通路是组合电路中的物理通路,即从电路的原始输入或触发器的输出端到电路的原始输出或触
发器的输入端之间的由引线和门组成的交替序列.由于上升跳变信号和下降跳变信号在电路元件中
的传播延迟是不一样的,每条物理通路又对应于两条逻辑通路.对于任一条逻辑通路,如果它的信
号传播时延超过了工作时钟周期,则该逻辑通路存在通路时延故障(path delay fault).因此,在时延
测试中,通路通常指逻辑通路,通路时延故障的测试又称为通路的测试.
通路时延故障模型是一种最有效的时延故障模型,有利于处理分布时延故障,因此得到了科研
人员的广泛关注.在通路时延故障模型下,根据工作时钟周期限定统一的测试采样时刻,对任一测
试,只要在这一时刻输出端预期的跳变还未来到,就认为所测的通路存在时延故障.引起通路时延
过大的原因有可能是局部元件的延迟过大,也有可能是分布在多个元件上的延迟稍大.
采用什么样的测试生成约束来敏化(sensitize)通路,即使信号能够沿着被测通路从组合电路输
入传播到输出,是通路时延测试生成的关键问题.常用的不考虑电路时延分配的测试生成约束从强
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
q 9#A'~robust test [3]^M29#A'~non-robust test [4]^s6 ^# ~functional
sensitizable [5]~BüE o#A'4z3 FEeE C^ Lp,X^#A' ¨+C^,XFEeE C^>
2O[6] 9^#,X¨M29^#,X¨s6 ^# ,X's6 k-,X~functional redundant ~Vp5× E C^ #A'*ó ~W¨yE b+C^,XrL¨J
Sk+C^^#,XE C^D rtZ~
S*üE C^ Lp _M6,X G ,XK Nl +C^,XE C^D Lc-+C^,X
D)[rKS¨ A' #A'+C^,X! 5E C^AE) r,X~·!8¨V)2'1T#A'L 4 +C^r
' #A',XQ ¨C LpDG ,X + +C^4§& D,X AE¨W,X#A'*ó 3
!¤E C^ Lp k ~
ü + ¨ b5× #A',X "'[9]~
1.2.1 6Eó Js4 +C^#A'
A "'E *üb4 +C^'FwoYF…4 ,X¨ üs Eg9's Eg 0^ " <,X c+C^~
#A'4§XV 1.1/~
Eg9'Eg J , h*ü ¨rL+C^^6 'E ,ü o- ~E o- FD,
E C^,X#A'~ZFS!E K Nl¨ EW6,X JsNe)[9h*ü G V1~ü 1.1,X c ¨
Eg Js#/ˇZ Nqn 0 Js~Rated Clock % #,XE C^,X !¤Nqn 0 Js Eg J ,< ,ü Lp~
·A "'6 óh*üˇ ,X G ¨ W^ ·ˇ)4z3{*ó#A' G ~'5à¨W 6 #
A'K 1.1Fw4§X,X+C^~
1.1 6Eó Js#A'ü4 +C^ ,Xh*ü[9]
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
1.2.2 r_ c+C^#A'
A "'E *übK r_ 4§X,X c+C^~W,X Uì& ^ h*üˇ ,X G ~E ¨
^ 5×<%4 FEe9{*ó #A'¨ 5àS#A'*ó k o~'5à¨r 4§X Uü
*ü,X 4§X E E 9- J ,<' Nq ,X- ~HOLD ¨9S /ˇ!E / (
- AE ~
1.2 r_ c+C^#A'ü c+C^ ,Xh*ü[9]
1.2/Z K r_ 4§X,X+C^'#A'h*ü,X c ~! G 2F… h
s Eg9,XFwo!' h " <,XFwo!~E E A'5B#A'{ TC=0'h*ü Js
CK¨ V1,X( F… E E SCANIN1u6 NNc/ˇ9 , ¨à ¨3 U-A E C^ ,Xˇ) F AE FD G ,X!7/ˇ!~% #HOLD
1 ¨SV1 E ,XFwo! Eg- J ,<(HL)G ¨à V1 hs Eg9,XFwo
! tPI~'+bh*üV15à ,X 0n ¨ V2,X( ! /ˇ9~y-¨a% #HOLD
1 ¨h*üV2 G ¨ü4 FEe,XEg90^{*ó V1V2,XC ~#A'{ TC=1^+
C^5B!7 DQ Nqn 0 Js<ó¨üE <ó4§3 JsCK 4 Eg J , " ,¨y ¨ " /ˇ ~ Eg ^ ' #A',X Eg9G ·~
E / 4§XK 4 , ~'5à¨+b Urt
- J ,<¨ M6/^ J r ¨ o E C^,X 3 rt~
+C^#A',X &I# ~#A' K¨ < A'Au+C^,X
1.3 *ü c+C^#A'ü c+C^ ,Xh*ü[9]
1.2.3 *ü c+C^#A'
E / "'^ *ü,X /ˇ9~E *ü 6Eó Js ¨y
-ü , 6 {*ó1' G V2¨E / 6 UE E ~a , E C^ Lp 5 C Lp,X#A'~'5਷ G ,X, G
¨AE6 -A \P ,XLp Z,")[~
1.2.4 ^ JsM2 c+C^#A'
S*ü^ JsM2 #A' "'¨#A'M2 c+C^G ,X LpL U b G ~
1 ¨V2hA +ü!7 0 ü4 FEeh*üV1k~1'¨V1hA E E CK b
ae ( ,X G L {*ó~1 ¨Vp> #E C^4 & " <¨FwL U^ " <( Eg s
Eg #oe,ü Lp~V 1.4/~' #A'¨E t,X#A' G b+C^4§X*ó
,X¨AE n ,Xs6 G ~b{*óZ4§X^#,X Lp's6 ^#,X Lp,X [11]~
n2.1 Vp S*ü J 4§X¨ü 0 Js
h*ü¨/~E #A's6 #A'~Vp #A'6 E E r_< J *ü h*ü¨
ü¨ G-AE,ü 5 5 c 6 üs6
0 h*üL U,X#A'~ ) % #~VpL U9 ,X
#¨ NO5× +bE E / 8N" |~process
variation CK,X¨Fw^6 "u G2ˇ¨ AEà ·M2s6 E C^ > 5àS6 0,X8 (y
s~¨Vp> +b o5LK CK,X¨FwAEhA
6 E # ) ¨ G ¨—7¨8 (üS*ü,X‰ó3#~[11]E E rP' #A's6 #A' CK,X
5LKF+$ ^ 4§X#A' CK,X )[3E > ZA ¨4§A
b- A {~Intellectual Property, IP ,XSOCA'Au#/ C^9C^BF!¨5àSOC,X#A'K Nl3
C^9C^2 E ~SOCAEàb 8,X+C^¨W4§ Z\ AE,XIP~E o^6 D+,X^ ,X^
# ,X11 / 2ˇ4 ~ bEC ,X7 #A' "' GK!9Px Oj¨ SOCG ,X^4 / ¨V
) 7 #A'×' ¨*ü #',X ) <0#A'*ó ^zG ^4§p d^
* 7 A ,X<¨9#A'JW( F… ~S*üSBST "'¨#A' ) # ) <Lp
Z,")[¨ 4B!¤EW ,X,|C$d¨6 ó,|ü(Y,|<
M6 4 oM6 #A',Xs6 ^#E C^ J#A' G *ó - 0J 0~
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
.8V E C^
K-8V E C^[14]V ,X ¨ürLh*üS*üs6 #A' # ) J ,AC 5 IR~·!8¨<Q' B7-B0ALU
Eg ,XFwoE C^AE ,X hA b Js % # JJ ,A ¨ 5àüAC |Z
C ¨Fw¨ EgALUEg ,XC ü Js8V
J ,AC~E A¨¨CK bAC4 !6bAC,XE C^üA c 2-8V E C^~Vp
b ^6 ,X c E oE C^F 7 2-8V E C^¨ ^ k 4§A E oE C^ ,X
5LK UAE —7¨CYE
ti-1 K¨ (% #) t K¨ ~M2% # ti+1 K¨ ~% #
3.2 F… DBE C^FEeü Js8V G ,X> (Parwan ) <)[14]
i
) 3.1 Vp 5K-8V E C^ ,X LpAE —7¨CYE K Js<ó,XE C^ ¨Fw
E 5E C^AE CK8 ( Lp~
) 3.2 Vp 5E C^*ü,óEóh*ü#A' G s6 AE^#,X¨FwE 5E C^7 2-8V
1 Arithmetic Logic Unit¨1kFEe)
2 Accumulator¨3t<
3 Instruction Register¨ ,<
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
容忍通路.
处理器里的功能不可测通路,用任意的指令序列都不能测试.功能不可测通路上的时延故障的
存在一般不会导致芯片故障,除非该时延故障使该通路的通路时延超过了2个时钟周期.而如果超
过2个时钟周期的这种情况出现,它很有可能会被跳变故障测试检测出来.所以在业界应用通路时
延测试中一般不需要考虑这种功能不可测故障.
3.2 指令可测的通路
为了使用指令来自测试微处理器的通路时延故障,首先要根据处理器核的指令集体系结构和微
体系结构,抽取寄存器和控制信号之间的时空约束.使用这些约束来检查所有的组合通路是否功能
可测或者指令可测.如果一条通路不能够在抽取的约束下找到测试向量,那么它就是功能不可测的,
可以从故障集中删除.
文献[14]给出了一种基于抽取约束的通路分类方法,别出来.该方法先对数
据通路(da路部分,枚举所有
的指令对,对每一个指令对,以符号的形式提取出所有可能应用到数据通路部分上的向量对,这些
符号
.然后在门级网表分别对数据通路部分的通路和控制器部分
中的通路段(segment)施加这些约束,同时添加一定的测试生成约束(如强健测试,非强健测试等)
来判
示,对数据通路部分,指令不可测的通路分别达到84%和60.8%,而结构不可测的通路
仅有
被映射到寄存器字一级的值和控制信号的值,然
型信息在指令级进行确认.最后一个预先定义的传播程序把从寄存器/触
发器捕获的故障结果传播到存储器.
令,可解决这些问题,同时提高了可编程核的可测性.例如,如果处理器
里的某寄存器很难访问到,就增加一条指令直接访问该寄存器.在指令级做DFT会增加一定的硬件
开销
能
向量作为培训测试(training test),监测并记录被测模块输入输出的模拟结果,加以分析获得对被测
模块
将指令可测的通路识
tapath)部分和控制器(controller)部分分别进行约束提取.对数据通
向量对代表数据通路部分测试时的约束.对控制器部分,寄存器的合法取值,控制信号和寄存
器跳变之间的关系被作为约束提取出来
断通路或通路段是否可以敏化,从而剔除功能不可测的通路.对Parwan处理器[15]和DLX处理器[16]
的实验结果显
8.1%和3%[14].对控制器部分,指令可测和结构可测的通路数的区别没有这么明显
从功能可测通路中,可选取一个长通路子集在门级使用基于结构的时延测试自动生成工具进行
测试生成.产生的测试向量对只是指定微处理器核里原始输入和触发器的值.使用一个测试程序综
合过程[17],这些指定内部寄存器值的测试向量首先
后根据保存的指令的功能模
文献[18]中提出了测试系统芯片处理器和IP核时的指令级可测试性设计.用可编程核运行测试
程序来测试SOC的生产缺陷时,可能需要很长的测试代码.通过在指令级进行DFT设计,即对芯片
上的可编程核增加测试指
.
3.3 虚拟约束电路可测的通路
对于高性能微处理器设计来说,临界通路通常在数据通路部分,这使得数据通路部分的通路时
延测试更加重要.根据处理器核的指令集体系结构和微体系结构抽取约束很困难,3.2节中的方法需
要考虑所有可能的指令对,目前约束抽取大多为手工完成的.为了自动获得有效的功能约束,一种
虚拟约束电路(virtual constraint circuit,简称VCC)被应用于时延测试的功能测试向量生成中[19].
虚拟约束电路用于给被测模块的输入输出添加必要的约束,它的构建过程如下:使用一批功
输入输出的可能约束;这些约束被分为3种情况(恒定的赋值,可控制的赋值,不可控制的赋
值)刻画在输入VCC和输出VCC中.由于约束的抽取是基于模拟的,因此是不完全的.时延测试
是双向量测试,文献[19]使用任意可能组合的两条指令来进行培训测试,抽取约束和构建VCC电路.
VCC构建后,与被测模块一起构成一个更大的模块,施加基于结构的测试生成,得到虚拟约束电路
可测的通路.
由于VCC的不完全性,虚拟约束电路不可测的通路不一定就功能不可测,但使用虚拟约束电路
可测的通路来进行定时分析中的通路速度分组(speed binning)是可行的.实验表明这种方法得到的
测试向量可以有效剔除一些假通路,找到的最长通路接近于结构可测的最长通路,而使用数量在百
倍以上的功能验证向量也很难达到同样的分析效果.
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
3.4 潜在功能可测通路
文献[20]提出一种功能模式下的时延测试生成方法.该方法根据指令集结构和处理器的寄存器传
输级描述把数据通路模型化为指令执行图 (IE-Graph),控制器被抽象模型化为有限自动机,从中提取
出约束条件.然后分两阶段进行测试生成.第一阶段把所有通路分为功能不可测通路和潜在功能可
测通路两类.第二阶段对潜在功能可测通路用组合的AT P G4产生测试向量.最后,根据控制信号和指
令寄存器内容,
播所经过的数据通路,基于这些矩阵可以很方便地在寄存器传输级进行通路分类,
识别
9.3%
4 高质量时延测试
号线间的串扰(crosstalk)或电源噪声(power supply noise) 等 — 对
电路性能的影响的角度,尽可能激活噪声效应对被测通路的时延干扰,特别是减速效应;二是从电
路建
在超深亚微米和纳米工艺下,对高频开关电路,毗邻信号线间由于电容,电感的耦合效应产生
串扰,特别是电容耦合效应在其中起主要作用.通过相邻的两条信号线之间耦合电容Cc的作用,将
基于启发式算法产生测试指令序列.该方法中IE-Graph的建立和约束的提取都是手工
完成的.而且目前没有任何测试生成的商业工具能识别他们提取的约束,导致他们的方案不能很快
地从实验中得到验证.
我们针对处理器的数据通路部分的通路时延故障提出了一种寄存器传输级和门级网表结合的处
理器时延测试生成方法[21].该方法建立了一种以数据流-状态矩阵表征的新指令集模型,记录指令执
行过程中状态的转换和寄存器间数据的传输.指令集的数据流-状态矩阵模型很好地反映了执行处理
器指令时信号传
出潜在功能可测通路.然后,将测试不同通路的寄存器取值约束分别施加到被测处理器的门级
网表中相应的输入和触发器上,对所有潜在功能可测通路进行带约束的非强健通路时延测试生成.
对Parwan处理器的实验结果显示,在寄存器传输级的通路分类识别出70.9%的通路是功能不可测的.
约束对AT P G的结果也产生了很大的影响.因为应用了约束, 的通路被识别出用处理器指令不可
测.
传统的测试生成方法,认为测试向量只要敏化被测通路 — 使一个跳变信号沿着被测通路传播
到输出即可.然而,敏化一条通路的测试向量对通常有很多种选择.精确的电路模拟显示,不同的
测试向量对下目标通路的时延并不一定相同.传统的测试生成不一定能激活被测通路在最恶劣条件
下的通路时延[22].本节介绍一些高质量的时延测试方法,即为了激活被测通路在最恶劣条件下的通
路时延,在传统的测试生成方法基础上增加特殊技术而形成的方法.这些技术可以分为两类:一是
从考虑噪声效应 — 如信[22-25][27]
模角度,分析开关级或晶体管级电路的充放电路径引起的时延变化,来尽可能找到引起被测通
路最大时延的测试向量[27,28].以下介绍第一类方法中考虑串扰效应的时延测试方法研究进展,以及第
二类方法中开关级时延测试生成方法研究进展.
4.1 考虑串扰效应的时延测试方法研究进展
随着VLSI工艺的特征尺寸向超深亚微米,纳米级的持续推进,各种噪声效应对电路的性能和信
号完整性产生了重大的影响,线间串扰问题作为其中最突出的问题之一,受到了芯片设计和测试领
域的广泛关注.
图4.1 (a) 串扰引起尖峰脉冲 (b)串扰引起时延改变
4 Automatic Test Pattern Generation,测试向量自动生成
CC
侵略线
受害线
CC
侵略线
受害线
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
可能使一条信号线上的信号影响另一条信号线上的信号,严重时导致电路出现逻辑错误或者时延故
障.施加影响的信号线被称为侵略线(aggressor line),而被影响的信号线被称为受害线(victim line).
串扰
脉冲表现为:当侵略线上出现一个上升跳变或下降跳变时,与它相邻的受害线上
的信号值本应维持稳定的0或1信号值,却由于耦合效应产生了一个尖峰脉冲,严重时引起电路中
的逻辑错误.串扰引起时延改变表现为:当侵略线和受害线上的信号同时发生同向(或者反向)的
跳变,受害线上的信号转变延迟将会显著减少(或者增加),称为串扰引起的加速(或者减速).当
这些信号时延变化严重时,将会导致电路无法工作在规定的时钟周期下,表现为时延故障.
电路能够正常工作的最大时钟频率是受限于电路中信号传播时延最长的通路即临界通路的.无
法预见的串扰减速问题,尤其是临界通路上的线间串扰问题,将严重降低芯片的性能.因此,有必
要在现有的时延测试方法之上,考虑线间串扰的时延效应,建立新的时延故障模型,时延测试生成
扰引起的时延故障进行测试,以激活电路在最恶劣情况下的最大通路时延,从而实现更
效的时延测试.
考虑串扰效应的时延测试已经成为一个不可忽视的问题,并在测试生成方法上有了一定进展.
文献[23]了建模,分析了引起串扰减速效应的约束条件,并开发了一
种时延导向的回退算法来指导串扰减速故障的时延测试生成.文献[24]讨论了同步时序电路中串扰引
起的
统芯片中时延测试及定时分析的层次化方法"中的研究工作,我们将波形敏化应用到考虑串扰影响
的时
信息,
将故障集削减80%以上.
Test Pattern Generation considering crosstalk-induced effects),并进行了基
准电
非门,与非门,或非门)构成的门级网表进行.但是研究表明,由于实际的CMOS电路经常包含复杂
被测
考虑如图4.2(a)所示的一个AOI门(与或非门)的晶体管级CMOS静态逻辑实现电路,图4.2
(b)
生成延故障,产生图4.2(b)中所示的双向量强健测试
的负面影响可以被分为两类:串扰引起尖峰脉冲,串扰引起时延改变,分别如图4.1(a),(b)所示.
串扰引起尖峰
方法来对串
有
对线间串扰引起的时延效应进行
时延故障的选择问题.文献[25]提出了一种考虑串扰效应的通路时延测试生成方法,基于遗传算
法来搜索通路的最大时延.
上述文献工作中共有的特点是需要特殊的,耗时的方法在测试生成过程中处理电路的时间分配.
通过在国家自然科学基金重点项目"从行为级到版图级的设计验证与测试生成"以及面上项目"系
[7]
延测试生成中,取得的主要成果有[26]:
提出了单串扰源通路时延故障S-PCPDF(single precise crosstalk-induced path delay fault)模型.
该模型可扩展到多串扰源通路时延故障的情形.
提出了快速寻找目标S-PCPDF故障的搜索方法.该方法基于静态定时分析给出的时延分配
进行原始输入跳变信号的无条件传播,找到所有可能的带时间参数的跳变信号,与临界通路上
的跳变信号按跳变时间区域配对,确定可能的串扰源.
提出了对目标S-PCPDF故障集进行筛选的两种办法:一种方法基于对被测通路的旁路输入进行
测试约束来筛选;另一种方法基于对临界通路的预测试生成进行筛选.实验表明,两种方法的
结合可以有效地
提出了考虑单串扰源影响的时延测试生成算法.基于S-PCPDF故障模型,通过增加对产生串扰
信号的子通路的敏化,先后实现了在波形敏化,非强健测试和强健测试3种测试约束下的时延
测试生成.
根据上述思想,我们开发了考虑串扰影响的面向临界通路的测试生成系统:CPODTPG+X
(Critical Path Oriented Delay
路的实验分析工作,验证了方法的有效性.能够将串扰时延故障的筛选工作放在测试生成之前
完成,使得在测试生成过程中不再需要考虑电路的时延分配,从而便于在已有的逻辑门级时延测试
生成算法中方便地集成考虑串扰的时延测试生成方法.
4.2 开关级时延测试生成方法研究进展
目前时延测试生成方面的研究,包括本文前面提到的方法,大多基于基本逻辑门(与门,或门,
的门结构,而传统的基于逻辑门级的时延测试生成方法只考虑了基本门的测试生成约束,无法激活
电路最恶劣情况下的时延[28].
是该电路的门级模型.为了测试图4.2(a)中粗线所示的通路时延故障PDF,传统的时延测试
方法是考虑图4.2(b)中粗线所示的通路时
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
~a1, a2, a3, a4 =(10, 11, x0, xx)~VpüJ'1u4{5× #E C^ü
{a1-a3}^{a1-a4}^{ a1-a3¨a1-a4}11¨V 4.2~a #PDF,X AEà,X~+b b FEeK…,X+C^ _"u +K'J'
1ur) +C^,XJ'1u+C^X¨ *üFEeK…4{,X 4
Jw5 ,XE C^ ~
~a AOI,XJ'1u4{(c) AOIK…,XJ'1u4{
4.2 AECMOSK…
5à- 0J #A'*ó ' Lp "' Vp5× ¨ ,X #A'~
[)[22] dZE K… ,X ·2 1 K…,XYü+ ,Xae ( ×2 à K C ,XEg9
DG ~ü!8 . ¨E E üK…4{5%> #E C^ü # ,X ¨J1 G *ü9E > NX
ae ¨ kó ,X> #E C^ K…,XYü+ ,Xae ( ~
[)[28],¨y b G4{+C^ _¨ Z / ,X Lp, ,XV J ,X9#A'
"' W-9#A'~ Lp, Z Eg9Eg E / ,X+E<E ¨ü CMOS
K…X ,X+C^¨W FEeE C^ h×5àü AECMOSK…,X+C^¨ 5FEeE C^^6 h
-#ZA FEeE C^ü # ,X Lp
, ,XW-9#A' 4 ,X9#A', !¤¨#A'BüG :+ P ¨¨6 M+ E C^,X ~
CMOSM- FEer)
(b) AOIK…,XK…4{ _
CMOS| FEer)
E ·2 5×<%üK…4{,X#A'*ó
Lp, ¨J % ~rP'/¨ b
[)[29]E !95×<%Z| FEe+C^,X G4{ #A'*ó ~üM- CMOS+C^ 4 AE6 $ C
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
某些代表最高水平微处理器定时需求的今天,动态逻辑正在成为一种标准电路技术.它在以下3个
方面
于多米诺电路的时延测试在很
多方面存在问题.首先,由于多米诺电路的工作方式分为预充电(precharge)和求值(evaluate)两
个阶段,(在图4.2(c)中表现为clk为逻辑0时
a7被充电到逻辑1),因此原来的二向量时延测试的第一个向量在此已经不必要甚至不起作用了.第
二,由于多米诺电路逻辑门构成的复杂性,在逻辑门级考生成很难激活电路中临界的时
延传播通路.第三,对于多米诺电路,预充电逻辑的时延故障也需要考虑,因为慢的预充电过程可
能引起求值阶段的错误求值,从而影响电路的正常操作.在文献[28]时延故障目标的基础上,文献[29]
引入
5 总结
参考文献
李华伟,闵应骅,李忠诚,"通路时延测试综述",《计算机工程与科学》, , ( ):页.
EEE Transaction on Computers, 1974,
Vol. 22, No. 10, pp. 1078-1092.
. Devadas, and K. Keutzer, "Robust Delay-Fault Test Generation and Synthesis for Testability under a
," Proc. of 28th DAC, June 1991, pp. 80-86.
[4]
Symp., 1995, pp. 374-379.
J. A. Waicukauski, E. Lindbloom, B. Rosen, and V. Iyengar, "Transition fault simulation," IEEE Design Test, April
优于静态逻辑,从而能够实现高频电路:1)更低的跳变阈值,2)更小的输入电容,3)提供有
效的高扇入门元件.多米诺电路(domino circuit)作为动态电路的典型代表,受到了广泛的关注.图
4.2(c)是AOI门的晶体管级CMOS多米诺逻辑实现电路.研究多米诺电路的时延测试方法,需要
考虑以下3个问题:时延缺陷影响多米诺逻辑门的方式;捕获这些时延缺陷的时延故障模型;用于
检测时延故障的测试生成约束.将传统的二向量时延测试方法直接用
预充电阶段就提供了时延测试所需要的初始化向量
虑时延测试
了E目标和P目标,分别针对求值逻辑和预充电逻辑,给出了相应的强健测试生成约束.实验
结果显示不同的工艺映射机制得到的同一个多米诺电路,其可测试性可能有显著差异.因此,有必
要研究适当的工艺映射机制,以提高多米诺电路的时延可测试性.
本文综述了时延测试领域近年来最新研究进展,主要包括:在分析时延故障的结构测试和功能
测试之间的关系的基础上,阐述了基于软件的自测试方法在时延测试方面的研究进展;在以激活被
测通路在最恶劣条件下的通路时延为目标的高质量时延测试生成方法方面,重点介绍了考虑串扰效
应的时延测试方法以及开关级时延测试生成方法的研究工作.前者是针对包含可编程处理器核的
SOC芯片的一种很有前途的测试方法;而后者则针对集成电路工艺发展带来的电路性能方面的问题,
以提高时延测试质量为目标开展研究.这两个方面是目前时延测试领域的研究热点.本文也简要介
绍了中科院计算所先进测试技术实验室在相关研究工作上的研究进展.
[1] 2002 24 280-83
www.ict.ac.cn/xueshu/2001/h118.doc.
[2] M. A. Breuer, "The effect of races, delays and delay faults on test generation," I
[3] K. T. Cheng, S
Standard Scan Design Methodology
K. T. Cheng and H. C. Chen, "Generation of high quality non-robust tests for path delay faults," Proc. of 31st Design
Automation Conf., 1994, pp. 365-369.
[5] A. Krstic and K. T. Cheng, "Generation of high quality tests for functional sensitizable paths," Proc. of VLSI Test
[6] K. T. Cheng and H. C. Chen, "Classification and identification of nonrobust untestable path delay faults," IEEE Trans.
Computer-Aided Design of ICs and Systems, Aug. 1996, Vol. 15, No. 8, pp. 845-853.
[7] 赵著行,闵应骅,李忠诚,"布尔过程在通路敏化中的应用,"《计算机学报》,1996,19(8),第568-575页.
[8]
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
1987, vol. 4, pp. 32-38.
[9] Michael L. Bushnell and Vishwani D. Agrawal, Essentials of electronic testing for
VLSI circuits, Boston:Kluwer academic publishers, 2000.
digital, memory, and mixed-signal
ian, and S. Bhawmik. "Integration of Partial Scan and Built-In Self-Test," JETTA, Aug. 1995, Vol.7,
5-137.
[16] ling and Synthesis of the DLXS RISC Processor. VLSI Design Course Notes, Univ. of
[17] in Microprocessor Cores," Proc.
of ITC 2000.
nduced Effects", In:
s, 21(2), pp.179-193, 2005.
ower Supply Noise Effects," IEEE Transactions on CAD, 2001.
作者简
[10] C.-J. Lin, Y. Zor
No.1-2, pp. 12
[11] A. Krstic, J.-J. Liou, K.-T. Cheng, and L.-C. Wang, "On Structural vs. Functional Testing for Delay Faults,"
Proceedings of IEEE International Symposium on Quality Electronic Design, March, 2003.
[12] A. Krstic, L. Chen, W.-C. Lai, K.-T. Cheng, and S. Dey, "Embedded Software-Based Self-Test for Programming
Core-Based Designs," IEEE Design and Test of Computers, Jul. 2002, vol.19, no.4, pp. 18-27.
[13] International Technology Roadmap for Semiconductors (ITRS): 1999 Edition,
http://public.itrs.net/Files/2001ITRS/Links/1999_SIA_Roadmap/Test.pdf, page 61.
[14] W.-C. Lai, A. Krstic, and K.-T. Cheng, "On Testing the Path Delay Faults of a Microprocessor Using its Instruction
Set," Proc. of the VLSI Test Symposium 2000, pp. 15-20.
[15] Z. Navabi. VHDL: Analysis and Modeling of Digital Systems. McGraw-Hill, New York, 1997.
M. Gumm. VHDL - Mode
Stuttgart, Germany, Dec. 1995.
W.-C. Lai, A. Krstic, and K.-T. Cheng, "Test Program Synthesis for Path Delay Faults
[18] W.-C. Lai, and K.-T. Cheng, "Instruction-Level DFT for Testing Processor and IP Cores in System-on-a-Chip," Proc.
of the Design Automation Conference (DAC 01), ACM Press, NY, 2001, pp. 59-64.
[19] Charles H.-P. Wen, L.-C. Wang, K.-T. Cheng, Kai Yang, and W.-T. Liu, "On A Software-Based Self-Test Methodology
and Its Application," IEEE VLSI Test Symp, May, 2005.
[20] Virendra Singh, Michiko Inoue, Kewal K Saluja, and Hideo Fujiwara, "Software-based delay fault testing of processor
cores," International Conference on VLSI Design,2004,pp.933-938.
[21] Hongxia Fang, Huawei Li, Xiaowei Li. "Instruction-Based Path Delay Test Generation for Processors," Digest of IEEE
5th Workshop on RTL and High Level Testing, Osaka, Japan, Nov. 2004, pp. 103-108.
[22] L-C. Chen, S. K. Gupta and M A. Breuer, "High Quality Robust Tests for Path Delay Faults," Proc. IEEE VLSI Test
Symp., pp. 88-93, 1997.
[23] W.-Y. Chen, S. K.Gupta, and M.A .Breuer, "Test Generation for Crosstalk-Induced Faults: Framework and
Computational Results," Journal of Electronic Testing: Theory and Applications, Vol. 18, No. 1, pp. 17-28, 2002.
[24] K. Keller, H. Takahashi, K. Saluja, Y. Takamatsu, "On Reducing the Target Fault List of Crosstalk-Induced Delay
Faults in Synchronous Sequential Circuits," Proc. International Test Conference, 2001, pp. 568-577.
[25] Krstic, J.-J. Liou, Y.-M. Jiang and K.-T. Cheng, "Delay Testing Considering Crosstalk-I
Proceedings of IEEE International Test Conference, pp.558~567. Baltimore, 2001.
[26] Huawei Li, and Xiaowei Li, "Selection of Crosstalk-induced Faults in Enhanced Delay Test," Journal of Electronic
Testing: Theory and Application
[27] A. Krstic, Y.-M. Jiang and K.-T. Cheng, "Pattern Generation for Delay Testing and Dynamic Timing Analysis
Considering P
[28] S. Natarajan, S. K. Gupta, and M. A. Breuer, "Switch-level Delay Test," In: Proceedings of IEEE International Test
Conference, pp.171-180, 1999.
[29] S. Natarajan, S. K. Gupta, and M. A. Breuer, "Switch-level Delay Test of Domino Logic Circuits," In: Proceedings of
IEEE International Test Conference, pp.367-376, 2001.
介:
李华伟: 中国科学院计算技术研究所副研究员
李晓维: 中国科学院计算技术研究所研究员,博士生导师,先进测试技术实验
室主任
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
嵌入式存储器内建自修复技术
王达 李华伟 胡瑜 李晓维
摘 要的主体结构,对嵌入式存储器进行内建自测试(BIST, Build-in Self-Test)和
入式存储器的基本结构,自测试和自修复的流程,主要介绍了存储器内建自修复的种类,修复的策略和设计修复结构
自动化(EDA,Electronic Design Automatic)工具等.
引言
嵌入式存储器由于其高带宽,低功耗,硅面积开销小等优点被广泛用于SoC5 和其他超大规模集
电路中.为了满足应用的需求,SoC的支配主体也从逻辑部件转变为存储器.ITRS20016报告[1]中指
出,SoC系统中的嵌入年的 52%,
在2014年将提升到的94%.SoC系统中存储器容量将会达到1(a)所示.
随着COMS制造工艺的持续推进(譬如65nm工艺),在沟道长度,氧化物厚度,沟道中的随机掺杂
例等参数的影响下,器件的缺陷数目很难再保持在低水平,面积不断增大的嵌入式存储器正是缺
存储器的成品率,因此嵌入式存储器的修复技术成为关键.所谓修复就是一旦发现缺陷单元,可
ts的时候,不带有修复流程的成品率(yield)是95%
右,带有修复的成品率将是 99%左右.当嵌入式存储器的容量不断增大,不带修复的成品率以接
2 的速度下降,到存储器大小为32Mbits时成品率约只有15%;但是一旦进行了修复,
成品
整
嵌入式存储器正逐渐成为SoC
内建自修复(BISR, Build-in Self-Repair)是降低制造成本,提高SoC成品率和可靠性的必要环节.本文介绍了嵌
使用的电子设计
关键词 嵌入式存储器,内建自修复,内建自测试
6
成
式存储器作所占面积比例将不断变大,从 2001 年的 45%到 2005
256Mbits或者更大,如图
比
陷增大的主要来源,带来了对制造工艺和设计规则的挑战.SoC成品率的提高当前主要取决于嵌入式
[2-4]
以将缺陷地址单元映射到冗余地址单元,检测出的故障地址将放弃不用,以避免舍弃整个芯片.
文献[3]指出在嵌入式存储器大小为1Mbi
左
近 .7%/Mbits
率下降率只有0.3%/Mbits,在存储器大小为32Mbits时,修复过的成品率仍可达到87%左右.
那么修复过的存储器成品率提高到底有多大呢 图1(b)所示为SoC 成品率的提高与存储器修复与否
的关系.而且在修复概率不变的情况下,存储器模块成品率提高只取决于存储器本身的面积,与自
测试和自修复电路结构的面积增加无关.
文献[5]指出提高成品率的方法除了使用外部测试仪和修复仪用熔丝对嵌入式存储器进行修复,
还可以使用内建自修复电路.这是首次对嵌入式存储器设计内建自修复电路技术的报道.
尽管嵌入式存储器的面积不断增大,内建自测试和自修复逻辑,冗余单元,重构逻辑和熔丝盒的
面积将仅占 SoC 体面积的 5%或更少.而利用外部资源进行修复的成本占整个芯片制造成本的 40
%,因此在SoC中设计BISR结构来降低成本,提高成品率,就变得非常重要.
5 System-on-Chip,系统芯片
6 International Technology Roadmap for Semiconductors 2001
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
0%
99 02 05 08 11 14
H
M6
/^
40`
16`
!¤
4`
2`
[1]
20`
32`
13`
16`
8`
9`
6`
4`DB 7 [)
60`
80`
100`
64`
16`
20`52`71`83`90`94`
,|<M6/^!¤
G *üFEeM6/^!¤
rFEeM6/^!¤
D,|<ü 6R& ,XM6/^!¤G
E6R& )[ P ,|< AE,XG2ˇ
7 6 C- A
Z¨QZ 9 ,|<,X AE) ' AE#/ ¨8V U 4 o 9 ,|<,X -
A ~Oj1T)A E~ 9 ,|<,X4§X¨' A¨ ü*ó{,| #/ ì P )[¨ 1T U E~ ,|<#A'' AE,X#/ ~
,|@ ¨,|< U 4 ' E / 4§X~
4 4§X,|<
E / 4§X,X,| ,XKSz ,|<,X+,XKSz, 1~V D/,X4
,|<,X z !¨+,X z !~ü D $$$ ,|<,X×'¨
' ,|< +,X !¤(M~
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
oe E 4§X,X,| ' F… ¨! > ,|AE +~E ,
| ,XKSz> ,+,X D.Bn~ E Dn,| ,XKSz +
KS,X!¤¨3! > +,X D¨üˇ,XE / A - ';V @ Au
1k
"" > E D
mod E D
V E/ oe E ,X,| +,X ' ü CK¨ +,X ' ü CK¨E ,Xf c^
+AEà!, fK¨,X5oe Lp~4 4§X,X,|<oe E 4§X,| z
~D 4 4§X,|<
+ z
~E oe E 4§X,X,|<
oe E ,X,| 'k- ,X DF " b,|<
) " 6$ ¨'5àA ) JW)K¨,X5oe Lp~V !¨ [ H^ SW5ˇE@
( ~
,|<,X4§X
AEA 4 ,|64Kbits)而且可能位于关键路径上,
复的时间开销过于庞大,会造成系统性能下降. 于此,文献[6]提出一种把BIST和BISR结合
在一起的测试修复逻辑,通过在寄存器堆外部添加封装实现
类似普通测试中存储器与BIST控制器的交互,由此降低时间开销.电路的基本结构如图5所示.
这个封装结构分为测试的地址生成器,数据生成器和修复策略的计算结构.由图 6 可以看出可以通
过这些分别独立的模块来减少 BIST 的控制器与存储器之间的交互,控制器只需提供启动信
写使能等控制信息,而修复计算模块
11 Content-Addressable Memory,按内容寻址存储器
12 Column Repair Vector
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
胨货强
地址生成器
数据生成器
修复计算模块
并行的控制信号
存储器
读写使能和外部来的修复信息
P1500熔丝协议,
图6 文献[6]的BIST和BISR封装结构
本小节主要介绍的
BIST控制信号等
冗余结构分配算法上的一些突出贡献和对寄存器堆这种不同于 SRAM 类型存储
器的自测试和自修复的设计结构.这些研究在早期的工作中都不够详细,深入.
13
14
出基于失效模式判断的
BISR设计,可以处理不同类型很复杂的RA算法.典型的RA算法通常分为两个阶段[24],第一个阶段是
通过判定在行(列)上失效单元的个数来选择哪些失效的行(列)是必须被修复的;在第二个阶段
使用剩余的冗余单元来修复剩余的失效单元,这些都是使用简单的启发式算法(例如行优先算法,
列优先算法,或者小位图算法等)实现.[23]提出的RA算法的第一个阶段是通过启发式步骤实现,
第二个阶段中剩余的故障均为一个失效位/字的故障,并且大多数故障之间彼此独立.在文献[18]中
提出了失效模式判断的方法,在必须修复阶段执行时,识别存储器矩阵单元的失效行或列,然后使
用冗余行或列来分别修复失效的部分.在第二阶段,不是强调RA算法,而是着重于冗余器件的灵活
性.设计把冗余行分为几个冗余字,第一阶段修复后剩余的失效单元可以通过冗余字而非冗余行来
修复,这样就增加了冗余的利用,会增大面积开销,但提高了修复率,减少了必须的冗余单元的数
目.
余器件的结构如图7所示,512位的存储器带有两个冗余行和四个冗余列.如果有失效行,任何的冗
3.3.3 台湾清华大学研究小组系列研究成果
在设计存储器内建自修复的研究领域中有很多出色的研究小组,下面介绍的是台湾清华大学可靠
性计算实验室的一些研究成果.文献[22]提出了一种基于处理器的对嵌入式存储器内建自修复的设
计.设计复用片上处理器作为BIST的控制器和BISR的分析器,在存储器的外部增加测试向量生成电
路(TPG)和失效单元地址重构电路.这样一旦处理器发出自测试的命令,TPG就对需测试的存储器
生成测试向量,而且在处理器中执行测试算法和冗余分析分配算法,从而增加了设计的灵活性和可
编程性.地址重构电路会按照处理器执行冗余结构冗余分析(RA)算法得到的方案把失效单元的地
址重新分配给冗余单元.这样的设计节省了面积开销,并可以保证BIST的实速测试.
为了能够使用尽可能少的冗余单元修复尽可能多的失效单元,文献[23]提
在这种分割修复的思想下,也可以采用分段的方法分析二维冗余器件,如文献[25,26]所述.冗
13 Test Pattern Generation
14 Redundancy Analysis
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
余行(SR0 和SR1)都可以用来替换它.冗余列的使用方式则不然,把冗余列分割为几个冗余列组
CG1,如图所示.进而为了更好的利用SCG将其再分割
为段
下通过 BIST
对存
(SCG15),若每两列为一个列组,就有SCG0 和S
.在这里并不是从物理上使用本地读出放大器将SCG分段,而是通过BISR电路选择冗余列组,因
此只有多路选择会产生时延开销(访存时间的增加)和面积开销.图7所示的SCG分为4个子段,每
个子段通过行地址的最初两位判定,假设行地址为a3a2a1a0,那么a3a2 就表明了列子段的行所在位
置.不同的列子段可以用来修复主存储器中的不同失效单元,实例如图 7 所示.同样也可以对行分
段来提高冗余器件的灵活性.
上述提出的BISR机制包含了BIST模块,BIRA模块和对存储器的测试封装.BIRA电路使用RA算
法执行冗余分配.测试封装为存储器选择测试/修复模式或功能模式.在测试/修复模式
储器进行访存;在功能模式下封装主存储器或者冗余存储,从中选择数据输出;模式由BIRA模
块的控制信号决定.图 8 所示为存储器内建自修复的一个流程.经过了必须修复的阶段之后,剩余
的失效器件的修复是根据修复最多的规则来分配冗余.冗余分析算法的处理过程大致分为五个步骤.
第一步是进行BIST,一旦发现错误就暂停跳到第二步,否则BIST结束并停止;第二步是检验是否可
以使用行修复规则,如果是,转第四步;第三步是根据修复最多的原则分配行或者 SCG 段修复对应
的失效单元,然后继续第一步;第四步是检测是否有可用的冗余行,如果有,使用行修复并转步骤
一;.第五步是输出对应的失效行地址,转步骤一.经过这样的 BIRA 流程可以高效地修复存储器,
得到所需的成品率.
S
C
0
S
C
1
GG
0 1 2 3SR1
0C
1C
2C
3C
S
C
S
C
S
C
S
C
SR
0
图7 含有两行冗余和两个SCG的RAM示例图
15 Spare Column Group
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
BIST
BIST
BIST
BIRA
BIRA
BIRABIRA
AA
RADDR
/
ADDR
Mask
图8 存储器内建自修复的流程
在上面提到的系列工作中,这个研究小组还设计了一个模拟器用来评估各种RA算法[27].模拟器可
以根据存储器的重构机制,冗余结构计算给定RA算法的修复率和面积开销.使用这个模拟器还可以
设计冗余器件和BISR电路.模拟器的另一重要特性是可以按照真实的次序模拟检测到的故障,提高
了分析结果的准确度.高成品率和高可靠性的存储器生产至关重要,一般冗余修复和ECC16技术分别
用于硬件修复和软故障的容忍,文献[28]提出一种综合了冗余修复和ECC技术的提高可靠性的方案.
依照该方案当存储器在功能模式情况下工作时,可以识别硬故障和软故障并在存储器空闲时间利用
未使用的冗余器件修复样的方案对一个32×64的存
器而言MTTF17提高了7.1%.
研究小组还提出了使用二叉判定图(Binary Decision Diagram)的布尔运算的方法来解决NP难
的冗余单元分配问题[29].这个方法避免了原有的基于比较的详尽搜索算法,通过定义缺陷函数,约
束函数和修复函数进行布尔运算获得好的修复策略.算法避免了通过比较的详尽搜索,对于优化的
策略和普通策略而言搜索二叉判定图都只需要一次搜索.
3.3.4 冗余单元数量对成品率和可靠性的影响
针对冗余单元的设计,如何使用合理数目的冗余获得优化的修复效率,文献[30-32]对制造过程
中的成品率提高和可靠性作出了比较.公式(1)定义了在一维情况下成品率的提高与冗余列之间的关
系(以冗余列为例),其中是列数目, 是制造中用来提高成品率的冗余列数目,Y是制造成品率,
每位(bit)的成品率服从指数
硬故障.使用[27]提出的模拟器模拟的结果,这
储
cncms
分布,mλ是每个存储器位期望的失效个数, 是行数目即每列中的位
数.
rn
irnmicmscr(nm
0i
cmce01e
i
Y))(.()()λλ +
=
∑= (1)
)()(tR YtD= (2)
ncmssn)(+
16 Error Checking and Correcting
故障时间 17 Mean Time To Failure,平均无
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
irnficmscscnrntf
cfsssn)(
0ii
S*ük-< AE ,|<,X^M4 V@ E~~J)(tRü W,|<,Xü4 ^M4
¨nV@ /~,|<,Xk- ,XD, ¨ ,X ü4 P ,|<^M4 L
cmcce01etR))(.()()()(OO
,Xk- D, ¨ )! K¨Y,| AE )[ AE )[,X,/^×^M4 3 h,X,/^~
M6 P z 65$0 ,X AE1k"'
Lc-L +C^E 8N,X )¨ E 8NE' QP¨,|@~
- 0J 0 ,X5LK × _V /¨ üE ,X5LK,X/ˇ! 6G
XT k-> F
,X%,5$4§X9 k Eó,X AE G!4§p~üE o- 0J . ¨Z8V, M6/^ J ¨ Zk-)
rtmE 1k C$d G!
,Xì ¨J / z- 0Jì G!,X ¨ ,X 0E Z4§ (&& P ^M4 ,X "'¨E
> ZJ\ P z,X _'G X4§X,X- 0J~L8Z- 0Jì %,654§X,X('$ K ¨,%0 'hae,
', h,X('$ KE > Z- 0J' ~
2ˇ4 ' K
, ! ('$ V' 6R& VF *ü o o K¨^
>@
J\ AEà2O_,X 9 ,| rEó#A'~0HQWRU ,X 0%,67 K oZrEó#
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
试设计,并且可以进行诊断,自分析和冗余分配,但是它的冗余分配策略建立在列冗余的基
础上.工具提供的是一次性修复的方案,在生成 MBIST 的同时也生成了 DC 脚本,测试封装
和 wgl格式的向量以及testbench(测试程序).
2. Synopsys公司存储器BIST是包含在设计工具(Design ware)中的,与Synopsys公司的其
它产品一样,不支持模糊设计,要求存储器的所有端口的定义都与工具能识别的定义吻合.
3. Genesys公司提供的BIST-DR工具,其BIST设计可以提供软修复.
4. Syntest公司提供的MBIST工具是和Cadence公司绑定的.
5. 法国的 iRoC 公司提供的 BIST 工具,设计的 BIST 支持实速测试,提供诊断,冗余分析和自
修复功能并且可以检测到软错误,还能根据网表预报软错误概率.公司还并声称此工具生成
的BIST的面积与同类产品相比最小.
BIST的工具,设计中使用了多种不同类型的测试向量,
用户也可以自定义测试向量.工具支持行,列和块的冗余分配.用户的反馈表明工具容易上
手,设计合理,是同类产品中的佼佼者.
7. ST公司提供的ugnBIST,是笔者目前仅知的代工厂提供的MBIST工具,是配合其特有的存储
器结构设计的BIST,可以提供修复能力.
BIST算法,但是BISR结构通常被固定,对不同的冗余结构修复
的效率也会不同.为克服这种不利因素,我们正在研究一种可以对不同结构的冗余器件和不同工艺
的存储器选择不同修复算法的优化BISR结构.如果有合理的时间和资源希望能将算法实现到EDA工
具中.
9
随着
主要 嵌复就显得尤为重要.
对存储器设逻辑可以避,修复资源的依赖,降低芯片
成本,大大提高成品率和可靠性.
由于硅工艺的发展,
密度的嵌入式存储器.针对新的故障模型提出新的测试算法,
优化冗余器件的设计方案,改进冗余分配算法以修复尽可能多的故障,使存储器获得高的可靠性都
将是非常有前景的研究方向.我们目前正对存储器的内建自修复算法进行研究,在后续的工作中将
把这些研究成果应用到龙芯的研制.
参考文献:
[30] A. Allan et al., "2001 International Technology Roadmap for Semiconductors," Computer, vol. 35,
6. LogicVision公司也出售设计存储器
这些工具一般都支持用户定制的
总结与展望
SoC的发展,片上的嵌入式存储器将逐渐趋向在结构中占主要部分.芯片的成品率和可靠性
由 入式存储器的成品率和可靠性决定,因此对嵌入式存储器的测试和修
计内建自测试和自修复免对外部测试仪和测试
使得目前已有的故障模型的修复算法不能尽善尽美的适用于高密度且高失效
因此研究新的物理缺陷建立故障模型,
no.1, Jan. 2002, pp. 42-53.
[31] S. Hamdioui, G. Gaydadjiev, and Ad. J. van de Goor, "The state-of-art and future trends in testing
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
embedded memories, Memory Technology," Proc. International Workshop on Design and Testing, 2004,
[32] M.
pp. 54-59.
Schrader, and R. McConnell, "SoC design and test considerations", Proc. IEEE DATE, 2003, pp.
Shoukourian, "Embedded-memory test and repair: infrastructure IP for SoC yield",
IEEE Design & Test of Computers, vol. 20, no. 3, May-June 2003, pp.58- 66.
[34]
1989-1992.
[36] R. Venkatesh, S. Kumar, J. Philip and S. Shukla, "A Fault Modeling technique to test memory BIST
pp.109-116.
[38] "MBISTArchitect Process Guide, Software Version V8.2005_2", Mentor Graphics Corporation 2005.
Proc. IEEE Memory Technology, Design and Testing
Sunada, "Design of a Self-Testing and Self-Repairing Structure for High Hierarchical
, No. 2, June 1993, pp. 88-97.
] I. Kim, et. al, "Built In Self Repair For Embedded High Density SRAMs", Proc. International Test
[42] Row-Column Self Repair of RAMs and Its Implementation in the Alpha
[43]
ir Algorithm", Proc. International Test Conference, 1999, pp. 301-307.
h Multiple Redundancies", Proc. 6th International Conference in VLSI and CAD, 1999, pp.
[45] -repair SRAM cores",
[46]
l Test Conference, 2000, pp. 567-573.
17th International Conference on VLSI Design,
[48]
Test Conference, 2001, pp. 995-1001.
22.
[51] .-W. Wu, "A processor-based built-in self-repair design for embedded
[52]
[53] and C.-W. Wu, "Built-in redundancy analysis for memory yield
[54] Chow, "A built-in self-repair
202-207.
[33]Y. Zorian, and S.
Kazuhiro Sawada, Takayasu Sakurai, Yukinori Uchino, and Kaoruko Yamada, "Built-In Self-Repair
Circuit for High-Density ASMIC", Proc. IEEE Custom Integrated Circuits Conference, 1989, pp.
[35] R.C. Aitken, "A modular wrapper enabling high speed BIST and repair for small wide memories", Proc.
International Test Conference, 2004, pp. 997-1005.
Algorithms", Proc. IEEE International Workshop on Memory Technology, Design and Testing, 2002,
[37] Michael L. Bushnell, and Vishwani D. Agrawal, "Essentials of Electronic Testing for Digital, Memory
and Mixed-Signal VLSI Circuits", Kluwer Academic Publishers, USA, 2000.
[39] E. Rondey, Y. Tellier, and S. Borri, "A Silicon-Based Yield Gain Evaluation Methodology for Embedded
SRAMs with Different Redundancy Scenarios,"
Workshop, 2002, pp. 57-61.
[40] T. Chen and G.
Ultra-Large Capacity Memory Chips", IEEE Trans. On VLSI, Vol. 1
[41
Conference, 1998, pp. 1112-1119.
D.K. Bhavsar, "An Algorithm for
21264", Proc. International Test Conference, 1999, pp. 311-317.
S. Nakahara, et.al, "Built-In Self-Test for GHz Embedded SRAMs Using Flexible Patterns Generator
and New Repa
[44] H.-C. Kim, D.-S. Yi, J.-Y. Park, and C. H. Cho. "A BISR (Built-In Self-Repair) Circuit for Embedded
Memory wit
602-605.
A.Benso, S.Chiusano, G.Di Natale, P.Prinetto, and M.L.Bodoni, "A family of self
Proce. 6th IEEE International On-Line Testing Workshop, 2000, pp.214-218.
T. Kawagoe, et.al, "A Built-in Self-Repair Analyzer (CRESTA) for embedded DRAMs", Proc.
Internationa
[47] Xiaogang Du,S.M Reddy, Wu-Tung Cheng, J. Rayhawk, and N. Mukherjee, "At-speed built-in self-repair
analyzer for embedded word-oriented memories", Proc.
2004, pp. 895-900.
V. Schober, S. Paul, and O. Picot, "Memory built-in self-repair using redundant words", Proc.
International
[49] Jihyun Lee, Young Jun Lee, and Yong Bin Kim, "SRAM word-oriented redundancy methodology using built
in self-repair", Proc. IEEE International SOC Conference, 2004, pp. 219-2
[50] Rita Zappa, Carolina Selva, Danilo Rimondi, Cosimo Torelli, M. Crestan, Giovanni Mastrodomenico,
and Lara Albani, "Micro Programmable Built-In Self Repair for SRAMs", Proc. IEEE International
Workshop on Memory Technology, Design and Testing, 2004, pp.72-77.
C.-L. Su, R.-F. Huang, and C
memories", Proc. 12th IEEE Asian Test Symp., 2003, pp. 366-371.
R.-F. Huang, C.-L. Su, C.-W. Wu, S.-T. Lin, K.-L. Luo, and Y.-J. Chang, "Fail pattern identification
for memory built-in self-repair", Proc. 13th IEEE Asian Test Symp., 2004, pp. 366-371.
C.-T. Huang, C.-F. Wu, J.-F. Li,
improvement", IEEE Trans. Reliability, vol. 52, no. 4, Dec. 2003, pp. 386–399.
J.-F. Li, J.-C. Yeh, R.-F. Huang, C.-W. Wu, P.-Y. Tsai, A. Hsu, and E.
scheme for semiconductor memories with 2-D redundancy", Proc. International Test Conference, 2003,
pp. 393-402.
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
[55] J.-F. Li, J.-C. Yeh, R.-F. Huang, and C.-W. Wu, "A built-in self-repair design for RAMs with 2-D
redundancy", IEEE Trans. VLSI Systems, vol. 13, no. 6, June 2005, pp. 742-745.
R.-F. Huan[56] g, J.-F. Li, J.-C. Yeh, and C.-W. Wu, "A simulator for evaluating redundancy analysis
Symposium Defect and Fault Tolerance in VLSI
[58]
roc. IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems,
[59] Kim, and Vincenzo Piuri, "Balanced Redundancy
of Systems Architecture: the
[62] nsities
[64] N.Achouri, and S. Boutobza, "Dynamic Data-bit Memory Built-In Self-Repair", Proc.
[65] pair techniques
[66] l, "A diversified memory built-in self-repair approach for
[67]
of Electronic Testing: Theory and Applications, vol. 21, 2005, pp.
[68]
roc. IEEE Custom Integrated Circuits Conference, 2001, pp. 191-194.
[70] "A physical design tool
王达究生
algorithms of repairable embedded memories", Proc. IEEE International Workshop on Memory Technology,
Design and Testing, 2002, pp. 68-73.
[57] C.-L. Su, Y.-T. Yeh, and C.-W. Wu, "An integrated ECC and redundancy repair scheme for memory
reliability enhancement", Proc. IEEE International
Systems, 2005, pp. 81-89.
Hung-Yau Lin, Fu-Min Yeh, Ing-Yi Chen, and Sy-Yen Kuo, "An Efficient Perfect Algorithm for Memory
Repair Problems", P
2004, pp. 306-313.
Minsu Choi, Nohpill Park, Fabrizio Lombardi, Yong-Bin
Utilization in Embedded Memory Cores for Dependable Systems", Proc. IEEE International Symposium
on Defect and Fault Tolerance in VLSI System, 2002, pp. 419-427.
[60] Minsu Choi, Nohpill Park, Fabrizio Lombardi, Yong-Bin Kim, and Vincenzo Piuri, "Optimal Spare
Utilization in Repairable and Reliable Memory Cores", Proc. IEEE International Workshop on Memory
Technology, Design and Testing, 2003, pp. 64-71.
[61] Minsu Choi , Nohpill Park , Vincenzo Piuri , Yong-Bin Kim , and Fabrizio Lombardi, "Balanced
dual-stage repair for dependable embedded memory cores", Journal
Euromicro Journal, vol.50 no.5, 2004, pp.281-285.
M. Nicolaidis, N. Achouri, and L. Anghel, "A memory built-in self-repair for high defect de
based on error polarities", Proc. 18th IEEE International Symposium on Defect and Fault Tolerance
in VLSI Systems, 2003, pp. 459-466.
[63] M. Nicolaidis, N. Achouri, and S. Boutobza, "Optimal Reconfiguration Functions for Column or Data-bit
Built-In Self-Repair", Proc. IEEE DATE, 2003, pp. 10590-10595.
M. Nicolaidis,
IEEE International Conference on Computer Aided Design, 2003, pp. 588-594.
L. Anghel, N. Achouri, and M. Nicolaidis, "Evaluation of memory built-in self re
for high defect density technologies", Proc. 10th IEEE Pacific Rim International Symposium
Dependable Computing, 2004, pp. 315-320.
M. Nicolaidis, N. Achouri, and L. Anghe
nanotechnologies", Proc. 22nd IEEE VLSI Test Symposium, 2004, pp. 313-318.
M. Nicolaidis, N. Achouri, and L. Anghel, "Memory Defect Tolerance Architectures for
Nanotechnologies", Journal
445-455.
M. Ouellette, D. Anand, and P. Jakobsen, "Shared Fuse Macro for Multiple Embedded Memory Devices
with Redundancy", P
[69] B. Cowan, et al., "On-Chip Repair and an ATE Independent Fusing Methodology", Proc. IEEE
International Test Conference, 2002, pp. 178-186.
K. Chakraborty, S. Kulkami, M. Bhattacharya, P. Mazumder, and A. Gupta,
for built-in self-repairable RAMs", IEEE Transactions on Very Large Scale Integration (VLSI) Systems,
vol. 9, no. 2, April 2001, pp. 352-364.
作者简介:
: 中国科学院计算技术研究所硕博联读研
李华伟: 中国科学院计算技术研究所副研究员
胡瑜: 中国科学院计算技术研究所副研究员
李晓维: 中国科学院计算技术研究所研究员,博士生导师,先进测试技术实验
室主任
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
韩银和 胡瑜 董婕 王伟 李华伟 李晓维
试激励压缩和测试响应压缩.本文对这两个方面分别进行了介绍,最后还介绍了多种主流测试压缩工具.
词
随着集成电路制造工艺水平的提升和芯片面积的增加,大规模集成电路测试需要越来越多的测试
中测试大概需要2G位的测试数据[1].
.数量巨大的测试向量会带来很多问题.
设其次,为了将测试数据从测试设备传输到
所有这
片的测
测试压缩能够有效地减少测试数据量,也能够降低对测试数据存储容量和测试设备数据传输通道
需求,还可以减少测试时间和测试功耗.图1显示了测试压缩体系结构原理.测试压缩结构主要
含测试激励压缩(片上表现为解压缩电路)和测试响应压缩.从流程上来看,首先使用离线的软
始测试向量进行压缩,并将压缩后的测试向量存储到测试设备中.在测试准备阶段,将
压缩后的数据装载到测试通过扫描链施加到待测
电路(芯核)上.在测试阶段,待通过扫描链将响应
数据传送给响应压缩电路压缩,压缩后结果和测试节点上存储的期望结果相比较片是否
包含故障.可以看缩的,所以其
体积非常小.
数字电路测试压缩方法
摘要 本文介绍面向数字电路的测试压缩方法.测试向量分为测试激励向量和测试响应向量,因此测试压缩也分为测
关键 数字电路,测试激励压缩,测试响应压缩
1 引言
数据.如在科院计算所设计的龙芯2号芯片中,完成一个完整的
如果芯片中集成多个数字芯核,那么测试数据将更为庞大
首先,测试备需要比较大的存储容量来存储这些向量;
芯片需要非常
些问题,固然都可以通
多的测试通道;同时为了提供实速测试,测试设备的频率也需要提得非常高.
过更换高档的测试设备来解决,然而使用越高档的测试设备意味着芯
试成本也越高.因此,简单升级测试设备并不是一个很好的解决方案,需要寻求新的测试方法.
的
包
件工具对原
激励解压缩电路,解压缩电路再将向量数据解码后
测电路处于功能状态,捕捉测试响应,最后再
,以确定芯
出无论是存放在测试节点中的测试激励,还是测试响应都是经过压
压缩后的测
试激励 测试 具有
节点
扫描设计
的电路
(core)
响应
压缩后的测激励
压
缩
电
路
试响应
解
压
缩
电
路
区
别在于compression是"无损压缩",compaction 是"有损压缩".一般而言,激励端的测试压缩采用无
损压
图1. SOC测试压缩结构原理图
测试压缩包含两个方面,相应的测试压缩有两个主要的研究领域:(1)测试激励端的压缩;(2)
测试响应压缩.压缩在英文中可以使用两个词-compression和compaction,在英文中,两个词的
缩,而响应端的测试压缩则采用有损压缩.此外,在测试向量生成过程中,有一类压缩称为
"dynamic compaction",它对测试向量的个数进行压缩,并不涉及到有损无损的意思,在本文称为"动
态压缩".
在测试激励端,向量中有很多不关心位.所谓不关心位(don't care bits)是指在向量中,这些位
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
的取值不会影响到对目标故障集的覆盖.不关心位的产生和ATPG18算法有关.在ATPG算法中,由
于采用通路敏化,只有那些和敏化通路相关的原始输入才需要赋确定值,其它的原始输入赋何值并
不影响覆盖率.测试向量中不关心位的比率是相当高的.
至于响应端,则可以使用有损压缩,因此压缩率更高.在BIST19中,多路输入特征寄存器(MISR20)
就是一个非常高效的响应数据压缩电路,它兼顾了时间压缩和空间压缩两个方面.然而,正是由于
它采用了时间压缩,压缩完的故障特征信息量太少,很难对故障进行精确定位.传统的响应压缩电
路另一个问题是不能处理响应中的未知位(unknown bits),即指向量中那些在模拟阶段尚无法确定
值的位.激励端的不关心位和响应中的未知位也称X位.响应中的未知位是电路内部不确定态的外在
表现,电路中潜在的未知源包含:非扫描的寄存器,RAM21和CAM22,组合环,无驱动的输入,总
线竞争,布线上一些不完全满足电气检查规则的地方等.响应中的X位虽和激励中的X位具有同样的
名称,但二者产生的机理却完全不同.输入向量中的X位是ATPG在产生向量时留下的,这些不关心
位的赋值不影响故障覆盖率.而响应中X位则是仿真中尚无法确定的值.激励中的X位是我们可以利
用的,而响应中的X位则是需要想办法处理的.如果使用MISR压缩,响应中由于总线引
起的未知位会产生积累效果,压缩虽然压缩能力不及时间压
缩,但是由于其能够提供足够的信的积累效应,因此适合应用于
比较
缩后的结果.当然,测试压缩研究学者们在BIST研究的基础上,根据新的测试环境的需
要,
竞争等因素
影响了对压缩后特征好坏的判断.空间
息量用于诊断,同时不存在未知位
复杂的数字电路测试中.这种压缩电路已受到了学术研究和工业实践的广泛重视.
从图1可以看出,测试压缩的体系结构和BIST的结构是很相似的.实际上,很多测试压缩技术就
来源于BIST研究.很多在测试压缩领域做出重要贡献的学者,都曾长期从事过BIST的研究.观察BIST
的STUMPS23结构,基于LFSR24的伪随机发生器用于产生测试向量[2]就可以看作是一个测试向量解压
缩电路,存储在片内的种子就是压缩后的数据.在STUMPS中,MISR是一个时间压缩电路,最后的
特征就是压
展开了新的研究.所有这些研究使得测试压缩逐渐脱离了BIST的范畴,发展成为一个独立的研
究方向.
2 测试激励压缩方法
测试激励数据总体积可以计算为:
vectorsscanscanPNLVO××=
其中,scanL表示扫描链长度,scanN表示扫描链的数目,vectorP表示测试数据中包含的向量数目.
测试激励数据可以看作是三维结构,上述这三个参数就是这三个维度的取值.图2形象地描述了这
三个维度压缩.Z维压缩是向量个数压缩,也就是我们前面特别强调的动态压缩.动态压缩一般结合
在ATPG算法中.这方面有很多研究,MINTEST[3]就是一个高效的压缩算法.本文中的激励压缩是指
从水平方向和垂直方向这两个维度着手压缩的方法.水平压缩主要是减少每一个子向量的位数,这
等价于减少扫描链的长度.垂直压缩主要是减少子向量的个数,这等价于减少扫描链的数量.
18 Automatic Test Pattern Generation,测试向量自动生成
19 Built-In Self Test,内建自测试
20 Multiple-Input Signature Register
21 Random Access Memory,随机存储器
22 Content Addressable Memory,可按内容编址存储器
23 Self-Testing Using MISR and Parallel SRSG,采用MISR和并行SRSG(Shift Register Sequence Generator位移寄存器顺序
发生器)的自测试
24 Linear Feedback Shift Register,线性反馈移位寄存器
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
子向量 1
子向量 2
压缩后测试向量
动态压缩
水平压缩
子向量 3
子向量 4
原始测试向量
子向量 1
子向量 2
子向量 3
子向量 4
原始测试向量
子向量 1
子向量 2
子向量 3
压缩后测试向量
压缩后测试向量
垂直压缩
子向量 4
原始测试向量
图2. 测试激励的三维压缩
压缩研究人员已经在水平压缩和垂直压缩方面提出了很多方法.图3列出了这些方法的一个分
类.
定长-定长
定长-变长
变长-定长
变长-变长
编码压缩
LFSR重播种
切片重叠压缩
广播式压缩
测试激励压缩
水平压缩
垂直
每向量重构
每周期重构
压缩
逻辑变换 线性
逻辑变换压缩
非线性逻辑变换
单种子
每向量重播种
每周期重播种
单配置(Illinois Scan)
图3. 测试激励压缩的分类
水平压缩方法主要包括编码压缩,基于LFSR的压缩和基于扫描切片重叠的压缩等.编码压缩将
测试向量集水平方向的单个子向量作为输入,利用适当的编码,对该输入序列进行压缩,这种方法
在图象处理和视频压缩方面已经得到了广泛的使用.基于LFSR的方法主要是指各种重播种方法.根
据重播种周期的不同, 重播种可以分为单播种(整个测试向量集使用一个种子生成), 每向量重播种
(每一个测试向量使用一个种子生成),每周期重播种(每一个测试向量使用多个种子来生成).
垂直压缩方法主要包括广播式压缩和逻辑变换压缩.广播式压缩根据配置(原始扫描输入和扫描
链输入之间的连接关系)重构周期的不同,可分为单配置, 每向量重构和每周期重构等三种方法.逻
辑变换压缩主要包括了一些输入减少方法,它们可以分为线性变换和非线性变换两大类.由纯异或
门构成的解压缩网络属于线性变换,其它一些组合逻辑门构成的压缩电路属于非线性变换.
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
2.1
编码压缩在视频图象压缩中广泛使用,因此很容易想到将它应用到测试数据压缩中.测试压缩中
的编码方法针对向量中的 "0或1的游程"进行压缩,"游程0或1组成的串,"游程长度"
是连续0或连续1的数目.
编码压缩方法根据原始数据和压缩后数据体积的变化关系分为四大类,表1列出了四个不同的分
类和相对应的编码方法.
编码压缩技术
"是指连续
编码方法 编码
定长到定长 Dictionary based code[29]
定长到变长 Statistical Code (such as Huffman code ) [9],[10]
变长到定长 Conventional run-length codes [8]
变长到变长
Golomb codes, geometrical code, LZ77 code, [7][11][12]
Frequency-directed run-length codes ][7
表1. 编码压缩技术分类
定长到定长编码是使用定长的小数据量块来编码定长的原始数据块.字典编码和LFSR重播种就
属于这种类型.在LFSR重播种中,每一组向量被编码成定长的种子.定长到变长的编码使用一个变
长的数据的原始数据块,哈夫曼编码属于 型.变长到定长的编码使用定长的数
据来编码据,经典的游程编码属编码使用变长的数据块来编
码变长的lomb编码和F
在这,变长到变长的编码mb编码是一种变长到变
长的编码,可以利用Golomb编码比较小.FDR
编码[7]充分利用了测试数据中0,1分布解码器面积开销的情
况下,提高了压缩率.其它的编码形式曼编码[9][10],几何编码[11],LZH编码
[12]等
广播式压缩方法利用同一组向量来对不同子电路进行测试,在硬件实现上一般都采用共享扫描输
入结构.文献[19]提出了将同一组向量广播到电路不同部分的测试方法.图4给出一个例子,整个电
路包含了两个待测子电路 和 .ATPG首先产生具有一定故障覆盖率的随机向量(该比
率可
块来编码定长这种类
变长的原始数于这种类型.变长到变长
原始数据,GoDR25编码就属于这种类型.
四大类编码中可以取得较好的压缩效果.Golo
[6]对测试数据压缩,Golomb编码的解码电路面积开销也
的特点,通过改造Golomb编码,在类似
,诸如游程编码[8],哈夫
等均可用于压缩测试数据.
2.2 广播式压缩方法
CUT(1) CUT(2)
以人工设定,在设定的时候需要考虑覆盖率和向量个数的折衷关系,一般来说70%-85%比较
合适).对于两个子待测电路,这部分随机向量可以是一致的,因此它们可以共享这些向量.对于
剩余的故障,使用确定性ATPG算法产生测试向量.由于在确定性测试向量中存在着大量不关心位,
对于在CUT(1)中能覆盖故障子集aF的确定性向量,通过不关心位的适当赋值,也可以覆盖CUT(2)
25 Frequency-Directed Run-length Code,频率制导游程编码
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
中故障子集bF.因此这部分向量依然可以在两个电路之间共享.如果两个电路完全共享同一组向量,
入连接在一起.假设CUT(1)和CUT(2)具有相同的扫描链数目: .在
需要 个输入来移入向量.在共享的结构中,只需要 个输入来移入
向量.
我们就可以将它们的对应输N
没有共享结构的扫描设计中,2NN
1 2 3 4
C1
1 2 3
C2
输入 输入
图4. 将测试向量广播给不同的待测电路
伊利诺伊(Illinois)扫描结构是另一类比较知名的共享扫描输入结构.美国伊利诺伊大学香槟分
校(UIUC,University of Illinois at ana-Champaign)研究人员首先提出这种结构,并对之进行
了深入的研究,习惯称其为伊利诺伊扫描结构.图5是伊利诺伊扫描结构的一个示例:
Urb[20]
扫描链
扫描输入 扫描输出
(b) 串行扫描模式
扫描输入
扫描段 1
扫描段2
扫描段3
扫描段4
MISR 扫描输出
(a) 广播模式
图5. 伊利诺伊扫描结构(两种不同模式)
伊利诺伊扫描结构包含了两种操作模式:串行扫描和广播扫描.图5(a)中介绍了串行扫描模式,
图5(b)介绍了广播扫描模式.伊利诺伊扫描结构的精华部分在于广播扫描模式.在这种模式下,扫描
链将被分割成多个扫描段(segment),这些扫描段被连接到相同的扫描输入.尽管广播模式能够覆
盖大部分故障,但由于广播模式下的ATPG是受限的,产生的测试向量可能无法覆盖一些难测故障.
为了弥补这部分故障覆盖率的损失,可以使用不受限的ATPG重新产生向量以覆盖难测故障.测试
难测故障的向量可以在串行扫描模式下移入扫描链.由于串行模式下扫描链的长度特别长,向量移
入扫描链的时间也会很长,因此应该尽量减少在串行模式下移入的向量个数.
在伊利诺伊扫描结构中,可以将扫描链设计得很短,因而能大大减少测试时间.然而,这种结构
依赖于扫描链和扫描输入测试的故障需要使用较长时间通
过串行模式来测试.因此,很多学者致力于利用伊利诺伊扫描结构的优点,允许扫描链和原始扫描
输入之间的连接关系重构,换而言之,在一种连接关系下不可测的故障,可以利用其它连接关系来
测试."可重构"的伊利诺伊结构,根据重构的时机不同,可重构压缩方法可以分为下面
的固定连接关系.一些在广播模式下无法
这类方法称为
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
两大类:
每向量重构,在该方法中,连接关系的重构发生在向量切换时[21].首先将故障集分成几个子集,
每一个故障子集利用一个连接关系来测试.连接关系的动态变更可以通过MUXs门来实现.
每周期重构,在该方法中,连接关系的重构发生在向量的移入过程中[22][23].
2.3 逻辑变换压缩方法
MN
Z
Y
YbbbXaaa∧∧
2222221222221
, 和
逻辑变换也是一种被广泛研究的测试压缩方法.它跟广播式压缩方法不一样,在广播式压缩扫
描设计中,所有在同一组中的扫描链将被赋同样的值,而在逻辑变换中,同一组中的扫描链并不是
直接赋原始扫描输入的值,而是赋原始扫描输入经过逻辑运算后的值.也就是说,每一个扫描链中
的值是原始扫描输入经过逻辑运算后的结果.逻辑变换的原理可以用下面一个方程来描述:
=
+
MN
ZbbbXaaa
ΜΜΜΟΜΜ
∧
ΜΜΟΜΜ
∧
1111211111211
PMPMPPNPNPPZYbbbXaaa∧∧2121
这里,N21XXX...,[]T[]T
M21YYY...,[]T
P21ZZZ...,是输入,当前状态和下一个状态
值.
根据逻辑变换函数和实现方式的不一样,逻辑变换可以分为下面两大类:
XOR门网络实现的线性变换,变换矩阵可以使用XOR(异或)门实现.XOR网络是一个线
一般逻辑门实现的逻辑变换,逻辑变换也可以使用一般逻辑门实现[29][30],这些逻辑门组成运
算电路,少量原始输入经过运算电路后可以扩展为大量输出.
3 测试响应压缩方法
测试压缩不仅可以应用在激励端,也可以应用在响应端,且更为有效.在大规模数字电路测试中,
响应端的数据量也是非常庞大的.
测试响应压缩并不是一个全新的研究领域,研究人员在长期的研究中已经提出了很多方法.为了
更好原始响应数据
D
[27]
性扩散网络,少量输入经过XOR网扩散后形成大量输出.当然,这些输出在逻辑上还是要依赖
于那些少量输入,测试生成算法在生成测试向量时需要考虑这种依赖.
mm×地介绍,我们先将响应压缩过程形式化.考虑一般的响应压缩,它是将二维
=[dij]变换为另一个二维qp×向量数据C,并有mp<和nq<,pm/为空间压缩率,qn/为时
率.这一变换过程可以用变换函数来刻画间压缩()DCΦ=,上述中Φ是变换函数.响应是
一的时
个输出时刻的值.如果是"时间压
缩",有p<m,如果是"空间压缩",有n<q.图6形象地描述了这两种压缩.
数据D
个二维向量,D的列索引作为时间维度,D的行索引作为空间维度,D间维度是电路中同一
在不同时刻产生的数据,D的空间维度是电路中不同输出在同一
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
测试
向量
Circuit Under
Test
Space
Compactor
待测电路 空间压
缩电路
m-bit 输出向量p-bit 输出向
量
测试
向量
Test
Circuit Under
Compactor
Space
n向量q-b输出向-bit 输出it 量
待测电路
缩电路
时间压
图6. 时间和空间压缩示意图
对于同一压缩电路,可以既完成空间压缩又进行时间压缩,下文中我们将这种方法称为"时间
和空间组合压缩".
在响应压缩中有一些术语经常被提及:"混淆",是指对于一组向量,故障电路和正常电路具有
相同的响应数据,因此无法通过响应数据区分电路的好坏."错误位",是指当电路发生故障时的响
应向量中和正确响应不一致的位."未知位(X位)",是指向量中那些在模拟阶段尚无法确定值的位.
"诊断",是指根据响应数据来定位捕获产生错误位的寄存器.如果一个响应压缩电路具有诊断能力,
意味着它可以不通过其它附加硬件电路,就能够定位含有错误位的寄存器.
"混淆","未知位处理"和"诊断"这三个概念实际上体现了一种测试压缩方法的三种能力.
如果压缩方法混淆率越低,处理未知位能力越强,能够完全提供全诊断能力,那么该压缩方法就比
较好.
由于时间压缩在BIST中研究得比较成熟,所以下面的章节将主要介绍空间压缩以及时间和空间
组合压缩的
使得它们呈现出和BIST研究中不同的新
特征
3.1 空间压缩
空间压缩是容易实现的,比如最常见的奇偶校验电路就是一种空间压缩,它们可以将任意多输入
压缩成一个输出.尽管它可以提供最大的压缩效果,但是简单奇偶校验电路压缩向量混淆率很高.
和频率进行划分,
设计
文献[31]改进了异或树压缩方法,提出了新的压缩电路:X-Compact.如果满足一些设计规则,
异或
针对特定电路也可以设计出完全无混淆的压缩电路.文献[32]利用"传递的概念,通
方法.空间压缩虽也在BIST研究中有所提及,但学者们在解决大规模数字电路特别是
SOC测试时,给空间压缩和组合压缩赋予了一些新的外延,
.下面就简要介绍一下这些方法.
为了减小混淆率,很多学者改进了奇偶校验电路,通过对电路中故障出现的模式
了多种针对单错误位无混淆的压缩电路,针对双错误位无混淆的电路和针对任意奇数个错误位
无混淆的压缩电路.
树压缩电路能具有发现两个错误位和任意奇数个错误位的能力,具有诊断能力和未知位处理能
力.
当然,透明"
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
过研究输出状态的所有可能迁移关系设计压缩电路,实现压缩的无混淆.由于这种压缩电路只能针
对单
[24][33]电
路.它能有效避免未知位对特征值的无限期影响,提供较小的故障混淆率,提供诊断能力.
流EDA26工具提供商采用的测试压缩结构包含IBM公司的SmartBIST,Mentor Graphics公司的
EDT
采用
时间维度上的压缩,它提供了用于故障诊断很方便的接口.
多个
LFSR首尾连接在一起构成了回环,并在这个回环中设计多个数据注入点,压缩后的数据通过这些注
入点注入到Ring产生器中,Ring产生器解码这些数据得到原始向量.在响应压缩端,TestKompress采
用了
n中,激励解压缩
电路
.
测试压缩可以显著地减少测试数据数量,测试时间和必需的测试通道数.正是由于具有这些优点,
工业界已经逐渐开始采用测试压缩成本.在工业界需求的强力推动下,主流
的E
故障模型,且依赖于电路的设计结构和具体测试向量,因此很难在工业实践中应用.
3.2 时间和空间组合压缩
时间和空间组合压缩方法是一种新型压缩方法,它结合了时间压缩和空间压缩的优点.卷积压缩
电路 利用一组异或门网络和一组无反馈的移位寄存器链来形成一个可以完成卷积运算的逻辑
4 测试压缩体系结构
主
,Syntest公司的VirtualScan和UltraScan以及Synopsys公司的Adaptive Scan等:
SmartBIST结构是由IBM公司实现的[5].在该结构中,激励解压缩电路包含了三个部分:输入逻
辑,有限状态机和扩散网络.其主要部分是有限状态机,它包含了多个LFSR.测试响应压缩
OPMISR.OPMISR实现了空间和
EDT结构是由Mentor Graphics公司实现的[34].EDT是Embedded Deterministic Test的简称.
TestKompress是Mentor Graphics公司利用EDT技术实现的商业工具.在激励解压缩端,TestKompress
采用了称为Ring产生器的有限状态机.Ring产生器和传统LFSR的最大区别在于Ring产生器将
选择性空间压缩电路(Selective Space Compactor),该电路能高效地处理未知位.
VirtualScan和UltraScan这两个结构是由Syntest公司实现的[35][36].在VirtualSca
主要包含一个由多种组合门构成的扩散网络.UltraScan是VirtualScan的一个改进版.在UltraScan
中,原始扫描输入和扫描链输入之间设计有一个时分DMUX27网络,扫描链输出和原始扫描输出之间
设计有一个时分MUX28网络.时分DMUX网络用于激励解压缩,而时分MUX网络用于响应压缩
Adaptive Scan结构是由Synopsys公司提出的[22].在该结构中,激励解压缩电路主要包含一个可
重构的MUXs网络.通过重构解决了伊利诺伊结构覆盖率不高的问题.该结构的输出端采用XOR网络
压缩响应.Adaptive Scan的一个优势是它可以很好地结合到Synopsys的综合流程中.
5 结束语
方法来降低芯片的测试
DA工具厂商都发布了它们第一代甚至是第二代测试压缩工具.测试压缩电路易于融合到现有芯
26 Electronic Design Automatic,电子设计自动化
27 Demultiplexor,解复用电路
28 Multiplexor,复用电路
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
片的设计流程中,且能保证很高的故障覆盖率,这是它能够在工业界广泛应用的重要原因,也是它
和逻辑内建自测试不同之处.逻辑内建自测试虽然已经研究了多年,本身具有很多优点,但是故障
覆盖率不高的缺点一直没有得到很好的解决,影响了它在工业实践中的应用.
好地处理未知
.对于测试压缩,当务之急是工业界和学术界联手制定标准.现在,不同的
测试压缩工具采用不同的测试压缩方法,设计人员很难针对不同的压缩电路设计统一的芯核外壳和
AT P G工具.
[72] B. Koenemann, "LFSR-coded test patterns for scan designs", In Proceedings of IEEE European Test Conference, pp.
[73] L. Li, K. Chakrabarty and N. A. Touba, "Test data compression using dictionaries with selective entries and
International Conference on Computer-Aided Design, November, 1998.
[76] A. Chandra and K. Chakrabarty, "System-on-a-Chip Test-Data Compression and Decompression Architectures Based
Codes", IEEE Transactions on Computer-Aided-Design, Vol. 20, No. 3, pp. 355-368, 2001.
[77] A. Chandra and K. Chakrabarty, "Test Resource Partitioning for SOCs", IEEE Design & Test of computers, pp.80-91,
[78] A. Jas and N. A. Touba, "Test Vector Compression via Cyclical Scan Chains and Its Application to Testing
[79] . Dastidar and N. A. Touba, "Scan Vector Compression/ Decompression Using Statistical Coding", In
[80] -Dastidar, M. Ng and N. A. Touba, "An Efficient Test Vector Compression Scheme Using Selective
[81]
[82] d Hardware Decompression Using LZ77", In
[83] and Testing Time Using
[84] Volume ", In
[85] andra and K. Chakrabarty, "Combining Low-Power Scan Testing and Test Data Compression for
[86] -on-a-chip using
[87] or combinational circuits", Technical Report 12.93,
[88] tion Conference,
pp. 336-340, 1992.
[89] K. J. Lee, J. J. Chen, and C. H. Huang, "Broadcasting Test Patterns to Multiple Circuits", IEEE Transactions on
Vol. 18, No. 12, pp. 1793-1802, 1999.
当前工业界中使用较多的激励解压缩电路是广播式和线性变换类型,这样的解压缩电路实现简
单,控制逻辑也简单.在测试响应压缩方面,由于异或网络和卷积编码压缩电路能很
位,正成为研究的热点
参考文献
[71] 胡瑜,韩银和,董婕,王达,刘慧,"龙芯2E可测试性设计技术报告",中国科学院计算技术研究所技术报告,
2005.11
237-242, 1991.
fixed-length indices", ACM Transactions on Design Automation Electronic System, Vol. 8, No. 4, pp. 470-490, 2003.
[74] I. Hamzaoglu and J. H. Patel, "Test Set Compaction Algorithms for Combinational Circuits", In Proceedings of IEEE
[75] B. Koenemann, C. Barnhart, B. Keller, T. Snethen, O. Farnsworth and D. Wheater, "A SmartBIST Variant with
Guaranteed Encoding", In Proceedings of IEEE Asian Test Symposium, pp. 325-330, 2001.
on Golomb
2001.
Core-Based Designs", In Proceedings of IEEE International Test Conference, pp. 458-464, 1998.
A. Jas, G
Proceedings of IEEE VLSI Test Symposium, pp. 114-121, 1999.
A. Jas, J. Ghosh
Huffman Coding", IEEE Transactions on Computer-Aided-Design, Vol. 22, No.6, pp. 797-806, 2003.
A. El-Maleh, S. Zahir and E. Kham, "A Geometric-Primitives-Based Compression Scheme for Testing
Systems-on-a-Chip", In Proceedings of IEEE VLSI Test Symposium, pp. 54-59, 2001.
F. G. Wolff and C. Papachristou, "Multiscan-Based Test Compression an
Proceedings of IEEE International Test Conference, pp. 331-339, 2002.
A. Chandra and K. Chakrabarty, "Reduction of SOC Test Data Volume,Scan Power
Alternating Run-length Codes", In Proceedings of IEEE Design Automation Conference, pp. 673-679, 2002.
A. Chandra and K. Chakrabarty, "How Effective are Compression Codes for Reducing Test Data
Proceedings of IEEE VLSI Test Symposium, pp. 91-96, 2002.
A. Ch
System-on-a-Chip", In Proceedings of IEEE Design Automation Conference, pp. 166-169, 2001.
A. Chandra and K. Chakrabarty, "Test data compression and test resources partitioning for system
Frequency-Directed Run-Length(FDR) codes", IEEE Transaction on Computers, Vol. 52, No. 8, pp. 1076-1088, 2003.
H. K. Lee and D. S. Ha, "On the generation of test patterns f
Department of Electrical Eng., Virginia Polytechnic Institute and State University.
H. K. Lee and D. S. Ha, "An efficient parallel fault simulator", In Proceedings of IEEE Design Automa
Computer-Aided-Design,
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
[90] I. Hamzaoglu and J. H. Patel, "Reducing Test Application Time for Full Scan Embedded Cores", In Proceedings of
IEEE International Symposium on Fault-Tolerant Computing, pp.260-267, 1999.
[91] S. Samaranayake, E. Gizdarski, N. Sitchinava, F. Neuveux, R. Kapur and T. W. Williams, "A Reconfigurable Shared
Scan-in Architecture", In Proceedings of IEEE VLSI Test Symposium, pp. 9-14, 2003.
ings of IEEE Asian Test Symposium, 2005.
IEEE
[95]
ompact based on Convolutional Code", In Proceedings of IEEE Asia and South Pacific Design
[97] Time Reduction Through Scan Chain Concealment",
[98] r Test Volume and Time Reduction
[103] ki, J. Tyszer, C. Wang and S. M. Redy, "Finite memory test response compactors for embedded test
[104]
. 776-792, 2004.
IEEE International Test Conference, pp.
[106]
Multiplexing (TDDM/TDM) with VirtualScan for Test Cost Reduction", In Proceedings of IEEE
作者简介:
[92] N. Sitchinava, S. Samaranayake, R. Kapur, E. Gizdarski, F.c Neuveux and T.W.Williams, "Changing the Scan Enable
during Shift", In Proceedings of IEEE VLSI Test Symposium, pp. 73-78, 2004.
[93] Y. Han(韩银和), S. Swaminathan, Y. Hu(胡瑜), A. Chandra and X. Li(李晓维), "Scan Data Volume Reduction
Using Periodically Alterable MUXs Decompressor", In Proceed
[94] Y. Han(韩银和), Y. Xu(徐勇军), A. Chandra, H. Li(李华伟) and X. Li(李晓维),"Test Resource Partitioning
Based on Efficient Response Compaction for Test Time and Tester Channels Reduction", In Proceedings of
Asian Test Symposium, pp. 440-445, 2003.
Y. Han(韩银和), Y. Xu(徐勇军) and X. Li(李晓维), "Co-Optimization For Test Data Compression and Testing
Power Based On Variable-Tail Code" In Proceedings of IEEE 5th International Conference on ASIC, pp. 105-108,
2003.
[96] Y. Han(韩银和), Y. Hu(胡瑜), H. Li(李华伟) and X. Li(李晓维), "Theoretic Analysis and Enhanced X-Tolerance
of Test Response C
Automation Conference, pp. 53-58, 2005.
I. Bayraktaroglu and A. Orailoglu, "Test Volume and Application
In Proceedings of IEEE Design Automation Conference, pp. 151-155, 2001.
I. Bayraktaroglu and A. Orailoglu, "Decompression Hardware Determination fo
Through Unified Test Pattern Compaction and Compression", In Proceedings of IEEE VLSI Test Symposium, pp.
113-118, 2003.
[99] L. Li, K. Chakrabarty, S. Kajihara and S. Swaminathan, "Efficient Space/Time Compression to Reduce Test Data
Volume and Testing Time for IP Cores", In Proceedings of IEEE International conference on VLSI Design, pp. 53-58,
2005.
[100] S. M. Reddy, K. Miyase, S. Kajihara and I. Pomeranz, "On test data volume reduction for multiple scan chain design",
Test SymIn Proceedings of IEEE VLSI posium, pp. 103-108, 2002.
[101] S. Mitra and K. S. Kim, "X-Compact: An Efficient Response Compaction Technique", IEEE Transactions on
Computer-Aided Design, Vol. 23, No. 3, pp. 421-432, 2004.
[102] K. Chakrabarty, "Zero-Aliasing Space Compaction Using Linear Compactors with Bounded Overhead",IEEE
Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 17, No. 5, pp. 452-457, 1998.
J. Rajs
applications", IEEE Transactions on Computer-Aided Design, Vol.24, No.4, pp.622-634, 2005.
J. Rajski, J. Tyszer, M. Kassab and N. Mukherje, "Embedded Deterministic Test", IEEE Transactions on
Computer-Aided Design, Vol. 23, No. 5, pp
[105] L.-T. Wang, X. Wen, H. Furukawa, F.-S. Hsu, S.-H. Lin, S.-W. Tsai, K. S. Abdel-Hafez and S.Wu, "VirtualScan: A New
Compressed Scan Technology for Test Cost Reduction", In Proceedings of
916-925, 2004.
L.-T. Wang, K. S. Abdel-Hafez, X. Wen, B. Sheu, S. Wu, S.-H. Lin and M.-T. Chang, "UltraScan: Using Time-Division
Demultiplexing/
International Test Conference, 2005.
韩银和: 中国科学院计算技术研究所博士研究生
胡 瑜: 中国科学院计算技术研究所副研究员
董 婕: 中国科学院计算技术研究所硕士研究生
王 伟: 合肥工业大学博士研究生
李华伟: 中国科学院计算技术研究所副研究员
李晓维: 中国科学院计算技术研究所研究员,博士生导师,先进测试技术实验
室主任
·上一篇:高速PCB设计指南之一Information Technology Letter Jan.2006
I `
S òO<
Information Technology Letter
2006H 14K 11ó (132ó)
( ó: 2006H1 6
óNl#A'T
l.…- P------------
, < lròO------
W !l. ---------
'ü `
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
时延测试研究综述
李华伟 李晓维
摘 要 本文综述了时延测试领域近年来的研究热点及其最新研究进展,主要包括:在分析时延故障结构测试和功能测
试之间关系的基础上,阐述了基于软件的自测试方法在时延测试方面的研究进展;在以激活被测通路在最恶劣条件下
的通路时延为目标的高质量时延测试生成方法方面,重点介绍了考虑串扰效应的时延测试方法以及开关级时延测试生
成方法的研究工作.本文也简要介绍了中科院计算所先进测试技术实验室在相关研究工作上的进展.
关键词 时延测试,时延故障,结构测试,功能测试,基于软件的自测试,串扰,开关级测试生成
为了保证数字电路正常工作,不仅需要验证其逻辑功能是否正确,同时还要求它在给定输入的
情况下能在规定的时钟周期内输出正确的响应.电路中的传输延迟,包括门延迟和线延迟,一直是
限制数字系统时钟频率提高的关键因素.对于高频工作的电路,任何一个细小的制造缺陷都可能引
入不正确的延时,导致电路无法在给定的工作频率下正常工作.因此,以确保数字电路时间特性正
确性为目标的时延测试一直是集成电路(简称IC)测试领域的热点问题.
作者曾在2001年对当时的通路时延测试方法研究进展进行了综述[1],本文将重点介绍时延测试
领域近年来的最新研究进展,内容安排如下:第一部分简要介绍时延测试的基本概念和方法;第二
部分分析时延故障的结构测试和功能测试之间的关系;第三部分阐述基于软件的自测试方法在时延
测试方面的研究进展;第四部分介绍高质量的时延测试方法,包括考虑串扰效应的时延测试方法以
及开关级时延测试生成方法.最后总结.
1 时延测试的基本概念和方法
1.1 时延故障与时延测试
时延故障的概念最早是由布劳耶(M. A. Breuer)在文献[2]中提出的,用来描述当正常的传输延
迟或惯性延迟发生改变时电路的变化情况.延迟过长的门或者线是时延故障的根源.时延故障的存
在将导致在某些输入下,电路的一个或多个原始输出在给定的时间限制内得不到正确的响应.
时延测试应该能够验证:在规定的时间内,电路的输出是否能及时地根据输入值做出响应,也
就是是否能及时地从一个输出状态转变到另一个输出状态.因此测试时最起码要牵涉到两个输入向
量,前一个向量将电路的输出稳定在一个状态,而后一个向量在输入处产生一定的跳变以改变电路
的输出状态.这一点有别于基于固定型故障模型的功能测试.功能测试只牵涉到一个状态,因此一
个功能测试只由一个向量组成,对每个向量的输出都要进行输出采样,来确定电路是否正确完成了
当前测试的功能.时延故障的测试向量一般采用双向量模式.其中V1为初始化向量,用
来初始化电路中各点的状态;V2则用来产生需要的跳变来激发相应的状态转变以检测时延故障.
一个完全的时延测试要求能够检验被测电路中任何通路的传输延迟是否超过工作时钟周期.这
里的通路是组合电路中的物理通路,即从电路的原始输入或触发器的输出端到电路的原始输出或触
发器的输入端之间的由引线和门组成的交替序列.由于上升跳变信号和下降跳变信号在电路元件中
的传播延迟是不一样的,每条物理通路又对应于两条逻辑通路.对于任一条逻辑通路,如果它的信
号传播时延超过了工作时钟周期,则该逻辑通路存在通路时延故障(path delay fault).因此,在时延
测试中,通路通常指逻辑通路,通路时延故障的测试又称为通路的测试.
通路时延故障模型是一种最有效的时延故障模型,有利于处理分布时延故障,因此得到了科研
人员的广泛关注.在通路时延故障模型下,根据工作时钟周期限定统一的测试采样时刻,对任一测
试,只要在这一时刻输出端预期的跳变还未来到,就认为所测的通路存在时延故障.引起通路时延
过大的原因有可能是局部元件的延迟过大,也有可能是分布在多个元件上的延迟稍大.
采用什么样的测试生成约束来敏化(sensitize)通路,即使信号能够沿着被测通路从组合电路输
入传播到输出,是通路时延测试生成的关键问题.常用的不考虑电路时延分配的测试生成约束从强
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
q 9#A'~robust test [3]^M29#A'~non-robust test [4]^s6 ^# ~functional
sensitizable [5]~BüE o#A'4z3 FEeE C^ Lp,X^#A' ¨+C^,XFEeE C^>
2O[6] 9^#,X¨M29^#,X¨s6 ^# ,X's6 k-,X~functional redundant ~Vp5× E C^ #A'*ó ~W¨yE b+C^,XrL¨J
Sk+C^^#,XE C^D rtZ~
S*üE C^ Lp _M6,X G ,XK Nl +C^,XE C^D Lc-+C^,X
D)[rKS¨ A' #A'+C^,X! 5E C^AE) r,X~·!8¨V)2'1T#A'L 4 +C^r
' #A',XQ ¨C LpDG ,X + +C^4§& D,X AE¨W,X#A'*ó 3
!¤E C^ Lp k ~
ü + ¨ b5× #A',X "'[9]~
1.2.1 6Eó Js4 +C^#A'
A "'E *üb4 +C^'FwoYF…4 ,X¨ üs Eg9's Eg 0^ " <,X c+C^~
#A'4§XV 1.1/~
Eg9'Eg J , h*ü ¨rL+C^^6 'E ,ü o- ~E o- FD,
E C^,X#A'~ZFS!E K Nl¨ EW6,X JsNe)[9h*ü G V1~ü 1.1,X c ¨
Eg Js#/ˇZ Nqn 0 Js~Rated Clock % #,XE C^,X !¤Nqn 0 Js Eg J ,< ,ü Lp~
·A "'6 óh*üˇ ,X G ¨ W^ ·ˇ)4z3{*ó#A' G ~'5à¨W 6 #
A'K 1.1Fw4§X,X+C^~
1.1 6Eó Js#A'ü4 +C^ ,Xh*ü[9]
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
1.2.2 r_ c+C^#A'
A "'E *übK r_ 4§X,X c+C^~W,X Uì& ^ h*üˇ ,X G ~E ¨
^ 5×<%4 FEe9{*ó #A'¨ 5àS#A'*ó k o~'5à¨r 4§X Uü
*ü,X 4§X E E 9- J ,<' Nq ,X- ~HOLD ¨9S /ˇ!E / (
- AE ~
1.2 r_ c+C^#A'ü c+C^ ,Xh*ü[9]
1.2/Z K r_ 4§X,X+C^'#A'h*ü,X c ~! G 2F… h
s Eg9,XFwo!' h " <,XFwo!~E E A'5B#A'{ TC=0'h*ü Js
CK¨ V1,X( F… E E SCANIN1u6 NNc/ˇ9 , ¨à ¨3 U-A E C^ ,Xˇ) F AE FD G ,X!7/ˇ!~% #HOLD
1 ¨SV1 E ,XFwo! Eg- J ,<(HL)G ¨à V1 hs Eg9,XFwo
! tPI~'+bh*üV15à ,X 0n ¨ V2,X( ! /ˇ9~y-¨a% #HOLD
1 ¨h*üV2 G ¨ü4 FEe,XEg90^{*ó V1V2,XC ~#A'{ TC=1^+
C^5B!7 DQ Nqn 0 Js<ó¨üE <ó4§3 JsCK 4 Eg J , " ,¨y ¨ " /ˇ ~ Eg ^ ' #A',X Eg9G ·~
E / 4§XK 4 , ~'5à¨+b Urt
- J ,<¨ M6/^ J r ¨ o E C^,X 3 rt~
+C^#A',X &I# ~#A' K¨ < A'Au+C^,X
1.3 *ü c+C^#A'ü c+C^ ,Xh*ü[9]
1.2.3 *ü c+C^#A'
E / "'^ *ü,X /ˇ9~E *ü 6Eó Js ¨y
-ü , 6 {*ó1' G V2¨E / 6 UE E ~a , E C^ Lp 5 C Lp,X#A'~'5਷ G ,X, G
¨AE6 -A \P ,XLp Z,")[~
1.2.4 ^ JsM2 c+C^#A'
S*ü^ JsM2 #A' "'¨#A'M2 c+C^G ,X LpL U b G ~
1 ¨V2hA +ü!7 0 ü4 FEeh*üV1k~1'¨V1hA E E CK b
ae ( ,X G L {*ó~1 ¨Vp> #E C^4 & " <¨FwL U^ " <( Eg s
Eg #oe,ü Lp~V 1.4/~' #A'¨E t,X#A' G b+C^4§X*ó
,X¨AE n ,Xs6 G ~b{*óZ4§X^#,X Lp's6 ^#,X Lp,X [11]~
n2.1 Vp S*ü J 4§X¨ü 0 Js
h*ü¨/~E #A's6 #A'~Vp #A'6 E E r_< J *ü h*ü¨
ü¨ G-AE,ü 5 5 c 6 üs6
0 h*üL U,X#A'~ ) % #~VpL U9 ,X
#¨ NO5× +bE E / 8N" |~process
variation CK,X¨Fw^6 "u G2ˇ¨ AEà ·M2s6 E C^ > 5àS6 0,X8 (y
s~¨Vp> +b o5LK CK,X¨FwAEhA
6 E # ) ¨ G ¨—7¨8 (üS*ü,X‰ó3#~[11]E E rP' #A's6 #A' CK,X
5LKF+$ ^ 4§X#A' CK,X )[3E > ZA ¨4§A
b- A {~Intellectual Property, IP ,XSOCA'Au#/ C^9C^BF!¨5àSOC,X#A'K Nl3
C^9C^2 E ~SOCAEàb 8,X+C^¨W4§ Z\ AE,XIP~E o^6 D+,X^ ,X^
# ,X11 / 2ˇ4 ~ bEC ,X7 #A' "' GK!9Px Oj¨ SOCG ,X^4 / ¨V
) 7 #A'×' ¨*ü #',X ) <0#A'*ó ^zG ^4§p d^
* 7 A ,X<¨9#A'JW( F… ~S*üSBST "'¨#A' ) # ) <Lp
Z,")[¨ 4B!¤EW ,X,|C$d¨6 ó,|ü(Y,|<
M6 4 oM6 #A',Xs6 ^#E C^ J#A' G *ó - 0J 0~
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
.8V E C^
K-8V E C^[14]V ,X ¨ürLh*üS*üs6 #A' # ) J ,AC 5 IR~·!8¨<Q' B7-B0ALU
Eg ,XFwoE C^AE ,X hA b Js % # JJ ,A ¨ 5àüAC |Z
C ¨Fw¨ EgALUEg ,XC ü Js8V
J ,AC~E A¨¨CK bAC4 !6bAC,XE C^üA c 2-8V E C^~Vp
b ^6 ,X c E oE C^F 7 2-8V E C^¨ ^ k 4§A E oE C^ ,X
5LK UAE —7¨CYE
ti-1 K¨ (% #) t K¨ ~M2% # ti+1 K¨ ~% #
3.2 F… DBE C^FEeü Js8V G ,X> (Parwan ) <)[14]
i
) 3.1 Vp 5K-8V E C^ ,X LpAE —7¨CYE K Js<ó,XE C^ ¨Fw
E 5E C^AE CK8 ( Lp~
) 3.2 Vp 5E C^*ü,óEóh*ü#A' G s6 AE^#,X¨FwE 5E C^7 2-8V
1 Arithmetic Logic Unit¨1kFEe)
2 Accumulator¨3t<
3 Instruction Register¨ ,<
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
容忍通路.
处理器里的功能不可测通路,用任意的指令序列都不能测试.功能不可测通路上的时延故障的
存在一般不会导致芯片故障,除非该时延故障使该通路的通路时延超过了2个时钟周期.而如果超
过2个时钟周期的这种情况出现,它很有可能会被跳变故障测试检测出来.所以在业界应用通路时
延测试中一般不需要考虑这种功能不可测故障.
3.2 指令可测的通路
为了使用指令来自测试微处理器的通路时延故障,首先要根据处理器核的指令集体系结构和微
体系结构,抽取寄存器和控制信号之间的时空约束.使用这些约束来检查所有的组合通路是否功能
可测或者指令可测.如果一条通路不能够在抽取的约束下找到测试向量,那么它就是功能不可测的,
可以从故障集中删除.
文献[14]给出了一种基于抽取约束的通路分类方法,别出来.该方法先对数
据通路(da路部分,枚举所有
的指令对,对每一个指令对,以符号的形式提取出所有可能应用到数据通路部分上的向量对,这些
符号
.然后在门级网表分别对数据通路部分的通路和控制器部分
中的通路段(segment)施加这些约束,同时添加一定的测试生成约束(如强健测试,非强健测试等)
来判
示,对数据通路部分,指令不可测的通路分别达到84%和60.8%,而结构不可测的通路
仅有
被映射到寄存器字一级的值和控制信号的值,然
型信息在指令级进行确认.最后一个预先定义的传播程序把从寄存器/触
发器捕获的故障结果传播到存储器.
令,可解决这些问题,同时提高了可编程核的可测性.例如,如果处理器
里的某寄存器很难访问到,就增加一条指令直接访问该寄存器.在指令级做DFT会增加一定的硬件
开销
能
向量作为培训测试(training test),监测并记录被测模块输入输出的模拟结果,加以分析获得对被测
模块
将指令可测的通路识
tapath)部分和控制器(controller)部分分别进行约束提取.对数据通
向量对代表数据通路部分测试时的约束.对控制器部分,寄存器的合法取值,控制信号和寄存
器跳变之间的关系被作为约束提取出来
断通路或通路段是否可以敏化,从而剔除功能不可测的通路.对Parwan处理器[15]和DLX处理器[16]
的实验结果显
8.1%和3%[14].对控制器部分,指令可测和结构可测的通路数的区别没有这么明显
从功能可测通路中,可选取一个长通路子集在门级使用基于结构的时延测试自动生成工具进行
测试生成.产生的测试向量对只是指定微处理器核里原始输入和触发器的值.使用一个测试程序综
合过程[17],这些指定内部寄存器值的测试向量首先
后根据保存的指令的功能模
文献[18]中提出了测试系统芯片处理器和IP核时的指令级可测试性设计.用可编程核运行测试
程序来测试SOC的生产缺陷时,可能需要很长的测试代码.通过在指令级进行DFT设计,即对芯片
上的可编程核增加测试指
.
3.3 虚拟约束电路可测的通路
对于高性能微处理器设计来说,临界通路通常在数据通路部分,这使得数据通路部分的通路时
延测试更加重要.根据处理器核的指令集体系结构和微体系结构抽取约束很困难,3.2节中的方法需
要考虑所有可能的指令对,目前约束抽取大多为手工完成的.为了自动获得有效的功能约束,一种
虚拟约束电路(virtual constraint circuit,简称VCC)被应用于时延测试的功能测试向量生成中[19].
虚拟约束电路用于给被测模块的输入输出添加必要的约束,它的构建过程如下:使用一批功
输入输出的可能约束;这些约束被分为3种情况(恒定的赋值,可控制的赋值,不可控制的赋
值)刻画在输入VCC和输出VCC中.由于约束的抽取是基于模拟的,因此是不完全的.时延测试
是双向量测试,文献[19]使用任意可能组合的两条指令来进行培训测试,抽取约束和构建VCC电路.
VCC构建后,与被测模块一起构成一个更大的模块,施加基于结构的测试生成,得到虚拟约束电路
可测的通路.
由于VCC的不完全性,虚拟约束电路不可测的通路不一定就功能不可测,但使用虚拟约束电路
可测的通路来进行定时分析中的通路速度分组(speed binning)是可行的.实验表明这种方法得到的
测试向量可以有效剔除一些假通路,找到的最长通路接近于结构可测的最长通路,而使用数量在百
倍以上的功能验证向量也很难达到同样的分析效果.
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
3.4 潜在功能可测通路
文献[20]提出一种功能模式下的时延测试生成方法.该方法根据指令集结构和处理器的寄存器传
输级描述把数据通路模型化为指令执行图 (IE-Graph),控制器被抽象模型化为有限自动机,从中提取
出约束条件.然后分两阶段进行测试生成.第一阶段把所有通路分为功能不可测通路和潜在功能可
测通路两类.第二阶段对潜在功能可测通路用组合的AT P G4产生测试向量.最后,根据控制信号和指
令寄存器内容,
播所经过的数据通路,基于这些矩阵可以很方便地在寄存器传输级进行通路分类,
识别
9.3%
4 高质量时延测试
号线间的串扰(crosstalk)或电源噪声(power supply noise) 等 — 对
电路性能的影响的角度,尽可能激活噪声效应对被测通路的时延干扰,特别是减速效应;二是从电
路建
在超深亚微米和纳米工艺下,对高频开关电路,毗邻信号线间由于电容,电感的耦合效应产生
串扰,特别是电容耦合效应在其中起主要作用.通过相邻的两条信号线之间耦合电容Cc的作用,将
基于启发式算法产生测试指令序列.该方法中IE-Graph的建立和约束的提取都是手工
完成的.而且目前没有任何测试生成的商业工具能识别他们提取的约束,导致他们的方案不能很快
地从实验中得到验证.
我们针对处理器的数据通路部分的通路时延故障提出了一种寄存器传输级和门级网表结合的处
理器时延测试生成方法[21].该方法建立了一种以数据流-状态矩阵表征的新指令集模型,记录指令执
行过程中状态的转换和寄存器间数据的传输.指令集的数据流-状态矩阵模型很好地反映了执行处理
器指令时信号传
出潜在功能可测通路.然后,将测试不同通路的寄存器取值约束分别施加到被测处理器的门级
网表中相应的输入和触发器上,对所有潜在功能可测通路进行带约束的非强健通路时延测试生成.
对Parwan处理器的实验结果显示,在寄存器传输级的通路分类识别出70.9%的通路是功能不可测的.
约束对AT P G的结果也产生了很大的影响.因为应用了约束, 的通路被识别出用处理器指令不可
测.
传统的测试生成方法,认为测试向量只要敏化被测通路 — 使一个跳变信号沿着被测通路传播
到输出即可.然而,敏化一条通路的测试向量对通常有很多种选择.精确的电路模拟显示,不同的
测试向量对下目标通路的时延并不一定相同.传统的测试生成不一定能激活被测通路在最恶劣条件
下的通路时延[22].本节介绍一些高质量的时延测试方法,即为了激活被测通路在最恶劣条件下的通
路时延,在传统的测试生成方法基础上增加特殊技术而形成的方法.这些技术可以分为两类:一是
从考虑噪声效应 — 如信[22-25][27]
模角度,分析开关级或晶体管级电路的充放电路径引起的时延变化,来尽可能找到引起被测通
路最大时延的测试向量[27,28].以下介绍第一类方法中考虑串扰效应的时延测试方法研究进展,以及第
二类方法中开关级时延测试生成方法研究进展.
4.1 考虑串扰效应的时延测试方法研究进展
随着VLSI工艺的特征尺寸向超深亚微米,纳米级的持续推进,各种噪声效应对电路的性能和信
号完整性产生了重大的影响,线间串扰问题作为其中最突出的问题之一,受到了芯片设计和测试领
域的广泛关注.
图4.1 (a) 串扰引起尖峰脉冲 (b)串扰引起时延改变
4 Automatic Test Pattern Generation,测试向量自动生成
CC
侵略线
受害线
CC
侵略线
受害线
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
可能使一条信号线上的信号影响另一条信号线上的信号,严重时导致电路出现逻辑错误或者时延故
障.施加影响的信号线被称为侵略线(aggressor line),而被影响的信号线被称为受害线(victim line).
串扰
脉冲表现为:当侵略线上出现一个上升跳变或下降跳变时,与它相邻的受害线上
的信号值本应维持稳定的0或1信号值,却由于耦合效应产生了一个尖峰脉冲,严重时引起电路中
的逻辑错误.串扰引起时延改变表现为:当侵略线和受害线上的信号同时发生同向(或者反向)的
跳变,受害线上的信号转变延迟将会显著减少(或者增加),称为串扰引起的加速(或者减速).当
这些信号时延变化严重时,将会导致电路无法工作在规定的时钟周期下,表现为时延故障.
电路能够正常工作的最大时钟频率是受限于电路中信号传播时延最长的通路即临界通路的.无
法预见的串扰减速问题,尤其是临界通路上的线间串扰问题,将严重降低芯片的性能.因此,有必
要在现有的时延测试方法之上,考虑线间串扰的时延效应,建立新的时延故障模型,时延测试生成
扰引起的时延故障进行测试,以激活电路在最恶劣情况下的最大通路时延,从而实现更
效的时延测试.
考虑串扰效应的时延测试已经成为一个不可忽视的问题,并在测试生成方法上有了一定进展.
文献[23]了建模,分析了引起串扰减速效应的约束条件,并开发了一
种时延导向的回退算法来指导串扰减速故障的时延测试生成.文献[24]讨论了同步时序电路中串扰引
起的
统芯片中时延测试及定时分析的层次化方法"中的研究工作,我们将波形敏化应用到考虑串扰影响
的时
信息,
将故障集削减80%以上.
Test Pattern Generation considering crosstalk-induced effects),并进行了基
准电
非门,与非门,或非门)构成的门级网表进行.但是研究表明,由于实际的CMOS电路经常包含复杂
被测
考虑如图4.2(a)所示的一个AOI门(与或非门)的晶体管级CMOS静态逻辑实现电路,图4.2
(b)
生成延故障,产生图4.2(b)中所示的双向量强健测试
的负面影响可以被分为两类:串扰引起尖峰脉冲,串扰引起时延改变,分别如图4.1(a),(b)所示.
串扰引起尖峰
方法来对串
有
对线间串扰引起的时延效应进行
时延故障的选择问题.文献[25]提出了一种考虑串扰效应的通路时延测试生成方法,基于遗传算
法来搜索通路的最大时延.
上述文献工作中共有的特点是需要特殊的,耗时的方法在测试生成过程中处理电路的时间分配.
通过在国家自然科学基金重点项目"从行为级到版图级的设计验证与测试生成"以及面上项目"系
[7]
延测试生成中,取得的主要成果有[26]:
提出了单串扰源通路时延故障S-PCPDF(single precise crosstalk-induced path delay fault)模型.
该模型可扩展到多串扰源通路时延故障的情形.
提出了快速寻找目标S-PCPDF故障的搜索方法.该方法基于静态定时分析给出的时延分配
进行原始输入跳变信号的无条件传播,找到所有可能的带时间参数的跳变信号,与临界通路上
的跳变信号按跳变时间区域配对,确定可能的串扰源.
提出了对目标S-PCPDF故障集进行筛选的两种办法:一种方法基于对被测通路的旁路输入进行
测试约束来筛选;另一种方法基于对临界通路的预测试生成进行筛选.实验表明,两种方法的
结合可以有效地
提出了考虑单串扰源影响的时延测试生成算法.基于S-PCPDF故障模型,通过增加对产生串扰
信号的子通路的敏化,先后实现了在波形敏化,非强健测试和强健测试3种测试约束下的时延
测试生成.
根据上述思想,我们开发了考虑串扰影响的面向临界通路的测试生成系统:CPODTPG+X
(Critical Path Oriented Delay
路的实验分析工作,验证了方法的有效性.能够将串扰时延故障的筛选工作放在测试生成之前
完成,使得在测试生成过程中不再需要考虑电路的时延分配,从而便于在已有的逻辑门级时延测试
生成算法中方便地集成考虑串扰的时延测试生成方法.
4.2 开关级时延测试生成方法研究进展
目前时延测试生成方面的研究,包括本文前面提到的方法,大多基于基本逻辑门(与门,或门,
的门结构,而传统的基于逻辑门级的时延测试生成方法只考虑了基本门的测试生成约束,无法激活
电路最恶劣情况下的时延[28].
是该电路的门级模型.为了测试图4.2(a)中粗线所示的通路时延故障PDF,传统的时延测试
方法是考虑图4.2(b)中粗线所示的通路时
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
~a1, a2, a3, a4 =(10, 11, x0, xx)~VpüJ'1u4{5× #E C^ü
{a1-a3}^{a1-a4}^{ a1-a3¨a1-a4}11¨V 4.2~a #PDF,X AEà,X~+b b FEeK…,X+C^ _"u +K'J'
1ur) +C^,XJ'1u+C^X¨ *üFEeK…4{,X 4
Jw5 ,XE C^ ~
~a AOI,XJ'1u4{(c) AOIK…,XJ'1u4{
4.2 AECMOSK…
5à- 0J #A'*ó ' Lp "' Vp5× ¨ ,X #A'~
[)[22] dZE K… ,X ·2 1 K…,XYü+ ,Xae ( ×2 à K C ,XEg9
DG ~ü!8 . ¨E E üK…4{5%> #E C^ü # ,X ¨J1 G *ü9E > NX
ae ¨ kó ,X> #E C^ K…,XYü+ ,Xae ( ~
[)[28],¨y b G4{+C^ _¨ Z / ,X Lp, ,XV J ,X9#A'
"' W-9#A'~ Lp, Z Eg9Eg E / ,X+E<E ¨ü CMOS
K…X ,X+C^¨W FEeE C^ h×5àü AECMOSK…,X+C^¨ 5FEeE C^^6 h
-#ZA FEeE C^ü # ,X Lp
, ,XW-9#A' 4 ,X9#A', !¤¨#A'BüG :+ P ¨¨6 M+ E C^,X ~
CMOSM- FEer)
(b) AOIK…,XK…4{ _
CMOS| FEer)
E ·2 5×<%üK…4{,X#A'*ó
Lp, ¨J % ~rP'/¨ b
[)[29]E !95×<%Z| FEe+C^,X G4{ #A'*ó ~üM- CMOS+C^ 4 AE6 $ C
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
某些代表最高水平微处理器定时需求的今天,动态逻辑正在成为一种标准电路技术.它在以下3个
方面
于多米诺电路的时延测试在很
多方面存在问题.首先,由于多米诺电路的工作方式分为预充电(precharge)和求值(evaluate)两
个阶段,(在图4.2(c)中表现为clk为逻辑0时
a7被充电到逻辑1),因此原来的二向量时延测试的第一个向量在此已经不必要甚至不起作用了.第
二,由于多米诺电路逻辑门构成的复杂性,在逻辑门级考生成很难激活电路中临界的时
延传播通路.第三,对于多米诺电路,预充电逻辑的时延故障也需要考虑,因为慢的预充电过程可
能引起求值阶段的错误求值,从而影响电路的正常操作.在文献[28]时延故障目标的基础上,文献[29]
引入
5 总结
参考文献
李华伟,闵应骅,李忠诚,"通路时延测试综述",《计算机工程与科学》, , ( ):页.
EEE Transaction on Computers, 1974,
Vol. 22, No. 10, pp. 1078-1092.
. Devadas, and K. Keutzer, "Robust Delay-Fault Test Generation and Synthesis for Testability under a
," Proc. of 28th DAC, June 1991, pp. 80-86.
[4]
Symp., 1995, pp. 374-379.
J. A. Waicukauski, E. Lindbloom, B. Rosen, and V. Iyengar, "Transition fault simulation," IEEE Design Test, April
优于静态逻辑,从而能够实现高频电路:1)更低的跳变阈值,2)更小的输入电容,3)提供有
效的高扇入门元件.多米诺电路(domino circuit)作为动态电路的典型代表,受到了广泛的关注.图
4.2(c)是AOI门的晶体管级CMOS多米诺逻辑实现电路.研究多米诺电路的时延测试方法,需要
考虑以下3个问题:时延缺陷影响多米诺逻辑门的方式;捕获这些时延缺陷的时延故障模型;用于
检测时延故障的测试生成约束.将传统的二向量时延测试方法直接用
预充电阶段就提供了时延测试所需要的初始化向量
虑时延测试
了E目标和P目标,分别针对求值逻辑和预充电逻辑,给出了相应的强健测试生成约束.实验
结果显示不同的工艺映射机制得到的同一个多米诺电路,其可测试性可能有显著差异.因此,有必
要研究适当的工艺映射机制,以提高多米诺电路的时延可测试性.
本文综述了时延测试领域近年来最新研究进展,主要包括:在分析时延故障的结构测试和功能
测试之间的关系的基础上,阐述了基于软件的自测试方法在时延测试方面的研究进展;在以激活被
测通路在最恶劣条件下的通路时延为目标的高质量时延测试生成方法方面,重点介绍了考虑串扰效
应的时延测试方法以及开关级时延测试生成方法的研究工作.前者是针对包含可编程处理器核的
SOC芯片的一种很有前途的测试方法;而后者则针对集成电路工艺发展带来的电路性能方面的问题,
以提高时延测试质量为目标开展研究.这两个方面是目前时延测试领域的研究热点.本文也简要介
绍了中科院计算所先进测试技术实验室在相关研究工作上的研究进展.
[1] 2002 24 280-83
www.ict.ac.cn/xueshu/2001/h118.doc.
[2] M. A. Breuer, "The effect of races, delays and delay faults on test generation," I
[3] K. T. Cheng, S
Standard Scan Design Methodology
K. T. Cheng and H. C. Chen, "Generation of high quality non-robust tests for path delay faults," Proc. of 31st Design
Automation Conf., 1994, pp. 365-369.
[5] A. Krstic and K. T. Cheng, "Generation of high quality tests for functional sensitizable paths," Proc. of VLSI Test
[6] K. T. Cheng and H. C. Chen, "Classification and identification of nonrobust untestable path delay faults," IEEE Trans.
Computer-Aided Design of ICs and Systems, Aug. 1996, Vol. 15, No. 8, pp. 845-853.
[7] 赵著行,闵应骅,李忠诚,"布尔过程在通路敏化中的应用,"《计算机学报》,1996,19(8),第568-575页.
[8]
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
1987, vol. 4, pp. 32-38.
[9] Michael L. Bushnell and Vishwani D. Agrawal, Essentials of electronic testing for
VLSI circuits, Boston:Kluwer academic publishers, 2000.
digital, memory, and mixed-signal
ian, and S. Bhawmik. "Integration of Partial Scan and Built-In Self-Test," JETTA, Aug. 1995, Vol.7,
5-137.
[16] ling and Synthesis of the DLXS RISC Processor. VLSI Design Course Notes, Univ. of
[17] in Microprocessor Cores," Proc.
of ITC 2000.
nduced Effects", In:
s, 21(2), pp.179-193, 2005.
ower Supply Noise Effects," IEEE Transactions on CAD, 2001.
作者简
[10] C.-J. Lin, Y. Zor
No.1-2, pp. 12
[11] A. Krstic, J.-J. Liou, K.-T. Cheng, and L.-C. Wang, "On Structural vs. Functional Testing for Delay Faults,"
Proceedings of IEEE International Symposium on Quality Electronic Design, March, 2003.
[12] A. Krstic, L. Chen, W.-C. Lai, K.-T. Cheng, and S. Dey, "Embedded Software-Based Self-Test for Programming
Core-Based Designs," IEEE Design and Test of Computers, Jul. 2002, vol.19, no.4, pp. 18-27.
[13] International Technology Roadmap for Semiconductors (ITRS): 1999 Edition,
http://public.itrs.net/Files/2001ITRS/Links/1999_SIA_Roadmap/Test.pdf, page 61.
[14] W.-C. Lai, A. Krstic, and K.-T. Cheng, "On Testing the Path Delay Faults of a Microprocessor Using its Instruction
Set," Proc. of the VLSI Test Symposium 2000, pp. 15-20.
[15] Z. Navabi. VHDL: Analysis and Modeling of Digital Systems. McGraw-Hill, New York, 1997.
M. Gumm. VHDL - Mode
Stuttgart, Germany, Dec. 1995.
W.-C. Lai, A. Krstic, and K.-T. Cheng, "Test Program Synthesis for Path Delay Faults
[18] W.-C. Lai, and K.-T. Cheng, "Instruction-Level DFT for Testing Processor and IP Cores in System-on-a-Chip," Proc.
of the Design Automation Conference (DAC 01), ACM Press, NY, 2001, pp. 59-64.
[19] Charles H.-P. Wen, L.-C. Wang, K.-T. Cheng, Kai Yang, and W.-T. Liu, "On A Software-Based Self-Test Methodology
and Its Application," IEEE VLSI Test Symp, May, 2005.
[20] Virendra Singh, Michiko Inoue, Kewal K Saluja, and Hideo Fujiwara, "Software-based delay fault testing of processor
cores," International Conference on VLSI Design,2004,pp.933-938.
[21] Hongxia Fang, Huawei Li, Xiaowei Li. "Instruction-Based Path Delay Test Generation for Processors," Digest of IEEE
5th Workshop on RTL and High Level Testing, Osaka, Japan, Nov. 2004, pp. 103-108.
[22] L-C. Chen, S. K. Gupta and M A. Breuer, "High Quality Robust Tests for Path Delay Faults," Proc. IEEE VLSI Test
Symp., pp. 88-93, 1997.
[23] W.-Y. Chen, S. K.Gupta, and M.A .Breuer, "Test Generation for Crosstalk-Induced Faults: Framework and
Computational Results," Journal of Electronic Testing: Theory and Applications, Vol. 18, No. 1, pp. 17-28, 2002.
[24] K. Keller, H. Takahashi, K. Saluja, Y. Takamatsu, "On Reducing the Target Fault List of Crosstalk-Induced Delay
Faults in Synchronous Sequential Circuits," Proc. International Test Conference, 2001, pp. 568-577.
[25] Krstic, J.-J. Liou, Y.-M. Jiang and K.-T. Cheng, "Delay Testing Considering Crosstalk-I
Proceedings of IEEE International Test Conference, pp.558~567. Baltimore, 2001.
[26] Huawei Li, and Xiaowei Li, "Selection of Crosstalk-induced Faults in Enhanced Delay Test," Journal of Electronic
Testing: Theory and Application
[27] A. Krstic, Y.-M. Jiang and K.-T. Cheng, "Pattern Generation for Delay Testing and Dynamic Timing Analysis
Considering P
[28] S. Natarajan, S. K. Gupta, and M. A. Breuer, "Switch-level Delay Test," In: Proceedings of IEEE International Test
Conference, pp.171-180, 1999.
[29] S. Natarajan, S. K. Gupta, and M. A. Breuer, "Switch-level Delay Test of Domino Logic Circuits," In: Proceedings of
IEEE International Test Conference, pp.367-376, 2001.
介:
李华伟: 中国科学院计算技术研究所副研究员
李晓维: 中国科学院计算技术研究所研究员,博士生导师,先进测试技术实验
室主任
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
嵌入式存储器内建自修复技术
王达 李华伟 胡瑜 李晓维
摘 要的主体结构,对嵌入式存储器进行内建自测试(BIST, Build-in Self-Test)和
入式存储器的基本结构,自测试和自修复的流程,主要介绍了存储器内建自修复的种类,修复的策略和设计修复结构
自动化(EDA,Electronic Design Automatic)工具等.
引言
嵌入式存储器由于其高带宽,低功耗,硅面积开销小等优点被广泛用于SoC5 和其他超大规模集
电路中.为了满足应用的需求,SoC的支配主体也从逻辑部件转变为存储器.ITRS20016报告[1]中指
出,SoC系统中的嵌入年的 52%,
在2014年将提升到的94%.SoC系统中存储器容量将会达到1(a)所示.
随着COMS制造工艺的持续推进(譬如65nm工艺),在沟道长度,氧化物厚度,沟道中的随机掺杂
例等参数的影响下,器件的缺陷数目很难再保持在低水平,面积不断增大的嵌入式存储器正是缺
存储器的成品率,因此嵌入式存储器的修复技术成为关键.所谓修复就是一旦发现缺陷单元,可
ts的时候,不带有修复流程的成品率(yield)是95%
右,带有修复的成品率将是 99%左右.当嵌入式存储器的容量不断增大,不带修复的成品率以接
2 的速度下降,到存储器大小为32Mbits时成品率约只有15%;但是一旦进行了修复,
成品
整
嵌入式存储器正逐渐成为SoC
内建自修复(BISR, Build-in Self-Repair)是降低制造成本,提高SoC成品率和可靠性的必要环节.本文介绍了嵌
使用的电子设计
关键词 嵌入式存储器,内建自修复,内建自测试
6
成
式存储器作所占面积比例将不断变大,从 2001 年的 45%到 2005
256Mbits或者更大,如图
比
陷增大的主要来源,带来了对制造工艺和设计规则的挑战.SoC成品率的提高当前主要取决于嵌入式
[2-4]
以将缺陷地址单元映射到冗余地址单元,检测出的故障地址将放弃不用,以避免舍弃整个芯片.
文献[3]指出在嵌入式存储器大小为1Mbi
左
近 .7%/Mbits
率下降率只有0.3%/Mbits,在存储器大小为32Mbits时,修复过的成品率仍可达到87%左右.
那么修复过的存储器成品率提高到底有多大呢 图1(b)所示为SoC 成品率的提高与存储器修复与否
的关系.而且在修复概率不变的情况下,存储器模块成品率提高只取决于存储器本身的面积,与自
测试和自修复电路结构的面积增加无关.
文献[5]指出提高成品率的方法除了使用外部测试仪和修复仪用熔丝对嵌入式存储器进行修复,
还可以使用内建自修复电路.这是首次对嵌入式存储器设计内建自修复电路技术的报道.
尽管嵌入式存储器的面积不断增大,内建自测试和自修复逻辑,冗余单元,重构逻辑和熔丝盒的
面积将仅占 SoC 体面积的 5%或更少.而利用外部资源进行修复的成本占整个芯片制造成本的 40
%,因此在SoC中设计BISR结构来降低成本,提高成品率,就变得非常重要.
5 System-on-Chip,系统芯片
6 International Technology Roadmap for Semiconductors 2001
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
0%
99 02 05 08 11 14
H
M6
/^
40`
16`
!¤
4`
2`
[1]
20`
32`
13`
16`
8`
9`
6`
4`DB 7 [)
60`
80`
100`
64`
16`
20`52`71`83`90`94`
,|<M6/^!¤
G *üFEeM6/^!¤
rFEeM6/^!¤
D,|<ü 6R& ,XM6/^!¤G
E6R& )[ P ,|< AE,XG2ˇ
7 6 C- A
Z¨QZ 9 ,|<,X AE) ' AE#/ ¨8V U 4 o 9 ,|<,X -
A ~Oj1T)A E~ 9 ,|<,X4§X¨' A¨ ü*ó{,| #/ ì P )[¨ 1T U E~ ,|<#A'' AE,X#/ ~
,|@ ¨,|< U 4 ' E / 4§X~
4 4§X,|<
E / 4§X,X,| ,XKSz ,|<,X+,XKSz, 1~V D/,X4
,|<,X z !¨+,X z !~ü D $$$ ,|<,X×'¨
' ,|< +,X !¤(M~
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
oe E 4§X,X,| ' F… ¨! > ,|AE +~E ,
| ,XKSz> ,+,X D.Bn~ E Dn,| ,XKSz +
KS,X!¤¨3! > +,X D¨üˇ,XE / A - ';V @ Au
1k
"" > E D
mod E D
V E/ oe E ,X,| +,X ' ü CK¨ +,X ' ü CK¨E ,Xf c^
+AEà!, fK¨,X5oe Lp~4 4§X,X,|<oe E 4§X,| z
~D 4 4§X,|<
+ z
~E oe E 4§X,X,|<
oe E ,X,| 'k- ,X DF " b,|<
) " 6$ ¨'5àA ) JW)K¨,X5oe Lp~V !¨ [ H^ SW5ˇE@
( ~
,|<,X4§X
AEA 4 ,|64Kbits)而且可能位于关键路径上,
复的时间开销过于庞大,会造成系统性能下降. 于此,文献[6]提出一种把BIST和BISR结合
在一起的测试修复逻辑,通过在寄存器堆外部添加封装实现
类似普通测试中存储器与BIST控制器的交互,由此降低时间开销.电路的基本结构如图5所示.
这个封装结构分为测试的地址生成器,数据生成器和修复策略的计算结构.由图 6 可以看出可以通
过这些分别独立的模块来减少 BIST 的控制器与存储器之间的交互,控制器只需提供启动信
写使能等控制信息,而修复计算模块
11 Content-Addressable Memory,按内容寻址存储器
12 Column Repair Vector
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
胨货强
地址生成器
数据生成器
修复计算模块
并行的控制信号
存储器
读写使能和外部来的修复信息
P1500熔丝协议,
图6 文献[6]的BIST和BISR封装结构
本小节主要介绍的
BIST控制信号等
冗余结构分配算法上的一些突出贡献和对寄存器堆这种不同于 SRAM 类型存储
器的自测试和自修复的设计结构.这些研究在早期的工作中都不够详细,深入.
13
14
出基于失效模式判断的
BISR设计,可以处理不同类型很复杂的RA算法.典型的RA算法通常分为两个阶段[24],第一个阶段是
通过判定在行(列)上失效单元的个数来选择哪些失效的行(列)是必须被修复的;在第二个阶段
使用剩余的冗余单元来修复剩余的失效单元,这些都是使用简单的启发式算法(例如行优先算法,
列优先算法,或者小位图算法等)实现.[23]提出的RA算法的第一个阶段是通过启发式步骤实现,
第二个阶段中剩余的故障均为一个失效位/字的故障,并且大多数故障之间彼此独立.在文献[18]中
提出了失效模式判断的方法,在必须修复阶段执行时,识别存储器矩阵单元的失效行或列,然后使
用冗余行或列来分别修复失效的部分.在第二阶段,不是强调RA算法,而是着重于冗余器件的灵活
性.设计把冗余行分为几个冗余字,第一阶段修复后剩余的失效单元可以通过冗余字而非冗余行来
修复,这样就增加了冗余的利用,会增大面积开销,但提高了修复率,减少了必须的冗余单元的数
目.
余器件的结构如图7所示,512位的存储器带有两个冗余行和四个冗余列.如果有失效行,任何的冗
3.3.3 台湾清华大学研究小组系列研究成果
在设计存储器内建自修复的研究领域中有很多出色的研究小组,下面介绍的是台湾清华大学可靠
性计算实验室的一些研究成果.文献[22]提出了一种基于处理器的对嵌入式存储器内建自修复的设
计.设计复用片上处理器作为BIST的控制器和BISR的分析器,在存储器的外部增加测试向量生成电
路(TPG)和失效单元地址重构电路.这样一旦处理器发出自测试的命令,TPG就对需测试的存储器
生成测试向量,而且在处理器中执行测试算法和冗余分析分配算法,从而增加了设计的灵活性和可
编程性.地址重构电路会按照处理器执行冗余结构冗余分析(RA)算法得到的方案把失效单元的地
址重新分配给冗余单元.这样的设计节省了面积开销,并可以保证BIST的实速测试.
为了能够使用尽可能少的冗余单元修复尽可能多的失效单元,文献[23]提
在这种分割修复的思想下,也可以采用分段的方法分析二维冗余器件,如文献[25,26]所述.冗
13 Test Pattern Generation
14 Redundancy Analysis
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
余行(SR0 和SR1)都可以用来替换它.冗余列的使用方式则不然,把冗余列分割为几个冗余列组
CG1,如图所示.进而为了更好的利用SCG将其再分割
为段
下通过 BIST
对存
(SCG15),若每两列为一个列组,就有SCG0 和S
.在这里并不是从物理上使用本地读出放大器将SCG分段,而是通过BISR电路选择冗余列组,因
此只有多路选择会产生时延开销(访存时间的增加)和面积开销.图7所示的SCG分为4个子段,每
个子段通过行地址的最初两位判定,假设行地址为a3a2a1a0,那么a3a2 就表明了列子段的行所在位
置.不同的列子段可以用来修复主存储器中的不同失效单元,实例如图 7 所示.同样也可以对行分
段来提高冗余器件的灵活性.
上述提出的BISR机制包含了BIST模块,BIRA模块和对存储器的测试封装.BIRA电路使用RA算
法执行冗余分配.测试封装为存储器选择测试/修复模式或功能模式.在测试/修复模式
储器进行访存;在功能模式下封装主存储器或者冗余存储,从中选择数据输出;模式由BIRA模
块的控制信号决定.图 8 所示为存储器内建自修复的一个流程.经过了必须修复的阶段之后,剩余
的失效器件的修复是根据修复最多的规则来分配冗余.冗余分析算法的处理过程大致分为五个步骤.
第一步是进行BIST,一旦发现错误就暂停跳到第二步,否则BIST结束并停止;第二步是检验是否可
以使用行修复规则,如果是,转第四步;第三步是根据修复最多的原则分配行或者 SCG 段修复对应
的失效单元,然后继续第一步;第四步是检测是否有可用的冗余行,如果有,使用行修复并转步骤
一;.第五步是输出对应的失效行地址,转步骤一.经过这样的 BIRA 流程可以高效地修复存储器,
得到所需的成品率.
S
C
0
S
C
1
GG
0 1 2 3SR1
0C
1C
2C
3C
S
C
S
C
S
C
S
C
SR
0
图7 含有两行冗余和两个SCG的RAM示例图
15 Spare Column Group
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
BIST
BIST
BIST
BIRA
BIRA
BIRABIRA
AA
RADDR
/
ADDR
Mask
图8 存储器内建自修复的流程
在上面提到的系列工作中,这个研究小组还设计了一个模拟器用来评估各种RA算法[27].模拟器可
以根据存储器的重构机制,冗余结构计算给定RA算法的修复率和面积开销.使用这个模拟器还可以
设计冗余器件和BISR电路.模拟器的另一重要特性是可以按照真实的次序模拟检测到的故障,提高
了分析结果的准确度.高成品率和高可靠性的存储器生产至关重要,一般冗余修复和ECC16技术分别
用于硬件修复和软故障的容忍,文献[28]提出一种综合了冗余修复和ECC技术的提高可靠性的方案.
依照该方案当存储器在功能模式情况下工作时,可以识别硬故障和软故障并在存储器空闲时间利用
未使用的冗余器件修复样的方案对一个32×64的存
器而言MTTF17提高了7.1%.
研究小组还提出了使用二叉判定图(Binary Decision Diagram)的布尔运算的方法来解决NP难
的冗余单元分配问题[29].这个方法避免了原有的基于比较的详尽搜索算法,通过定义缺陷函数,约
束函数和修复函数进行布尔运算获得好的修复策略.算法避免了通过比较的详尽搜索,对于优化的
策略和普通策略而言搜索二叉判定图都只需要一次搜索.
3.3.4 冗余单元数量对成品率和可靠性的影响
针对冗余单元的设计,如何使用合理数目的冗余获得优化的修复效率,文献[30-32]对制造过程
中的成品率提高和可靠性作出了比较.公式(1)定义了在一维情况下成品率的提高与冗余列之间的关
系(以冗余列为例),其中是列数目, 是制造中用来提高成品率的冗余列数目,Y是制造成品率,
每位(bit)的成品率服从指数
硬故障.使用[27]提出的模拟器模拟的结果,这
储
cncms
分布,mλ是每个存储器位期望的失效个数, 是行数目即每列中的位
数.
rn
irnmicmscr(nm
0i
cmce01e
i
Y))(.()()λλ +
=
∑= (1)
)()(tR YtD= (2)
ncmssn)(+
16 Error Checking and Correcting
故障时间 17 Mean Time To Failure,平均无
14K11ó CT y Vol. 4.No.1
Information Technology Letter Jan.2006
irnficmscscnrntf
cfsssn)(
0ii
S*ük-< AE ,|<,X^M4 V@ E~~J)(tRü W,|<,Xü4 ^M4
¨nV@ /~,|<,Xk- ,XD, ¨ ,X ü4 P ,|<^M4 L
cmcce01etR))(.()()()(OO
,Xk- D, ¨ )! K¨Y,| AE )[ AE )[,X,/^×^M4 3 h,X,/^~
M6 P z 65$0 ,X AE1k"'
Lc-L +C^E 8N,X )¨ E 8NE' QP¨,|@~
- 0J 0 ,X5LK × _V /¨ üE ,X5LK,X/ˇ! 6G
XT k-> F
,X%,5$4§X9 k Eó,X AE G!4§p~üE o- 0J . ¨Z8V, M6/^ J ¨ Zk-)
rtmE 1k C$d G!
,Xì ¨J / z- 0Jì G!,X ¨ ,X 0E Z4§ (&& P ^M4 ,X "'¨E
> ZJ\ P z,X _'G X4§X,X- 0J~L8Z- 0Jì %,654§X,X('$ K ¨,%0 'hae,
', h,X('$ KE > Z- 0J' ~
2ˇ4 ' K
, ! ('$ V' 6R& VF *ü o o K¨^
>@
J\ AEà2O_,X 9 ,| rEó#A'~0HQWRU ,X 0%,67 K oZrEó#
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
试设计,并且可以进行诊断,自分析和冗余分配,但是它的冗余分配策略建立在列冗余的基
础上.工具提供的是一次性修复的方案,在生成 MBIST 的同时也生成了 DC 脚本,测试封装
和 wgl格式的向量以及testbench(测试程序).
2. Synopsys公司存储器BIST是包含在设计工具(Design ware)中的,与Synopsys公司的其
它产品一样,不支持模糊设计,要求存储器的所有端口的定义都与工具能识别的定义吻合.
3. Genesys公司提供的BIST-DR工具,其BIST设计可以提供软修复.
4. Syntest公司提供的MBIST工具是和Cadence公司绑定的.
5. 法国的 iRoC 公司提供的 BIST 工具,设计的 BIST 支持实速测试,提供诊断,冗余分析和自
修复功能并且可以检测到软错误,还能根据网表预报软错误概率.公司还并声称此工具生成
的BIST的面积与同类产品相比最小.
BIST的工具,设计中使用了多种不同类型的测试向量,
用户也可以自定义测试向量.工具支持行,列和块的冗余分配.用户的反馈表明工具容易上
手,设计合理,是同类产品中的佼佼者.
7. ST公司提供的ugnBIST,是笔者目前仅知的代工厂提供的MBIST工具,是配合其特有的存储
器结构设计的BIST,可以提供修复能力.
BIST算法,但是BISR结构通常被固定,对不同的冗余结构修复
的效率也会不同.为克服这种不利因素,我们正在研究一种可以对不同结构的冗余器件和不同工艺
的存储器选择不同修复算法的优化BISR结构.如果有合理的时间和资源希望能将算法实现到EDA工
具中.
9
随着
主要 嵌复就显得尤为重要.
对存储器设逻辑可以避,修复资源的依赖,降低芯片
成本,大大提高成品率和可靠性.
由于硅工艺的发展,
密度的嵌入式存储器.针对新的故障模型提出新的测试算法,
优化冗余器件的设计方案,改进冗余分配算法以修复尽可能多的故障,使存储器获得高的可靠性都
将是非常有前景的研究方向.我们目前正对存储器的内建自修复算法进行研究,在后续的工作中将
把这些研究成果应用到龙芯的研制.
参考文献:
[30] A. Allan et al., "2001 International Technology Roadmap for Semiconductors," Computer, vol. 35,
6. LogicVision公司也出售设计存储器
这些工具一般都支持用户定制的
总结与展望
SoC的发展,片上的嵌入式存储器将逐渐趋向在结构中占主要部分.芯片的成品率和可靠性
由 入式存储器的成品率和可靠性决定,因此对嵌入式存储器的测试和修
计内建自测试和自修复免对外部测试仪和测试
使得目前已有的故障模型的修复算法不能尽善尽美的适用于高密度且高失效
因此研究新的物理缺陷建立故障模型,
no.1, Jan. 2002, pp. 42-53.
[31] S. Hamdioui, G. Gaydadjiev, and Ad. J. van de Goor, "The state-of-art and future trends in testing
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
embedded memories, Memory Technology," Proc. International Workshop on Design and Testing, 2004,
[32] M.
pp. 54-59.
Schrader, and R. McConnell, "SoC design and test considerations", Proc. IEEE DATE, 2003, pp.
Shoukourian, "Embedded-memory test and repair: infrastructure IP for SoC yield",
IEEE Design & Test of Computers, vol. 20, no. 3, May-June 2003, pp.58- 66.
[34]
1989-1992.
[36] R. Venkatesh, S. Kumar, J. Philip and S. Shukla, "A Fault Modeling technique to test memory BIST
pp.109-116.
[38] "MBISTArchitect Process Guide, Software Version V8.2005_2", Mentor Graphics Corporation 2005.
Proc. IEEE Memory Technology, Design and Testing
Sunada, "Design of a Self-Testing and Self-Repairing Structure for High Hierarchical
, No. 2, June 1993, pp. 88-97.
] I. Kim, et. al, "Built In Self Repair For Embedded High Density SRAMs", Proc. International Test
[42] Row-Column Self Repair of RAMs and Its Implementation in the Alpha
[43]
ir Algorithm", Proc. International Test Conference, 1999, pp. 301-307.
h Multiple Redundancies", Proc. 6th International Conference in VLSI and CAD, 1999, pp.
[45] -repair SRAM cores",
[46]
l Test Conference, 2000, pp. 567-573.
17th International Conference on VLSI Design,
[48]
Test Conference, 2001, pp. 995-1001.
22.
[51] .-W. Wu, "A processor-based built-in self-repair design for embedded
[52]
[53] and C.-W. Wu, "Built-in redundancy analysis for memory yield
[54] Chow, "A built-in self-repair
202-207.
[33]Y. Zorian, and S.
Kazuhiro Sawada, Takayasu Sakurai, Yukinori Uchino, and Kaoruko Yamada, "Built-In Self-Repair
Circuit for High-Density ASMIC", Proc. IEEE Custom Integrated Circuits Conference, 1989, pp.
[35] R.C. Aitken, "A modular wrapper enabling high speed BIST and repair for small wide memories", Proc.
International Test Conference, 2004, pp. 997-1005.
Algorithms", Proc. IEEE International Workshop on Memory Technology, Design and Testing, 2002,
[37] Michael L. Bushnell, and Vishwani D. Agrawal, "Essentials of Electronic Testing for Digital, Memory
and Mixed-Signal VLSI Circuits", Kluwer Academic Publishers, USA, 2000.
[39] E. Rondey, Y. Tellier, and S. Borri, "A Silicon-Based Yield Gain Evaluation Methodology for Embedded
SRAMs with Different Redundancy Scenarios,"
Workshop, 2002, pp. 57-61.
[40] T. Chen and G.
Ultra-Large Capacity Memory Chips", IEEE Trans. On VLSI, Vol. 1
[41
Conference, 1998, pp. 1112-1119.
D.K. Bhavsar, "An Algorithm for
21264", Proc. International Test Conference, 1999, pp. 311-317.
S. Nakahara, et.al, "Built-In Self-Test for GHz Embedded SRAMs Using Flexible Patterns Generator
and New Repa
[44] H.-C. Kim, D.-S. Yi, J.-Y. Park, and C. H. Cho. "A BISR (Built-In Self-Repair) Circuit for Embedded
Memory wit
602-605.
A.Benso, S.Chiusano, G.Di Natale, P.Prinetto, and M.L.Bodoni, "A family of self
Proce. 6th IEEE International On-Line Testing Workshop, 2000, pp.214-218.
T. Kawagoe, et.al, "A Built-in Self-Repair Analyzer (CRESTA) for embedded DRAMs", Proc.
Internationa
[47] Xiaogang Du,S.M Reddy, Wu-Tung Cheng, J. Rayhawk, and N. Mukherjee, "At-speed built-in self-repair
analyzer for embedded word-oriented memories", Proc.
2004, pp. 895-900.
V. Schober, S. Paul, and O. Picot, "Memory built-in self-repair using redundant words", Proc.
International
[49] Jihyun Lee, Young Jun Lee, and Yong Bin Kim, "SRAM word-oriented redundancy methodology using built
in self-repair", Proc. IEEE International SOC Conference, 2004, pp. 219-2
[50] Rita Zappa, Carolina Selva, Danilo Rimondi, Cosimo Torelli, M. Crestan, Giovanni Mastrodomenico,
and Lara Albani, "Micro Programmable Built-In Self Repair for SRAMs", Proc. IEEE International
Workshop on Memory Technology, Design and Testing, 2004, pp.72-77.
C.-L. Su, R.-F. Huang, and C
memories", Proc. 12th IEEE Asian Test Symp., 2003, pp. 366-371.
R.-F. Huang, C.-L. Su, C.-W. Wu, S.-T. Lin, K.-L. Luo, and Y.-J. Chang, "Fail pattern identification
for memory built-in self-repair", Proc. 13th IEEE Asian Test Symp., 2004, pp. 366-371.
C.-T. Huang, C.-F. Wu, J.-F. Li,
improvement", IEEE Trans. Reliability, vol. 52, no. 4, Dec. 2003, pp. 386–399.
J.-F. Li, J.-C. Yeh, R.-F. Huang, C.-W. Wu, P.-Y. Tsai, A. Hsu, and E.
scheme for semiconductor memories with 2-D redundancy", Proc. International Test Conference, 2003,
pp. 393-402.
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
[55] J.-F. Li, J.-C. Yeh, R.-F. Huang, and C.-W. Wu, "A built-in self-repair design for RAMs with 2-D
redundancy", IEEE Trans. VLSI Systems, vol. 13, no. 6, June 2005, pp. 742-745.
R.-F. Huan[56] g, J.-F. Li, J.-C. Yeh, and C.-W. Wu, "A simulator for evaluating redundancy analysis
Symposium Defect and Fault Tolerance in VLSI
[58]
roc. IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems,
[59] Kim, and Vincenzo Piuri, "Balanced Redundancy
of Systems Architecture: the
[62] nsities
[64] N.Achouri, and S. Boutobza, "Dynamic Data-bit Memory Built-In Self-Repair", Proc.
[65] pair techniques
[66] l, "A diversified memory built-in self-repair approach for
[67]
of Electronic Testing: Theory and Applications, vol. 21, 2005, pp.
[68]
roc. IEEE Custom Integrated Circuits Conference, 2001, pp. 191-194.
[70] "A physical design tool
王达究生
algorithms of repairable embedded memories", Proc. IEEE International Workshop on Memory Technology,
Design and Testing, 2002, pp. 68-73.
[57] C.-L. Su, Y.-T. Yeh, and C.-W. Wu, "An integrated ECC and redundancy repair scheme for memory
reliability enhancement", Proc. IEEE International
Systems, 2005, pp. 81-89.
Hung-Yau Lin, Fu-Min Yeh, Ing-Yi Chen, and Sy-Yen Kuo, "An Efficient Perfect Algorithm for Memory
Repair Problems", P
2004, pp. 306-313.
Minsu Choi, Nohpill Park, Fabrizio Lombardi, Yong-Bin
Utilization in Embedded Memory Cores for Dependable Systems", Proc. IEEE International Symposium
on Defect and Fault Tolerance in VLSI System, 2002, pp. 419-427.
[60] Minsu Choi, Nohpill Park, Fabrizio Lombardi, Yong-Bin Kim, and Vincenzo Piuri, "Optimal Spare
Utilization in Repairable and Reliable Memory Cores", Proc. IEEE International Workshop on Memory
Technology, Design and Testing, 2003, pp. 64-71.
[61] Minsu Choi , Nohpill Park , Vincenzo Piuri , Yong-Bin Kim , and Fabrizio Lombardi, "Balanced
dual-stage repair for dependable embedded memory cores", Journal
Euromicro Journal, vol.50 no.5, 2004, pp.281-285.
M. Nicolaidis, N. Achouri, and L. Anghel, "A memory built-in self-repair for high defect de
based on error polarities", Proc. 18th IEEE International Symposium on Defect and Fault Tolerance
in VLSI Systems, 2003, pp. 459-466.
[63] M. Nicolaidis, N. Achouri, and S. Boutobza, "Optimal Reconfiguration Functions for Column or Data-bit
Built-In Self-Repair", Proc. IEEE DATE, 2003, pp. 10590-10595.
M. Nicolaidis,
IEEE International Conference on Computer Aided Design, 2003, pp. 588-594.
L. Anghel, N. Achouri, and M. Nicolaidis, "Evaluation of memory built-in self re
for high defect density technologies", Proc. 10th IEEE Pacific Rim International Symposium
Dependable Computing, 2004, pp. 315-320.
M. Nicolaidis, N. Achouri, and L. Anghe
nanotechnologies", Proc. 22nd IEEE VLSI Test Symposium, 2004, pp. 313-318.
M. Nicolaidis, N. Achouri, and L. Anghel, "Memory Defect Tolerance Architectures for
Nanotechnologies", Journal
445-455.
M. Ouellette, D. Anand, and P. Jakobsen, "Shared Fuse Macro for Multiple Embedded Memory Devices
with Redundancy", P
[69] B. Cowan, et al., "On-Chip Repair and an ATE Independent Fusing Methodology", Proc. IEEE
International Test Conference, 2002, pp. 178-186.
K. Chakraborty, S. Kulkami, M. Bhattacharya, P. Mazumder, and A. Gupta,
for built-in self-repairable RAMs", IEEE Transactions on Very Large Scale Integration (VLSI) Systems,
vol. 9, no. 2, April 2001, pp. 352-364.
作者简介:
: 中国科学院计算技术研究所硕博联读研
李华伟: 中国科学院计算技术研究所副研究员
胡瑜: 中国科学院计算技术研究所副研究员
李晓维: 中国科学院计算技术研究所研究员,博士生导师,先进测试技术实验
室主任
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
韩银和 胡瑜 董婕 王伟 李华伟 李晓维
试激励压缩和测试响应压缩.本文对这两个方面分别进行了介绍,最后还介绍了多种主流测试压缩工具.
词
随着集成电路制造工艺水平的提升和芯片面积的增加,大规模集成电路测试需要越来越多的测试
中测试大概需要2G位的测试数据[1].
.数量巨大的测试向量会带来很多问题.
设其次,为了将测试数据从测试设备传输到
所有这
片的测
测试压缩能够有效地减少测试数据量,也能够降低对测试数据存储容量和测试设备数据传输通道
需求,还可以减少测试时间和测试功耗.图1显示了测试压缩体系结构原理.测试压缩结构主要
含测试激励压缩(片上表现为解压缩电路)和测试响应压缩.从流程上来看,首先使用离线的软
始测试向量进行压缩,并将压缩后的测试向量存储到测试设备中.在测试准备阶段,将
压缩后的数据装载到测试通过扫描链施加到待测
电路(芯核)上.在测试阶段,待通过扫描链将响应
数据传送给响应压缩电路压缩,压缩后结果和测试节点上存储的期望结果相比较片是否
包含故障.可以看缩的,所以其
体积非常小.
数字电路测试压缩方法
摘要 本文介绍面向数字电路的测试压缩方法.测试向量分为测试激励向量和测试响应向量,因此测试压缩也分为测
关键 数字电路,测试激励压缩,测试响应压缩
1 引言
数据.如在科院计算所设计的龙芯2号芯片中,完成一个完整的
如果芯片中集成多个数字芯核,那么测试数据将更为庞大
首先,测试备需要比较大的存储容量来存储这些向量;
芯片需要非常
些问题,固然都可以通
多的测试通道;同时为了提供实速测试,测试设备的频率也需要提得非常高.
过更换高档的测试设备来解决,然而使用越高档的测试设备意味着芯
试成本也越高.因此,简单升级测试设备并不是一个很好的解决方案,需要寻求新的测试方法.
的
包
件工具对原
激励解压缩电路,解压缩电路再将向量数据解码后
测电路处于功能状态,捕捉测试响应,最后再
,以确定芯
出无论是存放在测试节点中的测试激励,还是测试响应都是经过压
压缩后的测
试激励 测试 具有
节点
扫描设计
的电路
(core)
响应
压缩后的测激励
压
缩
电
路
试响应
解
压
缩
电
路
区
别在于compression是"无损压缩",compaction 是"有损压缩".一般而言,激励端的测试压缩采用无
损压
图1. SOC测试压缩结构原理图
测试压缩包含两个方面,相应的测试压缩有两个主要的研究领域:(1)测试激励端的压缩;(2)
测试响应压缩.压缩在英文中可以使用两个词-compression和compaction,在英文中,两个词的
缩,而响应端的测试压缩则采用有损压缩.此外,在测试向量生成过程中,有一类压缩称为
"dynamic compaction",它对测试向量的个数进行压缩,并不涉及到有损无损的意思,在本文称为"动
态压缩".
在测试激励端,向量中有很多不关心位.所谓不关心位(don't care bits)是指在向量中,这些位
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
的取值不会影响到对目标故障集的覆盖.不关心位的产生和ATPG18算法有关.在ATPG算法中,由
于采用通路敏化,只有那些和敏化通路相关的原始输入才需要赋确定值,其它的原始输入赋何值并
不影响覆盖率.测试向量中不关心位的比率是相当高的.
至于响应端,则可以使用有损压缩,因此压缩率更高.在BIST19中,多路输入特征寄存器(MISR20)
就是一个非常高效的响应数据压缩电路,它兼顾了时间压缩和空间压缩两个方面.然而,正是由于
它采用了时间压缩,压缩完的故障特征信息量太少,很难对故障进行精确定位.传统的响应压缩电
路另一个问题是不能处理响应中的未知位(unknown bits),即指向量中那些在模拟阶段尚无法确定
值的位.激励端的不关心位和响应中的未知位也称X位.响应中的未知位是电路内部不确定态的外在
表现,电路中潜在的未知源包含:非扫描的寄存器,RAM21和CAM22,组合环,无驱动的输入,总
线竞争,布线上一些不完全满足电气检查规则的地方等.响应中的X位虽和激励中的X位具有同样的
名称,但二者产生的机理却完全不同.输入向量中的X位是ATPG在产生向量时留下的,这些不关心
位的赋值不影响故障覆盖率.而响应中X位则是仿真中尚无法确定的值.激励中的X位是我们可以利
用的,而响应中的X位则是需要想办法处理的.如果使用MISR压缩,响应中由于总线引
起的未知位会产生积累效果,压缩虽然压缩能力不及时间压
缩,但是由于其能够提供足够的信的积累效应,因此适合应用于
比较
缩后的结果.当然,测试压缩研究学者们在BIST研究的基础上,根据新的测试环境的需
要,
竞争等因素
影响了对压缩后特征好坏的判断.空间
息量用于诊断,同时不存在未知位
复杂的数字电路测试中.这种压缩电路已受到了学术研究和工业实践的广泛重视.
从图1可以看出,测试压缩的体系结构和BIST的结构是很相似的.实际上,很多测试压缩技术就
来源于BIST研究.很多在测试压缩领域做出重要贡献的学者,都曾长期从事过BIST的研究.观察BIST
的STUMPS23结构,基于LFSR24的伪随机发生器用于产生测试向量[2]就可以看作是一个测试向量解压
缩电路,存储在片内的种子就是压缩后的数据.在STUMPS中,MISR是一个时间压缩电路,最后的
特征就是压
展开了新的研究.所有这些研究使得测试压缩逐渐脱离了BIST的范畴,发展成为一个独立的研
究方向.
2 测试激励压缩方法
测试激励数据总体积可以计算为:
vectorsscanscanPNLVO××=
其中,scanL表示扫描链长度,scanN表示扫描链的数目,vectorP表示测试数据中包含的向量数目.
测试激励数据可以看作是三维结构,上述这三个参数就是这三个维度的取值.图2形象地描述了这
三个维度压缩.Z维压缩是向量个数压缩,也就是我们前面特别强调的动态压缩.动态压缩一般结合
在ATPG算法中.这方面有很多研究,MINTEST[3]就是一个高效的压缩算法.本文中的激励压缩是指
从水平方向和垂直方向这两个维度着手压缩的方法.水平压缩主要是减少每一个子向量的位数,这
等价于减少扫描链的长度.垂直压缩主要是减少子向量的个数,这等价于减少扫描链的数量.
18 Automatic Test Pattern Generation,测试向量自动生成
19 Built-In Self Test,内建自测试
20 Multiple-Input Signature Register
21 Random Access Memory,随机存储器
22 Content Addressable Memory,可按内容编址存储器
23 Self-Testing Using MISR and Parallel SRSG,采用MISR和并行SRSG(Shift Register Sequence Generator位移寄存器顺序
发生器)的自测试
24 Linear Feedback Shift Register,线性反馈移位寄存器
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
子向量 1
子向量 2
压缩后测试向量
动态压缩
水平压缩
子向量 3
子向量 4
原始测试向量
子向量 1
子向量 2
子向量 3
子向量 4
原始测试向量
子向量 1
子向量 2
子向量 3
压缩后测试向量
压缩后测试向量
垂直压缩
子向量 4
原始测试向量
图2. 测试激励的三维压缩
压缩研究人员已经在水平压缩和垂直压缩方面提出了很多方法.图3列出了这些方法的一个分
类.
定长-定长
定长-变长
变长-定长
变长-变长
编码压缩
LFSR重播种
切片重叠压缩
广播式压缩
测试激励压缩
水平压缩
垂直
每向量重构
每周期重构
压缩
逻辑变换 线性
逻辑变换压缩
非线性逻辑变换
单种子
每向量重播种
每周期重播种
单配置(Illinois Scan)
图3. 测试激励压缩的分类
水平压缩方法主要包括编码压缩,基于LFSR的压缩和基于扫描切片重叠的压缩等.编码压缩将
测试向量集水平方向的单个子向量作为输入,利用适当的编码,对该输入序列进行压缩,这种方法
在图象处理和视频压缩方面已经得到了广泛的使用.基于LFSR的方法主要是指各种重播种方法.根
据重播种周期的不同, 重播种可以分为单播种(整个测试向量集使用一个种子生成), 每向量重播种
(每一个测试向量使用一个种子生成),每周期重播种(每一个测试向量使用多个种子来生成).
垂直压缩方法主要包括广播式压缩和逻辑变换压缩.广播式压缩根据配置(原始扫描输入和扫描
链输入之间的连接关系)重构周期的不同,可分为单配置, 每向量重构和每周期重构等三种方法.逻
辑变换压缩主要包括了一些输入减少方法,它们可以分为线性变换和非线性变换两大类.由纯异或
门构成的解压缩网络属于线性变换,其它一些组合逻辑门构成的压缩电路属于非线性变换.
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
2.1
编码压缩在视频图象压缩中广泛使用,因此很容易想到将它应用到测试数据压缩中.测试压缩中
的编码方法针对向量中的 "0或1的游程"进行压缩,"游程0或1组成的串,"游程长度"
是连续0或连续1的数目.
编码压缩方法根据原始数据和压缩后数据体积的变化关系分为四大类,表1列出了四个不同的分
类和相对应的编码方法.
编码压缩技术
"是指连续
编码方法 编码
定长到定长 Dictionary based code[29]
定长到变长 Statistical Code (such as Huffman code ) [9],[10]
变长到定长 Conventional run-length codes [8]
变长到变长
Golomb codes, geometrical code, LZ77 code, [7][11][12]
Frequency-directed run-length codes ][7
表1. 编码压缩技术分类
定长到定长编码是使用定长的小数据量块来编码定长的原始数据块.字典编码和LFSR重播种就
属于这种类型.在LFSR重播种中,每一组向量被编码成定长的种子.定长到变长的编码使用一个变
长的数据的原始数据块,哈夫曼编码属于 型.变长到定长的编码使用定长的数
据来编码据,经典的游程编码属编码使用变长的数据块来编
码变长的lomb编码和F
在这,变长到变长的编码mb编码是一种变长到变
长的编码,可以利用Golomb编码比较小.FDR
编码[7]充分利用了测试数据中0,1分布解码器面积开销的情
况下,提高了压缩率.其它的编码形式曼编码[9][10],几何编码[11],LZH编码
[12]等
广播式压缩方法利用同一组向量来对不同子电路进行测试,在硬件实现上一般都采用共享扫描输
入结构.文献[19]提出了将同一组向量广播到电路不同部分的测试方法.图4给出一个例子,整个电
路包含了两个待测子电路 和 .ATPG首先产生具有一定故障覆盖率的随机向量(该比
率可
块来编码定长这种类
变长的原始数于这种类型.变长到变长
原始数据,GoDR25编码就属于这种类型.
四大类编码中可以取得较好的压缩效果.Golo
[6]对测试数据压缩,Golomb编码的解码电路面积开销也
的特点,通过改造Golomb编码,在类似
,诸如游程编码[8],哈夫
等均可用于压缩测试数据.
2.2 广播式压缩方法
CUT(1) CUT(2)
以人工设定,在设定的时候需要考虑覆盖率和向量个数的折衷关系,一般来说70%-85%比较
合适).对于两个子待测电路,这部分随机向量可以是一致的,因此它们可以共享这些向量.对于
剩余的故障,使用确定性ATPG算法产生测试向量.由于在确定性测试向量中存在着大量不关心位,
对于在CUT(1)中能覆盖故障子集aF的确定性向量,通过不关心位的适当赋值,也可以覆盖CUT(2)
25 Frequency-Directed Run-length Code,频率制导游程编码
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
中故障子集bF.因此这部分向量依然可以在两个电路之间共享.如果两个电路完全共享同一组向量,
入连接在一起.假设CUT(1)和CUT(2)具有相同的扫描链数目: .在
需要 个输入来移入向量.在共享的结构中,只需要 个输入来移入
向量.
我们就可以将它们的对应输N
没有共享结构的扫描设计中,2NN
1 2 3 4
C1
1 2 3
C2
输入 输入
图4. 将测试向量广播给不同的待测电路
伊利诺伊(Illinois)扫描结构是另一类比较知名的共享扫描输入结构.美国伊利诺伊大学香槟分
校(UIUC,University of Illinois at ana-Champaign)研究人员首先提出这种结构,并对之进行
了深入的研究,习惯称其为伊利诺伊扫描结构.图5是伊利诺伊扫描结构的一个示例:
Urb[20]
扫描链
扫描输入 扫描输出
(b) 串行扫描模式
扫描输入
扫描段 1
扫描段2
扫描段3
扫描段4
MISR 扫描输出
(a) 广播模式
图5. 伊利诺伊扫描结构(两种不同模式)
伊利诺伊扫描结构包含了两种操作模式:串行扫描和广播扫描.图5(a)中介绍了串行扫描模式,
图5(b)介绍了广播扫描模式.伊利诺伊扫描结构的精华部分在于广播扫描模式.在这种模式下,扫描
链将被分割成多个扫描段(segment),这些扫描段被连接到相同的扫描输入.尽管广播模式能够覆
盖大部分故障,但由于广播模式下的ATPG是受限的,产生的测试向量可能无法覆盖一些难测故障.
为了弥补这部分故障覆盖率的损失,可以使用不受限的ATPG重新产生向量以覆盖难测故障.测试
难测故障的向量可以在串行扫描模式下移入扫描链.由于串行模式下扫描链的长度特别长,向量移
入扫描链的时间也会很长,因此应该尽量减少在串行模式下移入的向量个数.
在伊利诺伊扫描结构中,可以将扫描链设计得很短,因而能大大减少测试时间.然而,这种结构
依赖于扫描链和扫描输入测试的故障需要使用较长时间通
过串行模式来测试.因此,很多学者致力于利用伊利诺伊扫描结构的优点,允许扫描链和原始扫描
输入之间的连接关系重构,换而言之,在一种连接关系下不可测的故障,可以利用其它连接关系来
测试."可重构"的伊利诺伊结构,根据重构的时机不同,可重构压缩方法可以分为下面
的固定连接关系.一些在广播模式下无法
这类方法称为
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
两大类:
每向量重构,在该方法中,连接关系的重构发生在向量切换时[21].首先将故障集分成几个子集,
每一个故障子集利用一个连接关系来测试.连接关系的动态变更可以通过MUXs门来实现.
每周期重构,在该方法中,连接关系的重构发生在向量的移入过程中[22][23].
2.3 逻辑变换压缩方法
MN
Z
Y
YbbbXaaa∧∧
2222221222221
, 和
逻辑变换也是一种被广泛研究的测试压缩方法.它跟广播式压缩方法不一样,在广播式压缩扫
描设计中,所有在同一组中的扫描链将被赋同样的值,而在逻辑变换中,同一组中的扫描链并不是
直接赋原始扫描输入的值,而是赋原始扫描输入经过逻辑运算后的值.也就是说,每一个扫描链中
的值是原始扫描输入经过逻辑运算后的结果.逻辑变换的原理可以用下面一个方程来描述:
=
+
MN
ZbbbXaaa
ΜΜΜΟΜΜ
∧
ΜΜΟΜΜ
∧
1111211111211
PMPMPPNPNPPZYbbbXaaa∧∧2121
这里,N21XXX...,[]T[]T
M21YYY...,[]T
P21ZZZ...,是输入,当前状态和下一个状态
值.
根据逻辑变换函数和实现方式的不一样,逻辑变换可以分为下面两大类:
XOR门网络实现的线性变换,变换矩阵可以使用XOR(异或)门实现.XOR网络是一个线
一般逻辑门实现的逻辑变换,逻辑变换也可以使用一般逻辑门实现[29][30],这些逻辑门组成运
算电路,少量原始输入经过运算电路后可以扩展为大量输出.
3 测试响应压缩方法
测试压缩不仅可以应用在激励端,也可以应用在响应端,且更为有效.在大规模数字电路测试中,
响应端的数据量也是非常庞大的.
测试响应压缩并不是一个全新的研究领域,研究人员在长期的研究中已经提出了很多方法.为了
更好原始响应数据
D
[27]
性扩散网络,少量输入经过XOR网扩散后形成大量输出.当然,这些输出在逻辑上还是要依赖
于那些少量输入,测试生成算法在生成测试向量时需要考虑这种依赖.
mm×地介绍,我们先将响应压缩过程形式化.考虑一般的响应压缩,它是将二维
=[dij]变换为另一个二维qp×向量数据C,并有mp<和nq<,pm/为空间压缩率,qn/为时
率.这一变换过程可以用变换函数来刻画间压缩()DCΦ=,上述中Φ是变换函数.响应是
一的时
个输出时刻的值.如果是"时间压
缩",有p<m,如果是"空间压缩",有n<q.图6形象地描述了这两种压缩.
数据D
个二维向量,D的列索引作为时间维度,D的行索引作为空间维度,D间维度是电路中同一
在不同时刻产生的数据,D的空间维度是电路中不同输出在同一
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
测试
向量
Circuit Under
Test
Space
Compactor
待测电路 空间压
缩电路
m-bit 输出向量p-bit 输出向
量
测试
向量
Test
Circuit Under
Compactor
Space
n向量q-b输出向-bit 输出it 量
待测电路
缩电路
时间压
图6. 时间和空间压缩示意图
对于同一压缩电路,可以既完成空间压缩又进行时间压缩,下文中我们将这种方法称为"时间
和空间组合压缩".
在响应压缩中有一些术语经常被提及:"混淆",是指对于一组向量,故障电路和正常电路具有
相同的响应数据,因此无法通过响应数据区分电路的好坏."错误位",是指当电路发生故障时的响
应向量中和正确响应不一致的位."未知位(X位)",是指向量中那些在模拟阶段尚无法确定值的位.
"诊断",是指根据响应数据来定位捕获产生错误位的寄存器.如果一个响应压缩电路具有诊断能力,
意味着它可以不通过其它附加硬件电路,就能够定位含有错误位的寄存器.
"混淆","未知位处理"和"诊断"这三个概念实际上体现了一种测试压缩方法的三种能力.
如果压缩方法混淆率越低,处理未知位能力越强,能够完全提供全诊断能力,那么该压缩方法就比
较好.
由于时间压缩在BIST中研究得比较成熟,所以下面的章节将主要介绍空间压缩以及时间和空间
组合压缩的
使得它们呈现出和BIST研究中不同的新
特征
3.1 空间压缩
空间压缩是容易实现的,比如最常见的奇偶校验电路就是一种空间压缩,它们可以将任意多输入
压缩成一个输出.尽管它可以提供最大的压缩效果,但是简单奇偶校验电路压缩向量混淆率很高.
和频率进行划分,
设计
文献[31]改进了异或树压缩方法,提出了新的压缩电路:X-Compact.如果满足一些设计规则,
异或
针对特定电路也可以设计出完全无混淆的压缩电路.文献[32]利用"传递的概念,通
方法.空间压缩虽也在BIST研究中有所提及,但学者们在解决大规模数字电路特别是
SOC测试时,给空间压缩和组合压缩赋予了一些新的外延,
.下面就简要介绍一下这些方法.
为了减小混淆率,很多学者改进了奇偶校验电路,通过对电路中故障出现的模式
了多种针对单错误位无混淆的压缩电路,针对双错误位无混淆的电路和针对任意奇数个错误位
无混淆的压缩电路.
树压缩电路能具有发现两个错误位和任意奇数个错误位的能力,具有诊断能力和未知位处理能
力.
当然,透明"
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
过研究输出状态的所有可能迁移关系设计压缩电路,实现压缩的无混淆.由于这种压缩电路只能针
对单
[24][33]电
路.它能有效避免未知位对特征值的无限期影响,提供较小的故障混淆率,提供诊断能力.
流EDA26工具提供商采用的测试压缩结构包含IBM公司的SmartBIST,Mentor Graphics公司的
EDT
采用
时间维度上的压缩,它提供了用于故障诊断很方便的接口.
多个
LFSR首尾连接在一起构成了回环,并在这个回环中设计多个数据注入点,压缩后的数据通过这些注
入点注入到Ring产生器中,Ring产生器解码这些数据得到原始向量.在响应压缩端,TestKompress采
用了
n中,激励解压缩
电路
.
测试压缩可以显著地减少测试数据数量,测试时间和必需的测试通道数.正是由于具有这些优点,
工业界已经逐渐开始采用测试压缩成本.在工业界需求的强力推动下,主流
的E
故障模型,且依赖于电路的设计结构和具体测试向量,因此很难在工业实践中应用.
3.2 时间和空间组合压缩
时间和空间组合压缩方法是一种新型压缩方法,它结合了时间压缩和空间压缩的优点.卷积压缩
电路 利用一组异或门网络和一组无反馈的移位寄存器链来形成一个可以完成卷积运算的逻辑
4 测试压缩体系结构
主
,Syntest公司的VirtualScan和UltraScan以及Synopsys公司的Adaptive Scan等:
SmartBIST结构是由IBM公司实现的[5].在该结构中,激励解压缩电路包含了三个部分:输入逻
辑,有限状态机和扩散网络.其主要部分是有限状态机,它包含了多个LFSR.测试响应压缩
OPMISR.OPMISR实现了空间和
EDT结构是由Mentor Graphics公司实现的[34].EDT是Embedded Deterministic Test的简称.
TestKompress是Mentor Graphics公司利用EDT技术实现的商业工具.在激励解压缩端,TestKompress
采用了称为Ring产生器的有限状态机.Ring产生器和传统LFSR的最大区别在于Ring产生器将
选择性空间压缩电路(Selective Space Compactor),该电路能高效地处理未知位.
VirtualScan和UltraScan这两个结构是由Syntest公司实现的[35][36].在VirtualSca
主要包含一个由多种组合门构成的扩散网络.UltraScan是VirtualScan的一个改进版.在UltraScan
中,原始扫描输入和扫描链输入之间设计有一个时分DMUX27网络,扫描链输出和原始扫描输出之间
设计有一个时分MUX28网络.时分DMUX网络用于激励解压缩,而时分MUX网络用于响应压缩
Adaptive Scan结构是由Synopsys公司提出的[22].在该结构中,激励解压缩电路主要包含一个可
重构的MUXs网络.通过重构解决了伊利诺伊结构覆盖率不高的问题.该结构的输出端采用XOR网络
压缩响应.Adaptive Scan的一个优势是它可以很好地结合到Synopsys的综合流程中.
5 结束语
方法来降低芯片的测试
DA工具厂商都发布了它们第一代甚至是第二代测试压缩工具.测试压缩电路易于融合到现有芯
26 Electronic Design Automatic,电子设计自动化
27 Demultiplexor,解复用电路
28 Multiplexor,复用电路
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
片的设计流程中,且能保证很高的故障覆盖率,这是它能够在工业界广泛应用的重要原因,也是它
和逻辑内建自测试不同之处.逻辑内建自测试虽然已经研究了多年,本身具有很多优点,但是故障
覆盖率不高的缺点一直没有得到很好的解决,影响了它在工业实践中的应用.
好地处理未知
.对于测试压缩,当务之急是工业界和学术界联手制定标准.现在,不同的
测试压缩工具采用不同的测试压缩方法,设计人员很难针对不同的压缩电路设计统一的芯核外壳和
AT P G工具.
[72] B. Koenemann, "LFSR-coded test patterns for scan designs", In Proceedings of IEEE European Test Conference, pp.
[73] L. Li, K. Chakrabarty and N. A. Touba, "Test data compression using dictionaries with selective entries and
International Conference on Computer-Aided Design, November, 1998.
[76] A. Chandra and K. Chakrabarty, "System-on-a-Chip Test-Data Compression and Decompression Architectures Based
Codes", IEEE Transactions on Computer-Aided-Design, Vol. 20, No. 3, pp. 355-368, 2001.
[77] A. Chandra and K. Chakrabarty, "Test Resource Partitioning for SOCs", IEEE Design & Test of computers, pp.80-91,
[78] A. Jas and N. A. Touba, "Test Vector Compression via Cyclical Scan Chains and Its Application to Testing
[79] . Dastidar and N. A. Touba, "Scan Vector Compression/ Decompression Using Statistical Coding", In
[80] -Dastidar, M. Ng and N. A. Touba, "An Efficient Test Vector Compression Scheme Using Selective
[81]
[82] d Hardware Decompression Using LZ77", In
[83] and Testing Time Using
[84] Volume ", In
[85] andra and K. Chakrabarty, "Combining Low-Power Scan Testing and Test Data Compression for
[86] -on-a-chip using
[87] or combinational circuits", Technical Report 12.93,
[88] tion Conference,
pp. 336-340, 1992.
[89] K. J. Lee, J. J. Chen, and C. H. Huang, "Broadcasting Test Patterns to Multiple Circuits", IEEE Transactions on
Vol. 18, No. 12, pp. 1793-1802, 1999.
当前工业界中使用较多的激励解压缩电路是广播式和线性变换类型,这样的解压缩电路实现简
单,控制逻辑也简单.在测试响应压缩方面,由于异或网络和卷积编码压缩电路能很
位,正成为研究的热点
参考文献
[71] 胡瑜,韩银和,董婕,王达,刘慧,"龙芯2E可测试性设计技术报告",中国科学院计算技术研究所技术报告,
2005.11
237-242, 1991.
fixed-length indices", ACM Transactions on Design Automation Electronic System, Vol. 8, No. 4, pp. 470-490, 2003.
[74] I. Hamzaoglu and J. H. Patel, "Test Set Compaction Algorithms for Combinational Circuits", In Proceedings of IEEE
[75] B. Koenemann, C. Barnhart, B. Keller, T. Snethen, O. Farnsworth and D. Wheater, "A SmartBIST Variant with
Guaranteed Encoding", In Proceedings of IEEE Asian Test Symposium, pp. 325-330, 2001.
on Golomb
2001.
Core-Based Designs", In Proceedings of IEEE International Test Conference, pp. 458-464, 1998.
A. Jas, G
Proceedings of IEEE VLSI Test Symposium, pp. 114-121, 1999.
A. Jas, J. Ghosh
Huffman Coding", IEEE Transactions on Computer-Aided-Design, Vol. 22, No.6, pp. 797-806, 2003.
A. El-Maleh, S. Zahir and E. Kham, "A Geometric-Primitives-Based Compression Scheme for Testing
Systems-on-a-Chip", In Proceedings of IEEE VLSI Test Symposium, pp. 54-59, 2001.
F. G. Wolff and C. Papachristou, "Multiscan-Based Test Compression an
Proceedings of IEEE International Test Conference, pp. 331-339, 2002.
A. Chandra and K. Chakrabarty, "Reduction of SOC Test Data Volume,Scan Power
Alternating Run-length Codes", In Proceedings of IEEE Design Automation Conference, pp. 673-679, 2002.
A. Chandra and K. Chakrabarty, "How Effective are Compression Codes for Reducing Test Data
Proceedings of IEEE VLSI Test Symposium, pp. 91-96, 2002.
A. Ch
System-on-a-Chip", In Proceedings of IEEE Design Automation Conference, pp. 166-169, 2001.
A. Chandra and K. Chakrabarty, "Test data compression and test resources partitioning for system
Frequency-Directed Run-Length(FDR) codes", IEEE Transaction on Computers, Vol. 52, No. 8, pp. 1076-1088, 2003.
H. K. Lee and D. S. Ha, "On the generation of test patterns f
Department of Electrical Eng., Virginia Polytechnic Institute and State University.
H. K. Lee and D. S. Ha, "An efficient parallel fault simulator", In Proceedings of IEEE Design Automa
Computer-Aided-Design,
第4卷第1期 信息技术快报 Vol. 4.No.1
Information Technology Letter Jan.2006
[90] I. Hamzaoglu and J. H. Patel, "Reducing Test Application Time for Full Scan Embedded Cores", In Proceedings of
IEEE International Symposium on Fault-Tolerant Computing, pp.260-267, 1999.
[91] S. Samaranayake, E. Gizdarski, N. Sitchinava, F. Neuveux, R. Kapur and T. W. Williams, "A Reconfigurable Shared
Scan-in Architecture", In Proceedings of IEEE VLSI Test Symposium, pp. 9-14, 2003.
ings of IEEE Asian Test Symposium, 2005.
IEEE
[95]
ompact based on Convolutional Code", In Proceedings of IEEE Asia and South Pacific Design
[97] Time Reduction Through Scan Chain Concealment",
[98] r Test Volume and Time Reduction
[103] ki, J. Tyszer, C. Wang and S. M. Redy, "Finite memory test response compactors for embedded test
[104]
. 776-792, 2004.
IEEE International Test Conference, pp.
[106]
Multiplexing (TDDM/TDM) with VirtualScan for Test Cost Reduction", In Proceedings of IEEE
作者简介:
[92] N. Sitchinava, S. Samaranayake, R. Kapur, E. Gizdarski, F.c Neuveux and T.W.Williams, "Changing the Scan Enable
during Shift", In Proceedings of IEEE VLSI Test Symposium, pp. 73-78, 2004.
[93] Y. Han(韩银和), S. Swaminathan, Y. Hu(胡瑜), A. Chandra and X. Li(李晓维), "Scan Data Volume Reduction
Using Periodically Alterable MUXs Decompressor", In Proceed
[94] Y. Han(韩银和), Y. Xu(徐勇军), A. Chandra, H. Li(李华伟) and X. Li(李晓维),"Test Resource Partitioning
Based on Efficient Response Compaction for Test Time and Tester Channels Reduction", In Proceedings of
Asian Test Symposium, pp. 440-445, 2003.
Y. Han(韩银和), Y. Xu(徐勇军) and X. Li(李晓维), "Co-Optimization For Test Data Compression and Testing
Power Based On Variable-Tail Code" In Proceedings of IEEE 5th International Conference on ASIC, pp. 105-108,
2003.
[96] Y. Han(韩银和), Y. Hu(胡瑜), H. Li(李华伟) and X. Li(李晓维), "Theoretic Analysis and Enhanced X-Tolerance
of Test Response C
Automation Conference, pp. 53-58, 2005.
I. Bayraktaroglu and A. Orailoglu, "Test Volume and Application
In Proceedings of IEEE Design Automation Conference, pp. 151-155, 2001.
I. Bayraktaroglu and A. Orailoglu, "Decompression Hardware Determination fo
Through Unified Test Pattern Compaction and Compression", In Proceedings of IEEE VLSI Test Symposium, pp.
113-118, 2003.
[99] L. Li, K. Chakrabarty, S. Kajihara and S. Swaminathan, "Efficient Space/Time Compression to Reduce Test Data
Volume and Testing Time for IP Cores", In Proceedings of IEEE International conference on VLSI Design, pp. 53-58,
2005.
[100] S. M. Reddy, K. Miyase, S. Kajihara and I. Pomeranz, "On test data volume reduction for multiple scan chain design",
Test SymIn Proceedings of IEEE VLSI posium, pp. 103-108, 2002.
[101] S. Mitra and K. S. Kim, "X-Compact: An Efficient Response Compaction Technique", IEEE Transactions on
Computer-Aided Design, Vol. 23, No. 3, pp. 421-432, 2004.
[102] K. Chakrabarty, "Zero-Aliasing Space Compaction Using Linear Compactors with Bounded Overhead",IEEE
Transactions on Computer-Aided Design of Integrated Circuits and Systems, Vol. 17, No. 5, pp. 452-457, 1998.
J. Rajs
applications", IEEE Transactions on Computer-Aided Design, Vol.24, No.4, pp.622-634, 2005.
J. Rajski, J. Tyszer, M. Kassab and N. Mukherje, "Embedded Deterministic Test", IEEE Transactions on
Computer-Aided Design, Vol. 23, No. 5, pp
[105] L.-T. Wang, X. Wen, H. Furukawa, F.-S. Hsu, S.-H. Lin, S.-W. Tsai, K. S. Abdel-Hafez and S.Wu, "VirtualScan: A New
Compressed Scan Technology for Test Cost Reduction", In Proceedings of
916-925, 2004.
L.-T. Wang, K. S. Abdel-Hafez, X. Wen, B. Sheu, S. Wu, S.-H. Lin and M.-T. Chang, "UltraScan: Using Time-Division
Demultiplexing/
International Test Conference, 2005.
韩银和: 中国科学院计算技术研究所博士研究生
胡 瑜: 中国科学院计算技术研究所副研究员
董 婕: 中国科学院计算技术研究所硕士研究生
王 伟: 合肥工业大学博士研究生
李华伟: 中国科学院计算技术研究所副研究员
李晓维: 中国科学院计算技术研究所研究员,博士生导师,先进测试技术实验
室主任
·下一篇:单片调制解调器MSM7512B

文件类型:PDF/Adobe Acrobat 文件大小:字节