dft_2006.06_sg_01_scanbasics
TRANSCRIPT
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
1/40
11-
Agenda
2006 Synopsys, Inc. All Rights ReservedSynopsys 30-I-011-SSG-009
Understanding Scan Testing1
DFTC User Interfaces2
DFT for Clocks and Resets4
Creating Test Protocols3
DAY
DAY
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
2/40
21-
Unit O!ecti"es
After co#$leting t%is &nit' (o& s%o&ld e ale to)
*+$lain %o, to &se t%e D algorit%# to generate
a $attern t%at detects a gi"en st&ck-at fa< in aco#inational design
Do t%e sa#e in a f&ll scan se&ential design
.all of t%e fli$-flo$s are scan co#$liant' no
#e#or(' no latc%es/ *+$lain ,%( scan-c%ainsare necessar( to
s&$$ort ATP0
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
3/40
31-
Unit 1 Road#a$
What is Design for
Manufactuing
Test?
D Algorithm as
applied to purely
combinational
logic
Lab 1
D Algorithm as
applied to
sequential logic
(Full can!
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
4/40
41-
"ac#aged
$% %hips
Test"rogram
STIL 1.0;
AT&
Fail
Pass
%at is an&fact&ring Test
"ass'Fail Testing
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
5/40
1-
Physical Defect:
A on-chip fla,introdced dring !"#ric"tion or p"c$"ging
o! "n individ"l ASI% th"t &"$es the device #alf&nction.
Co##on
P%(sical
Defects
hort
%ircuit
Transistor
Alays )*
)pen
%ircuit
%at Is a P%(sical Defect
)+ide
"inholes
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
6/40
51-
) u t p u t h o r t e d
t o L o g i c 1
" u l l , D o ( nT r a n s i s t o rA l ( a y s ) *
I N O U T
G R O U N D
P O W E R
$ n p u t) p e n
P%(sical Defects in COS
T%is $%(sical "ie, of a COS in"erter %as se"eral defects6
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
7/4071-
St&ck-At Fa< odel
Fault Model:A logical#odel re$resenting t%e effectsof a $%(sical defect8
SA1 Fault:
D&e to a defect' in$&t $inAof U0acts as if st&ck %ig%'inde$endent of in$&t signal8
SA0 Fault:
D&e to defect' o&t$&t $in Yof U1acts as if st&ck lo,'inde$endent of t%e in$&ts8
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
8/4091-
Rules of the Game:
'ester "ccess to the device-nder-test ()*'+
is onl( "lloedthrogh its $ri#ar(I ports.
R&les for Detecting a SAF
Internal Proingof IC Too Costl(6
Internal Proingof IC Too Costl(6
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
9/40:1-
Unit 1 Road#a$
What is Design for
Manufactuing
Test?
D Algorithm as
applied to purely
combinational
logic
Lab 1
D Algorithm as
applied to
sequential logic
(Full can!
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
10/401;1-
Else SA0 fault ispresent,and U1/Yremains at -.Else SA0 fault ispresent,and U1/Yremains at -.
T%is if
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
11/40111-
D A l g o r i t h m .
1 / T a r g e t a s p e c i c s t u c ! a t f a u l t .
0 / " r i v e f a u l t s i t e t o o p p o s i t e v a l u e .
( c o n t i n u e d )
Acti"ate t%e SA; Fa< .1et,ork 1
In$&t
Sti#&l&s
1' -
Fault,Free
Faulty alue
Legend
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
12/40121-
D A l g o r i t h m .
1 / T a r g e t a s p e c i c s t u c ! a t f a u l t .
0 / " r i v e f a u l t s i t e t o o p p o s i t e v a l u e .
2 / " r o p a g a t e e r r o r t o p r i m a r # o u t p u t .
( c o n t i n u e d )
Pro$agate Fa< *ffect .2
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
13/40131-
Anato#( of a Test Pattern .3
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
14/40141-
D A l g o r i t h m .
1 / T a r g e t a s p e c i c s t u c ! a t f a u l t .
0 / " r i v e f a u l t s i t e t o o p p o s i t e v a l u e .
2 / " r o p a g a t e e r r o r t o p r i m a r # o u t p u t .
5 / 4 e c o r d p a t t e r n $ d r o p d e t e c t e d f a u l t .
Record t%e Test Pattern .4
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
15/4011-
Assess#ent of D Algorit%#
Ad"antages)
Deter#inisticste$-(-ste$ #et%od of detecting SAFs
*+%a&sti"e@s&cceeds &nless a fa< is &ndetectale
=i#itations)
0enerates a test for onest&ck-at fa< at a ti#e
In"ol"es decision #akingat al#ost e"er( ste$ a( acktracke+cessi"el( for %ard-to-test fa<s
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
16/40151-
What To Do.%se the Dalgorithm to generate a test pattern b# hand to detect the
)ecord #our test pattern *both
stimulusand response+ at right.
*+ercise) Detect SA1 Fa<
V e c t o r { A L L = _ _ _ _ _ _ _ ; }
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
17/40171-
111
1
-
Sol&tion) Detect SA1 Fa<
Legend.
InputNis a dont!care *0or 1+.
-utput 'is dont!strobe *mas+.
N - (con6ict!
-
-'1
V e c t o r { A L L = ; }111N0'0
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
18/40191-
Nf
= 2 ( Np i n s
+ Np o r t s
)
= 2 ( 1 1 + 5 )
= 3 2
Total
Fa<
Co&nt
>et,ork 1
o, an( St&ck-At Fa<s
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
19/401:1-
Eui!alent Faults:A set o! !"lts hose e!!ects c"nnot #e distingished"t the A' "re e&i"alent to one "nother. >otestp"ttern eists th"t c"n tell the& "p"rt.
*&i"alent Fa<s .1et,ork 1
Fanout!free net.Fanout!free net.
U1/ASA& U1/Y
SA0.
U1/ASA& U1/YSA0.
ATP /ors left to right,thinning euivalent faults.
ATP /ors left to right,thinning euivalent faults.
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
20/402;1-
Nf
= 2 ( Ni n p u t s
+ 1 )
= 6
Nf
= ( Ni n p u t s
+ 2 )
= 4
After
Colla$sing
BeforeColla$sing
*&i"alent Fa<s .2A>D in$&t SA; is identical tot%eo&t$&t SA1
T%e fa< set ASA;' $SA;' YSA1 is t%&s ane&i"alent set
Onl( oneof t%e e&i"alent fa<s needs to e incl&ded
*+a#$le) YSA1
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
21/40211-
*&i"alent Fa<s .3et,ork 1
Fault "olla#sin$:
y testing !or only one!"lt per e/iv"lence set, yo redce
(or colla$se+ the !"lt popl"tion. 'his &e"ns !eer p"tterns.
After collapsing,
onl#
7of 20faults left.
After collapsing,
onl#7of 20faults left.
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
22/40221-
*&i"alent Fa<s .4
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
23/40231-
U 1
U
U /
U 0
$
Y
A1 ' -
Undetectale Fa<s
To a"oid an o&t$&t glitc%' designer %as added gate U1.It does notalter t%e f&nction Y' and is t%&s red&ndant8
SinceU1
%as no effect' t%e SA; fa< is &ndetectale8
>et,ork 2
8ndetectableStuc!At Fault
8ndetectableStuc!At Fault
)edundantate U1
)edundantate U1
Fan!-utPresentFan!-utPresent
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
24/40
241-
Test and Fa< Co"erage For#&las
Test Co"erage EDT .PT G $tHcredit/
all fa<s - .UD .AU G a&Hcredit//
Fa< Co"erage EDT .PT G $tHcredit/
all fa<s
$tHcredit E ; ( defa<
a&Hcredit E ; ( defa<
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
25/40
21-
U!co2&e) St%c3 4%t S%55r6 Re2ort
(((((((((((((((((((((((((((((((((((((((((((((((
7%t c&& co)e 87%t&
(((((((((((((((((((((((((((((( (((( (((((((((
Detecte) DT 19:9
Po&&*
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
26/40
251-
Test Esca#es:
"rts th"t $assevery test,
#t still h"ve &ndetected
de!ects th"t re"ch sers4
Is ig% Co"erage >eeded
Defect %e!el:
'he fractiono! test esc"pes, in
de!ective p"rts per &illion (DP+.
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
27/40
271-
ig% Co"erage Is =o, DP
Jo& need %ig% fa< co"erageto kee$ defect le"els lo,6
Process
Jield
;
1;;;;
2;;;;
3;;;;
4;;;;
;;;;
5;;;;
7;;;;
9;;;;
1;;I :9I :5I :4I :2I :;I
Fault %o3erage
Defecti"e
Parts $er
illion
;I
5;I
7;I9;I
:;I
Escapes0.&2
Escapes0.&2
Defect =e"el"ers&s
Fa< Co"erage
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
28/40
291-
D8T )ne or *oneFaults Present
)ne or *oneFaults Present
T%e Single
St&ck-At Fa<
Ass$tion
Single SAF Ass$tion .SSAF/
T%ere is a $ossiilit( t%at #<i$le fa<s in t%e ASICcan #ask o&tfa<s tested &sing t%e SSAF ass$tion
T%e likeli%ood of si#<aneo&sSAFs is ignored
Testing for #<i$le SAFsis too ti#e consing
T%e SSAF ass$tion is one $ossile reason for test
esca$es
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
29/40
2:1-
Unit 1 Road#a$
What is Design for
Manufactuing
Test?
D Algorithm as
applied to purely
combinational
logic
Lab 1
D Algorithm as
applied to
sequential logic
(Full can!
S
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
30/40
3;1-
Testing Se&ential Designs
Jo& still need to acti"atet%e fa< and $ro$agateits effect8Re$laceeac% flo$ ,it% a testale fli$-flo$8T%is re$lace#ent allo,s serialloadinget,ork 1
TargetFa<
Pre-Scan
Design
S l * i l t Fli Fl
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
31/40
311-
Scannale*&i"alent!or rdin"ry) 5lip-5lop
<i$le+edFli$-Flo$
Sc"n Style
Scannale *&i"alent Fli$-Flo$
T%e scan e&i"alent %as a serial $at%fro# $in SIto SO
T%is $at% is enaled onl(d&ring testing' ( asserting SE
SE
0
1/SOD
LF
SI
D
LF
T% F ll S St t
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
32/40
321-
9ou stitch together a serial path through all the scan 6ops:
enabling AT& to preload registers and capture responses;
9ou stitch together a serialpaththrough all the scan 6ops:
enabling AT& to preloadregisters and captureresponses;
T%e F&ll Scan Strateg(
Seriall( &nload fa< effect at PO
T%en ca$t&ret%efa< effect .1/0/
into t%isregister8
Seriall( $reloadregister,it% t%e sti#&l&s' &000.
S T ti P t l * l 1
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
33/40
331-
Scan Testing Protocol) *+a#$le 1
Scan S%ift Scan S%ift
Ca$t&re
S*
C=K
SI
SO
1; ; ; >e+t Test Pattern
Res<s Fro# Pre"io&s Test Pattern 1
'est here !or
" SA !"lt
1' --
-
-
1
1' -
S*C=K
SI
SO
PI1
PI2
PI3
PI4
PO1
PO2
S T ti P t l * l 2
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
34/40
341-
Scan Testing Protocol) *+a#$le 2
Scan S%ift Scan S%ift
Ca$t&re
S*
C=K
PO1
SI ; >e+t Test Pattern
PI1
;
1
1' -
1' -
S*C=K
SI
SO
PI1
PI2
PI3
PI4
PO1
PO2
-
1
-' 1
Test a node in
t%is logic clo&d
for a SA1 fa<
T t P tt O l
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
35/40
31-
/ / /
% a p t u r e
c a n h i f t
% a p t u r e
/ / /
Pattern n
Pattern (n 1)
O"erla$$ing C(cles
Test Patterns O"erla$
Scanning o&t of $re"io&s $attern o"erla$sscanning in of ne+t
@for all &t first and last $atterns in t%e test $rogra#8
S St t i S i d
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
36/40
351-
Scan Strategies S#ariLed
'est Str"tegy
>o ScanGG5ll Se/enti"l A'G
F&ll Scan%oin"tion"l A'G
Al#ost-F&ll Scan5"st-Se/enti"l A'G
ig%est Co"erage
ost Scan I#$act
=ess Scan I#$act
ig% Co"erage
=onger R&n Ti#e
=ongest R&n Ti#e
oderate Co"erage
S$ecial A$$lications
(e.g. r"d-h"rd logic+
U it 1 R d
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
37/40
371-
Unit 1 Road#a$
What is Design for
Manufactuing
Test?
D Algorithm as
applied to purely
combinational
logic
Lab 1
D Algorithm as
applied to
sequential logic
(Full can!
U it S
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
38/40
391-
Unit S#ar(
F&ll Scan Ad"antages)
>eeds onl( co#inationalATP0 .D Algorit%#/for testing all SAFs
Co#inational ATP0 gi"es s%orter ATP0 r&n ti#es
Predictale and a$$lies across #ost arc%itect&res
0i"es %ig%est fa< co"erage of all t%e algorit%#s
*asiest to i#$le#ent
F&ll Scan =i#itations)
Adds nonf&nctional $insto t%e $ackage
Ti#ing and densit( i#$actof scan-e&i"alent flo$s
>ot a$$licale to e#edded #e#or(' latc%es'
fli$-flo$s not incl&ded on t%e scan-c%ain
= 1 C l t Fl
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
39/40
3:1-
=a 1) Co#$lete Flo,
DFT C%eck
Test-Read( Co#$ile
Ti#ing' Area
Read RT= Design
Miolations3 Create Test Protocol
Constraints
2et3
DFT C%eck
S$ecif( Scan Pat%s
Pre"ie,
Co"erage
Insert Scan Pat%s
Read Design and
Test Protocol Miolations3
Miolations3
andoff Design
Un#a$$ed
DFT Flo,
2a$$ed
DFT Flo,Start
*nd
=a 1) Fro# Reading to andoff
-
8/11/2019 DFT_2006.06_SG_01_scanbasics
40/40
=a 1) Fro# Reading to andoff
After co#$leting t%is la' (o& s%o&ld e ale to) Identif( t%e $ri#ar( ste$s in r&nning t%e tool
Identif( t%e $ri#ar( co##and for e"al&ating
tool transfor#ations
Find o&t t%e $&r$ose and s(nta+ of
co##ands and "ariales
3; #in&tes