Académique Documents
Professionnel Documents
Culture Documents
Jin-Fu Li
Advanced Reliable Systems (ARES) Lab
Department of Electrical Engineering
National Central University
Jungli, Taiwan
Outline
Basics
ATPG Algorithms for Combinational Circuits
Boolean Difference
Single-Path Sensitization
D-Algorithm
PODEM
Redundancy Identification
Problems of Sequential Circuit testing
ATPG Approaches for Sequential Circuits
Time-Frame Expansion
Simulation-Based Approach
Scan
Summary
s/0, s/1
A B Cin0 Ai
Sumi
s/0, s/1 s/0, s/1
64 64 Bi
Cini s/0, s/1
s/0, s/1
s/1
A’ A
A D
B’ B B’ B
B
C
C’ C C’ C C’ C C’ C
0 1 1 0 1 0 0 1
C C
C’ C’
0 1
Gate level
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 6
Algorithm Completeness
Algorithm is complete if it ultimately can
search entire binary decision tree, as
needed, to generate a test
Untestable fault – no test for it even after
entire tree searched
Combinational circuits only – untestable
faults are redundant, showing the presence
of unnecessary hardware
df ( X )
1 f i (0) f i (1)
dxi
Let xi / 0 and xi / 1, then
T f ( X ) f ( X ) ( x i f i ( 0 ) x i f i (1)) f i ( 0 )
x i f i (1) f i ( 0 ) x i f i (1) f i ( 0 ) x i ( f i (1) f i ( 0 ))
df ( X )
xi
dx i
T f ( X ) f ( X ) ( x i f i ( 0 ) x i f i (1)) f i (1)
x i f i ( 0 ) f i (1) x i f i ( 0 ) f i (1) x i ( f i ( 0 ) f i (1))
df ( X )
xi
dx i
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 12
An Example of Boolean Difference
The test set for x1 /1 of the circuit shown
below can be derived as follows
x1
x2
x3
T x1 df ( X ) x1 ( f ( 0 , x 2 , x 3 ) f (1, x 2 , x 3 ))
dx 1
x1 [( x 2 x 3 ) ( x 2 x 3 )]
x1 [( x 2 x 3 )( x 2 x 3 ) x 2 x 3 x 2 x 3 ]
x1 x 2
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 13
Single-Path Sensitization
Definition
We say a test t activates a fault if it
generates an error (or a fault effect) by
creating different v (l ) and v (l ) values at the fault
site l . We say t propagates the error (fault
effect) to a PO z if it results in different v ( z )
and v (z) values
Definition
A line whose value in the test t changes in the
presence of the fault is said to be sensitized
to by t . A path composed of sensitized lines
is called a sensitized path.
E G4
c
For example:
(1X1 01) (X1X 01) = (111 01)
(1X1 X1) (01X X1) = (D11 11)
Multiple
sensitized paths
1 2 5 3 4 6 3 5 7 2 6 8 7 8 9
G1 X 1 0
G2 X 0 D
G3 X
0 X 1
G4 D
0 D D’
G5 1 D D’
1 X 0 0 1 0 D’ D 1 D’
0 0 1 0 X D 1 1 0 D D D’ D D D’
sc pdcf sc pdc pdc
1 2 3 4 5 6 7 8 9
1. Select a pdcf- X X 1 0 X D X X X
2. Pdcf- pdc-G4 X 0 1 0 X D X D’ X
3. pdc-G5 (polarity inverted) X 0 1 0 X D 1 D’ D
4. Check line7=1 from sc-G3 line5=0 X 0 1 0 0 D 1 D’ D
5. Check line5=0 from sc-G1 line1=1 1 0 1 0 0 D 1 D’ D
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 29
Examples
Try it again for the fault d /1 for the following circuit
a
G3 f
c G6
i
G2 e
h
b G4 g
G1 d G5
a
a b c d e f g h i
1 1 X D’ X X X X X
1 1 X D’ 1 X D X X Thus 110 is a test
1 1 0 D’ 1 X D X X
1 1 0 D’ 1 1 D D’ X
1 1 0 D’ 1 1 D D’ D
f
c
a
b d
A D A
D/0
B B B E
E E
n
A
1 d q Z
l D
D D
eD p
1 f D
B r
g m
C f/0 h Y
0 0
k
j s
n
A
1 d q Z
l 1
D D
eD p q/1
1 f D
B r
g m
C f/0 h Y
0 0
k
j s
state
clk
Time frame
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 40
Time-Frame Expansion
Iterative Array Conversion
pseudo Flip Flop
X(0) X(1)
Z(0) Z(1)
T Y y
0 0 0
T y
0 1 1
1 0 1 Y
1 1 0
Fault
Unknown
Time State Time Time Next
or given
Frame 0 variables Frame n-2 Frame n-1 state
Init. state
Comb.
block
x’
G3
y2 y2
G7 D2 x (0)=1 x (1)=1 x (2)=1
x y2’
y2 G4
0 D’
y1(0)=0
D’ D’
y2(0)=0
x
G5 z
y1’
z (0)=1 z (1)=1 z (2)=D
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 44
An Example
Test pattern generation with D-alg.
t0: initial state y1=y2=0; y2=0 and a/1 a=D’
Set x(0)=1y2(1)=D’ and z(0)=1
z != D or D’ Continue!
t1: set x(1)=1y1(2)=y2(2)=D’ and z(1)=1
z !=D or D’ Continue!
t2: on G5, let x(2)=1
y1(2)=D’z(2)=D
Test sequence X=111
Termination rules
If z=D or D’ then a test sequence is found
If k>4n, where n is the number of FFs of the
original circuit, then the circuit is redundant
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 45
Simulation-Based Test Generation
CONTEST
A concurrent test generator for sequential circuits---
using concurrent fault simulator
Pseudo code
Initialization:
{1. Start with an arbitrary vector and all FFs in unknown
state;
2. Generate new vectors to reduce cost by 1-bit changes in
the present vector
/*use only true-value simulation*/
/*cost=number of FFs in unknown state*/
3. Stop when cost drops below desired value; }
Tests for concurrent targets:
{1. Start with initialization vectors;