Upload
gowtham-hari
View
222
Download
0
Embed Size (px)
Citation preview
7/25/2019 Scan Path Design (1)
1/54
07/03/16Based on text by S. Mourad
"Priciples of Electronic Systes"
Digital Testing: Scan-Path Design
7/25/2019 Scan Path Design (1)
2/54
Outline
Problems with sequential testing
What is scan Types of scan
Types of storage devices
Scan Architectures
Cost of Scan
Partial Scan
7/25/2019 Scan Path Design (1)
3/54
Problems with Sequential Machine Testing
Complexity of testing sequential circuits
due to
feedback loopsplacement of the circuit in a known state
high chance for haard! essential haard
Timing problems
7/25/2019 Scan Path Design (1)
4/54
The Scan-path Technique
Scan!pat desi#nis to reduce test #eneration
coplexity for circuit containin# stora#e de$icesand feedbac% pat &it cobinational lo#ic
'e pilosopy is to di$ide ( con)uer&it te
purpose to *1. Set any internal stateeasily+. ,bser$e any state trou# a distin#uisin#
se)uence
7/25/2019 Scan Path Design (1)
5/54
What is Scan DesignThis "#T technique is used mainly for testable
synchronous circuit
We assume the use of "$%ip$%ops onlyA mux is placed at the input of each %ip$%op
in such a way that all %ip$%ops can be
connected in a shift register for one mux
selection and to work in a normal mode in the
other
7/25/2019 Scan Path Design (1)
6/54
Adding Scan Structure
SFF
SFF
SFF
Combinational
logic
PI PO
SCANOUT
SCANIN
TC or TCK SFFs (scan Flip-flops)
Not shown CK
Connect the S## in a shift register and test
them
7/25/2019 Scan Path Design (1)
7/54
Testing strategyPrincipl! of scan path
&ach input to the
## is considered
an output of the
combinatorialcircuit
each output of the
## is an input to
the circuit
7/25/2019 Scan Path Design (1)
8/54
Testing strategy
Exaple*
- realiation for te double!tro&s&itc
nternal state can be deterined $ia te scan!out
output.
7/25/2019 Scan Path Design (1)
9/54
1. Set c 1 to s&itc te circuit to sift re#isterode
+. ec% operation as a sift re#isterby usin#
scan!in inputs 2 scan!out output and te cloc%3. Set te initial stateof te sift re#ister
. Set c 0 to return to noral ode
4. -pply test input patternto te cobinational lo#ic
6. Set c1 to return to sift re#ister ode7. Sift outte final state &ile settin# te startin#
state for te next test
5. o to step .
'e procedure for circuit testin# *
7/25/2019 Scan Path Design (1)
10/54
Testing the ombinational PartRepeat until all patterns are applied.
' a( Set S& ) *! shift in the initial values on the %ip$%ops(
+These are the signals at the output of thelatches for the ,rst test pattern(-
' b( S& ) .! apply a pattern at the primary inputs(
' c( Clock the circuit once and observe the resultsat the primary outputs(
' d( Clock the circuit / times(
End repeat.
7/25/2019 Scan Path Design (1)
11/54
An !"ample
Clk
Combinational Circuit
l%
7+
71
8
9 :
1
l%
9 :
+
y1
8 ;
y+
616+
63
7/25/2019 Scan Path Design (1)
12/54
#nserting the Mu"es
l%
Combinational Circuit
l%
7 +7
1
8
9 :
1
l%
9 :
+
y1
8 ;
y+
1
0
1
01
0
Scan!in
Scan!out
61 6+ 63
7/25/2019 Scan Path Design (1)
13/54
Types o$ Storage De%ices
/ultiplexed input %ip$%op
Two$port %ip$%op works with twononoverlapping clocks
0atch$based Scan "esign1 requires
2$latches clocked with non$overlapping clocks
3$latch clocked with three phases
7/25/2019 Scan Path Design (1)
14/54
Scan Design ArchitecturesSeveral architectures1/ultiplexed %ip$%ops design
0evel$sensitive scan designScan set scan design
"erivative of scan design1
Parallel scan chainsPartial scan
7/25/2019 Scan Path Design (1)
15/54
&e%el Sensiti%e Scan Design &SSD '#(M)
Scanis ability to sift into or out of any state
-ll internal stora#e is ipleented usin# aard
freepolarity!old s&itces
7/25/2019 Scan Path Design (1)
16/54
&e%el-sensiti%e &atchThe latch works with the 3
phases A! 4 and C
#or normal operation!clocks 4 and C
#or shift operation! clocks
4 and A
Two$port %ip$%op works
with two non$overlapping
clocks
7/25/2019 Scan Path Design (1)
17/54
Polarity *old &atch '#(M)
9
7/25/2019 Scan Path Design (1)
18/54
&SSD design rulesStorage is implemented by haard freepolarity$hold latches
latches controlled by non$overlapping clocksclock inputs to S50s must be easily controlled
clock feeds clock inputs only
all S50 must be connected into shift registers
input sensitiing conditions
7/25/2019 Scan Path Design (1)
19/54
&e%el-Sensiti%e Scan-Design &atch
"
S"
#CK
$
$
" flip-flop
#ast!r latch Sla%! latch
t
SCK
TCK
SCK
#CK
TCK No
rmal
m
o&!
#CK
TCK Scan
mo&!
'ogico%!rh!a&
7/25/2019 Scan Path Design (1)
20/54
&SSD: TestingRepeat until all patterns are applied.a( Apply a pattern at the primary inputs(
b( Clock C6 then clock B once and observe the results at
the primary outputs(c( Shift out the response
Apply the initialiation for the next pattern at S7(
ClockA! then clock B, Mtimes(
8bserve at the primary outputs and the S8 pins(
7/25/2019 Scan Path Design (1)
21/54
Multiple Scan hains7nstead of stringing all the %ip$%ops or thelatches in one shift register
Partition them is several chains
The advantages are1
compatible with multiple clock designs
Shorten test application time
Simplify the stitching of the %ip$%ops
4ut! may require extra pins
7/25/2019 Scan Path Design (1)
22/54
The ost o$ Scan Design
Area +muxes! extra routing-
Additional 798s
Performance! delays within the %ip$%ops
:eat when testing at speed
7/25/2019 Scan Path Design (1)
23/54
Multiple Scan +egisters
Scan flip-flops can be distributed among any number
of shift registers, each having a separate scaninandscanoutpin.
Test sequence length is determined by the longestscan shift register.
Just onetest control
(TC) pin is essential.
SFFSFF
SFF
Combinational
logic
PISCANIN PO
SCANOUT#U
CK
TC
7/25/2019 Scan Path Design (1)
24/54
Scan O%erhead
78 pins1 8ne pin necessary(Area overhead1
Gate overhead) ;< n=9+ng>*.n=-? x *..@!
where ng) comb. gates6 n=) fip-fops6
' &xample
' ng) *..k gates! n=) 2k fip-fops! overhead ) (B@(
/ore accurate estimate must consider scan wiringand layout area(
Performance overhead1/ultiplexer delay added in combinational path6approx( two gate$delays(
#lip$%op output loading due to one additionalfanout6 approx( $@(
7/25/2019 Scan Path Design (1)
25/54
*ierarchical Scan
Scan %ip$%ops are chained withinsubnetworks before chaining subnetworks(
Advantages1' Automatic scan insertion in netlist
' Circuit hierarchy preserved D helps in debugging and
design changes
"isadvantage1 Eon$optimum chip layout(
SFF*
SFF+ SFF,
SFF
SFF,SFF*
SFF+SFF
Scanin Scano.t
Scanin
Scano.t
/i!rarchical n!tlist Flat la0o.t
7/25/2019 Scan Path Design (1)
26/54
Scan Area O%erhead
inear dimensions of active area!
" # (C $ S) % r
"& # (C $ S $ aS) % r
'& # ' $ ry # ' $ '(--b) % T
rea overhead "&'&--"'
# -------------- * ++
"'
--b
# ($as)($ -------) /*++
T
--b
# (as $ ------- )* ++T
y # trac0 dimension, 1ire
1idth$separation
C # total comb. cell 1idth
S # total non-scan 22 cell
1idth
s # fractional 22 cell area # S%(C$S)
a# S22 cell 1idth fractional
increase
r # number of cell ro1s
or routing channels
b# routing fraction in active
area
T # cell height in trac0
dimension y
7/25/2019 Scan Path Design (1)
27/54
!"ample: Scan &ayout
2!...$gate C/8S chip
#ractional area under %ip$%op cells! s ) .(
7/25/2019 Scan Path Design (1)
28/54
ATP, !"ample: S./0Original
+;:9*
*:7
4
4548 ;64,
,
7/25/2019 Scan Path Design (1)
29/54
Automated Scan Design
?!ha%ior; @T'; an& logic"!sign an& %!rification
=at!-l!%!l
n!tlist
Scan &!sign
r.l! a.&its
Combinational
ATP=
Scan har&war!
ins!rtion
Chip la0o.t Scan-
chain optimi1ation;timing %!rification
Scan s!>.!nc!
an& t!st programg!n!ration
"!sign an& t!st
&ata for
man.fact.ring
@.l!
%iolations
Scan
n!tlist
Combinational
%!ctors
Scan chain or&!r
#as2 &ataT!st program
9e$elop desi#n
9e$elop test
7/25/2019 Scan Path Design (1)
30/54
Timing and PowerSmall delays in scan path and clock skewcan cause race condition(
0arge delays in scan path require slowerscan clock(
"ynamic multiplexers1 Skew between TCand TC signals can cause momentary
shorting of " and S" inputs(5andom signal activity in combinationalcircuit during scan can cause excessivepower dissipation(
7/25/2019 Scan Path Design (1)
31/54
Scan Summary
Scan is the most popular "#T technique1' 5ule$based design
' Automated "#T hardware insertion
' Combinational ATPG
Advantages1' "esign automation
' :igh fault coverage6 helpful in diagnosis
' :ierarchical D scan$testable modules are easily combinedinto large scan$testable systems
' /oderate area +H*.@- and speed +H@- overhead"isadvantages1
' 0arge test data volume and long test time
' 4asically a slow speed +"C- test
7/25/2019 Scan Path Design (1)
32/54
O%er%iew: Partial!Scan ( Scan @ariations
"e,nition
Partial-scanarchitecture
Scan %ip$%op selection methods
Cyclic and acyclic structures
Partial$scan by cycle$breaking
Scan variations
can-hold fip-fop+S:##-Summary
7/25/2019 Scan Path Design (1)
33/54
Partial-Scan De$inition
A subset of %ip$%ops is scanned(
8bIectives1/inimie area overhead and scan sequence
length! yet achieve required fault coverage&xclude selected %ip$%ops from scan1' 7mprove performance
' Allow limited scan design rule violations
Allow automation1' 7n scan %ip$%op selection
' 7n test generation
Shorter scan sequences
7/25/2019 Scan Path Design (1)
34/54
Partial-Scan Architecture
FF
FF
SFF
SFF
Combinational
circ.it
PI PO
CK*
CK+ SCANOUT
SCANIN
TC
7/25/2019 Scan Path Design (1)
35/54
What 1 Why Partial Scan DesignTo scan only a subset of the %ip$%opsThe circuit is easier to test by the sequential
ATPG(
The area overhead is minimied(The placement of the %ip$%ops is such that
the interconnects are minimied(
The delays are shortened(
7/25/2019 Scan Path Design (1)
36/54
Partial Scan DesignTo scan only a subset of the %ip$%ops
:ow to select this subsetJ
7t is an EP$complete problem:euristics on graph model to select the
minimum feedback vertex set +/#KS- to
transform the #S/ into an acyclic graph
S 2l 2l S l M h d
7/25/2019 Scan Path Design (1)
37/54
Scan 2lip-2lop Selection Methods
Testability measure based
Lse of SC8AP1 limited success(
Structure based1
Cycle breaking
4alanced structure
'Sometimes requires high scan percentage
ATPG based1Lse of combinational and sequential TG
7/25/2019 Scan Path Design (1)
38/54
ycle (rea3ing
"iMculties in ATPG
S$graph construction and
/#KS problem
Test generation and teststatistics
Partial vs( full scan
Partial$scan %ip$%op
7/25/2019 Scan Path Design (1)
39/54
Di$$iculties in Seq4 ATP,
Poor initialiability(
Poor controllability9observability of statevariables(
Gate count! number of %ip$%ops! and sequentialdepth do not explain the problem(
Cycles are mainly responsible for complexity(An ATPG experiment1
Circ.it N.mb!r of N.mb!r of S!>.!ntial ATP= Fa.lt
gat!s flip-flops &!pth CPU s co%!rag!
T'C ,
7/25/2019 Scan Path Design (1)
40/54
(enchmar3 ircuits
Circuit
34
35
22
6ates
StructureSequential depth
Total faults
7etected faults
3otentially detected faults
8ntestable faults
bandoned faults
2ault coverage ()2ault efficiency ()
9a*. sequence length
Total test vectors
6entest C38 s (Sparc :)
s;
?:;
Cycle-free =
:=:
:@;
+
@
+
;;.> ++.+
@
@@
+
s:@>
=
=
>
?+>
Cycle-free =
@??
:>@
+
A:
+
;=.A ++.+
@
@+>
?
s=>>
>
;
*vectors +dseqis the sequential depth-(
ATPG complexity1 To determine that a fault is
untestable in a cyclic circuit! an ATPG programusing nine$valued logic may have to analyeNE=time$frames! where E=is the number of%ip$%ops in the circuit(
7/25/2019 Scan Path Design (1)
42/54
ycle-2ree !"ample
F*
F+
F,
'!%!l *
+
F*
F+
F,
'!%!l *
+
,
,
&s!> ,
s - graph
Circ.it
All fa.lts ar! t!stabl!5 S!! DBampl! 9565
7/25/2019 Scan Path Design (1)
43/54
A Partial-Scan MethodSelect a minimal set of %ip$%ops forscan to eliminate all cycles(
Alternatively! to keep the overhead lowonly long cycles may be eliminated(
7n some circuits with a large number ofself$loops! all cycles other than self$
loops may be eliminated(
7/25/2019 Scan Path Design (1)
44/54
The M25S Problem#or a directed graph ,nd a set of vertices with
smallest cardinality such that the deletion of thisvertex$set makes the graph acyclic(
The minimum !eedbac" verte# set+/#KS- problemis EP$complete6 practical solutions use heuristics(
A secondary obIective of minimiing the depth of
acyclic graph is useful(
* +
,
< 6',
* +
,
< 6'+
'*
s-graphA 6-flip-flop circ.it
7/25/2019 Scan Path Design (1)
45/54
Test ,eneration
Scan and non$scan %ip$%ops are controlled fromseparate clock P7s1' Eormal mode D 4oth clocks active
' Scan mode D 8nly scan clock active
Seq( ATPG model1' Scan %ip$%ops replaced by P7 and P8
' Seq( ATPG program used for test generation
' Scan register test sequence! ..**..O! of length ns=> 2- ns=> nATPG> < clocks
7/25/2019 Scan Path Design (1)
46/54
Partial Scan !"ample
Circuit1 T0C3 gates
2* %ip$%ops
Scan #aB5 c0cl! "!pth ATP= Fa.lt sim5 Fa.lt ATP= T!st s!>5
flip-flops l!ngth CPU s CPU s co%5 %!ctors l!ngth
4 * *;+: 6* 9754*8 94< 94