ATPG - 3 Testability Design
ATPG - 3 Testability Design
Outline
Ad Hoc Design for Testability Techniques
Scan-Path Design
Block 2
OP
Block 1
CP
Block 1
Block 2
1- controllability:
CP = 0 - normal working mode
CP = 1 - controlling Block 2
with signal 1
Block 2
0- controllability:
CP = 1 - normal working mode
CP = 0 - controlling Block 2
with signal 0
OP
&
CP
Technical University Tallinn, ESTONIA
Block 2
Improving controllability:
Block 1
CP1
Block 1
CP1
CP2
&
Block 2
CP2
MUX
Block 2
MUX
2n-1
x1
x2
xn
Disadvantage:
Only one observation
point can be observed at a
time
OUT
0
1
2n-1
MUX
Counter
Disadvantage:
Only one observation
point can be observed at a
time
OUT
CP1
CP2
2n-1
CPN
DMUX
Disadvantage:
x1
x2
xn
Number of additional pins:
Number of control points:
(n + 1)
2n-1 N 2n
Advantage: (n + 1) << N
CP1
CP2
2 -1
CPN
DMUX
n
Counter
Disadvantage:
Number of additional pins:
Number of control points:
2
N
Advantage: 2 << N
MUX
Original
circuit
1
N
Advantage: 1 << N
Technical University Tallinn, ESTONIA
Normal
input
lines
CP1
CP2
CPN
DMUX
1
N
Advantage: 1 << N
CP1
CP2
CP3
CP4
1
2
3
4
Coding:
Mode
MUX
0
1
Norm.
Test
0
1
T
1
2
3
4
CP1
CP2
CP3
CP4
1
2
3
4
0
1 MUX
0
1 MUX
Counter
0
DMUX
FF
1
0
DMUX 1
1
Result:
A single pin T
is needed
00 Norm.
01 Contr
10 Test
Decoder
2
3
4
FF
0
1 MUX
0
1 MUX
CP1
CP2
CP3
CP4
1
0
1
2
3
4
1
x
0
F1
F2
z1
z2
z3
F3
z4
F4
y1
Counter
Counter
Decoder
Decoder
MUX
MUX
Mode
DMUX
00
000
Norm
001
0
Contr
010
Test
011
0
100
Obs
Obs
101
10
Obs
0
DMUX
DMUX
FF
FF
0
CP1
MUX 1
1 MUX1
1
0
Result:
A single
pin T
is needed
1
2
3
1
CP 2
CP 3
2
2
3
3
4
MUX 2
2 MUX 2
3
CP4
x4
&
&
&
y
x2
x4
&
Faults at x2 not
testable
x3
&
Fault at
&
&
y x1 ( x1 x2 ) x4 x3 x4
y
0
x2
x11
x1
x12
1
x3
&
&
&
Remaining
gate
not testable
0
x12
y x1 x4 x3 x4 x1 x4 x3
Technical University Tallinn, ESTONIA
&
Redundant AND-gate
Fault 0 not testable
Additional control input added:
T = 1 - normal working mode
T = 0 - testing mode
Technical University Tallinn, ESTONIA
1
No
error
E = 1 if decoder is fault-free
Fault 1 not testable
1
Error
detected
CL
REG 1
OUT
IN
CL
REG 2
OUT
&
&
C
&
CP: Clock Inhibit
REG 1
OUT
&
&
IN
CL
REG 2
&
OP
OUT
C1
DMUX1
MUX3
C1
MUX1
MUX2
C2
DMUX2
C2
MUX4
Scan-Path Design
IN
OUT
Combinational
circuit
Scan-IN
q
Scan-OUT
T = 1 - scan mode
Normal mode :
&
Scan-IN
&
flip-flops are
connected to the combinational circuit
D T
C
Scan-OUT
Test mode:
flip-flops are
disconnected from the combinational
circuit and connected to each other to
form a shift register
MUX
IN
SCAN
OUT
OUT
DMUX
SCAN
IN
Parallel Scan-Path
IN
Combinational
circuit
Scan-IN 1
R1
Scan-OUT 1
In parallel scan
path flip-flops can
be organized in more
than one scan chain
Advantage: time
Scan-IN 2
R2
Scan-OUT 2
OUT
Disadvantage: #
pins
Partial Scan-Path
IN
Combinational
circuit
Scan-IN
R1
Scan-OUT
R2
OUT
In partial
scan instead
of
fullscan,
it
may be
advantageous
to scan
only some
of the flipflops
Example:
counter
even bits
joined in the
Technical University Tallinn, ESTONIA
Control Part
y4
0
1
2
y1
R1
y3
M1
c
M3
y3
R2
Bus
y1
R1 + R2
1
b
M2
y4
R2
Scan-Out
IN
y2
2
3
IN
R1
y2
0
1
Data Part
IN + R2
R1 * R2
IN* R2
Control Part
y4
0
1
Scan-In
y1
R1
y3
M1
c
M3
y3
R2
Bus
y1
R1 + R2
1
b
M2
y4
R2
Scan-Out
IN
y2
2
3
IN
R1
y2
0
1
Data Part
IN + R2
R1 * R2
IN* R2
q
Scan-IN
Scan-CL
OUT
Combinational
circuit
&
Scan-OUT
X-Address
DC
In random
access scan
each flip-flop in
a logic network
is selected
individually by
an address for
control and
observation of
its state
Example:
Y-Address
DC
Delay fault
testing
Technical University Tallinn, ESTONIA
MUX
IN
SCAN
OUT
OUT
DMUX
SCAN
IN
logic simulation,
fault simulation,
estimation of controllability and observability values,
path tracing
Technical University Tallinn, ESTONIA
Traditional
functional
testing
Test
generator
HW
overhead
UUT
Normal
operation
Signature
Go/NoGo
Reference
Functional
BIST
UUT
UUT
Result
Result
Reference
Go/NoGo
HW
overhead
Signature
Go/NoGo
Reference
Deterministic
functional test set
Technical University Tallinn, ESTONIA
Circuit
Test
sequence
Fault
coverage
100%
Fault
Simulation
Not
detected
faults
Circuit
modification
Selection
of CPs
Technical University Tallinn, ESTONIA
Functional BIST
x1
x2
x3
Always 1
Class A:
Fault x3 1 is not
activated
x4
x5
1
0
&
Class B:
Class C needs
either
controllability
or
observability
x1
x2
x3
Given test:
Test patterns
No
Inputs
Intern.
points
Inputs
1 2 3 4 5 a b c 1 2 3 4 5 a b c
0 0 1 0 1 0 0 0 1 1 - 1 -
0 1 0 1 1 1 0 1 - - - 0 0 -
- 0
0 1 0 1 0 1 0 0 - - 1 -
1 1
1 1 1
1 -
&
x4
x5
Fault table
Intern.
points
1
&
Missing signals
x1/0:
x1 = 1
is missing
b /0:
b =1
is missing
x3/0:
x3 a = 11 is missing
a /0:
x3 a = 11 is missing
x2/0:
x1x2= 01
OK
x1
x2
x3
Given test:
Test patterns
No
Inputs
Intern.
points
Inputs
1 2 3 4 5 a b c 1 2 3 4 5
a b c
0 0 1 0 1 0 0 0 1 1 - 1 -
1 1 1
0 1 0 1 1 1 0 1 - - - 0 0
- - 0
0 1 0 1 0 1 0 0 - - 1 -
- 1 1
&
x4
x5
Fault table
Intern.
points
b
1
&
Missing signals
x1/0:
x1 = 1
is missing
b /0:
b =1
is missing
x3/0:
x3 a = 11 is missing
a /0:
x3 a = 11 is missing
x2/0:
x1x2= 01
OK
x1
x2
x3
Given test:
Test patterns
No
Inputs
Intern.
points
Inputs
1 2 3 4 5 a b c 1 2 3 4 5 a b c
&
x4
x5
Fault table
Intern.
points
1
&
Missing signals
x1/0:
x1 = 1
is missing
b /0:
b =1
is missing
0 0 1 0 1 0 0 0 1 1 - 1 -
0 1 0 1 1 1 0 1 - - - 0 0 -
- 0
0 1 0 1 0 1 0 0 - - 1 -
1 1
x3/0:
x3 a = 11 is missing
a /0:
x3 a = 11 is missing
x2/0:
x1x2= 01
1 1 1
1 -
OK
x1
x2
x3
Given test:
Test patterns
No
Inputs
Intern.
points
Inputs
1 2 3 4 5 a b c 1 2 3 4 5 a b c
&
x4
x5
Fault table
Intern.
points
1
&
Missing signals
x1/0:
x1 = 1
is missing
b /0:
b =1
is missing
0 0 1 0 1 0 0 0 1 1 - 1 -
0 1 0 1 1 1 0 1 - - - 0 0 -
- 0
0 1 0 1 0 1 0 0 - - 1 -
1 1
x3/0:
x3 a = 11 is missing
a /0:
x3 a = 11 is missing
x2/0:
x1x2= 01
1 1 1
1 -
OK
x1
x2
x3
Given test:
Test patterns
No
Inputs
Intern.
points
Inputs
1 2 3 4 5 a b c 1 2 3 4 5 a b c
0 0 1 0 1 0 0 0 1 1 - 1 -
0 1 0 1 1 1 0 1 - - - 0 0 -
0 1 0 1 0 1 0 0 - - 1 -
&
1
&
Missing signals
x1 = 1
is missing
b /0:
b =1
- 0
x3/0:
x3 a = 11 is missing
1 1
a /0:
x3 a = 11 is missing
x2/0:
x1x2= 01
1 1 1
1 -
1
x4
x5
Fault table
Intern.
points
is missing
OK, but
Control
point
candidates
CP1
CP2
CP3
F3
F4
F6
F7
F8
1
1
1
1
F5
CP4
CP5
F2
F9
1
1
1
1
1
1
Faults
Selected
control
points
Control
Test
DMUX
CP1
CP2
CPN
F1
Fault
class C
updated
CP1
CP2
CP3
F3
F4
F6
F7
F8
1
1
1
1
F5
CP4
CP5
F2
F9
1
1
1
1
1
1
x1
x2
x3
1
x3/0
Potential
control
points
a /0
b /0
x3=1
a =1
b =1
a /0
x4
x5
&
b
b /0
&
Test patterns
x1/0
x1=1
No
Inputs
Intern.
points
1 2 3 4 5 a b c
0 0 1 0 1 0 0 0
0 1 0 1 1 1 0 1
0 1 0 1 0 1 0 0
x1
x2
x2/0
x3
No
Inputs
Intern.
points
This
pattern is
to be
repeated
with
0 0 1 0 1 0 0 0
T1=1
0 1 0 1 1 1 0 1
0 1 0 1 0 1 0 0
1 2 3 4 5 a b c
x3/0
a /0
&
b /0
x4
x5
&
Corrected circuit:
Test patterns
T1=1
x1
T1=1
1
x2
x3
T2
x1/0
T2
&
x2/0
x4
x5
1
&
To be observed
Technical University Tallinn, ESTONIA
Space
Additional
outputs
MUX
0
1
MUX
2n-1
EXOR
With MUX
With EXOR
OUT
Time
Without MUX
Counter
OUT
Space
Additional
outputs
Additional time
compaction
MUX
EXOR
With SA
With EXOR
Time
With MUX
SCAN OUT
0
1
MUX
2n-1
OUT
SA
Counter
SCAN IN
Technical University Tallinn, ESTONIA
internal
logic
T
TDO
A
P
Data_in
TDI
BSC
TDO
TDI
TMS
internal
logic
TCK
TDO
T
A
P
internal
logic
T
A
P
TDI
T
A
P
internal
logic
T
A
P
TMS
TCK
TDO
internal
logic
Data_out
TDI
Scan
Internal
logic
Registers
Boundary
From system
pin
To
system
logic
0
1
0
1
From
last
cell
SET
CLR
Shift
DR
Q
Q
Clock DR
For SHIFT
SET
CLR
Q
Q
Test/Normal
Update
DR
For HOLD
From TDI
Shift DR
SET
To TDO
Clock DR
CLR
Version
Part Number
Manufacturer ID
4-bits
Any format
16-bits
Any format
11-bits
Coded form of JEDEC
TDO
Short
1
0
Assume wired
AND
0
Open
Assume stuck-at-0
00
01
00
00
Assume wired
AND
11
00
00
Open
Assume stuck-at-0
001
011
001
001
Assume wired
AND
110
Open
Suspected
Wired AND
short
001
Ambiguiety
000
Suspected
open fault
SAF/0
Assume stuck-at-0
All 0-s and all 1-s are forbidden codes because of stuck-at faults
Therefore the final test length is ]log2(N+2)[
Technical University Tallinn, ESTONIA
0 001
0 011
0 001
1 001
Assume wired
AND
1 110
Open
Suspected
Wired AND
short
1 001
Ambiguiety
solved
0 000
Suspected
open fault
SAF/0
Assume stuck-at-0
y x1 x3 x1 x2
x1
&
x3
&
x2
Test generation:
y x1 x3 x1 x2 x1 x2 x3 y
&
1
&
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
011
110
y x1 x3 x1 x2
x1
x3
x2
&
011
110 &
&
1
&
Here:
101
110 &
&
First assignment
Here:
y x1 x3 x1 x2
y c0 c1 x3 c2 x2 c3 x2 x3 c4 x1 c5 x1 x3 c6 x1 x2 c7 x1 x2 x3
Calculation of constants:
fi x1 x2 x3 y
f0
f1
0
f3
f4
f5
f6
f7
0 0
0 0
1 0
0 1
1 0
1 0
1 1
1 1
0
1
1
1
0
1
0
1
1
0
0
0
0
0
1
1
1 C 0 = f0
1 C 1 = f0
C 2 = f 0 f2
0 C 3 = f0
1 C 4 = f0
1 C 5 = f0
1 C 6 = f0
0 C 3 = f0
New:
y 1 x3 x1 x1 x3 x1 x2
f1
f1
f4
f1
f2
f1
f2
f2 f3
f4 f5
f4 f6
f2 f3 f4 f5 f6 f7
Technical University Tallinn, ESTONIA
y 1 x3 x1 x1 x3 x1 x2
&
x1 x2 x3
x1 x2 x3
011
110
011
110 &
101
110 &
(0
1
0
1
0)
1
0
1
1
1
0
1
1
1
0
0 &
1 &
Testability as a trade-off
Amusing testability:
Theorem:
Proof:
&
101
011
101
011
001
&
001
010
&
101
001
?
&
011
101
&
001