You are on page 1of 24

Automatic Test-Pattern

Generation (ATPG) for


Combinational Circuits

Design for Reliable Data Processing and Storage M 1


Cecilia Metra
Automatic Test-Pattern
Generation (ATPG) for
Combinational Circuits
 Definition
 Algorithms and representations
 Structural Test vs. Functional
 Definitions
 Research Space
 Completeness
 Algebra
 Kinds of algorithms

Design for Reliable Data Processing and Storage M 2


Cecilia Metra
ATPG: Definition
 Automatic Test Pattern Generation (ATPG) = process
for the automatic generation of test vectors for an IC.
 Such algorithms usually employ other algorithms to
inject all possible faults into an IC representation and
apply fault collapsing criteria to reduce as much as
possible the # of faults to be considered (to generate
test vectors).
 The considered faults have then to be activated by the
test vectors, and their effects propagated to the IC
primary outputs.
 Controllability and Observability measures are
exploited by the majority of ATPG algorithms.
Design for Reliable Data Processing and Storage M 3
Cecilia Metra
Functional/Structural ATPG
 ATPG functional (hypotetical) – generate a complete
test set for all input output combinations. Example
(64 bit ripple carry adder):
129 inputs, 65 outputs:
2129 input vectors
Using a 1 GHz ATE, 2.15 x 1022 years required
 ATPG structural (actual) – eliminates equivalent
faults and generates vectors oriented to a minimal
set of faults. Example:
1728 input vectors
0.000001728 s on a 1 GHz ATE
Design for Reliable Data Processing and Storage M 4
Cecilia Metra
Algebras for ATPG
Goal: to represent simultaneously both fault-free and
faulty circuit values  faster ATPG

Good Failing
Symbol Meaning Machine Machine
D 1/0 1 0
D 0/1 0 1 Roth’s
0 0/0 0 0 Algebra
1 1/1 1 1
X X/X X X
G0 0/X 0 X
G1 1/X 1 X Muth’s
F0 X/0 X 0 Additions
F1 X/1 X 1

Design for Reliable Data Processing and Storage M 5


Cecilia Metra
Fault Coverage
 Fault Coverage is the metric employed to evaluate
the efficiency of an ATPG algorithm.

# of detected faults
Fault coverage =
total # faults

Design for Reliable Data Processing and Storage M 6


Cecilia Metra
ATPG: Research Space (I)
 An ATPG program could search test vectors over the
space of all possible input and output vectors for an
IC.
 Such a space could be represented by a Binary Tree.

Courtesy of V. D. Agrawal, Agere (USA)

Design for Reliable Data Processing and Storage M 7


Cecilia Metra
Completeness of ATPG Algorithms
 An ATPG algorithm should be able to search the
whole binary tree, before concluding that a test vector
for a given fault does not exist.
 Definition: an ATPG algorithm is complete if it is able
to search the whole binary tree to generate a test (for a
hard to detect fault)  very important from the point
of view of the offered fault coverage.
 Untestable Fault – no test vector found, even though
having searched the whole tree.
 Combinational circuit: untestable faults show the
presence of unnecessary (redundant) hardware.

Design for Reliable Data Processing and Storage M 8


Cecilia Metra
Redundances Identification
by ATPG
 The ATPG can be exploited to identify redundant
hardware in an IC.
 In fact, in a combinational circuit, if no test vector
exists for a single stuck-at  hardware is
redundant.
 Advantages of redundancies elimination:
usually, speed increases and power consumption
decreases;
The presence of an undetectable fault can mask
following faults.
Design for Reliable Data Processing and Storage M 9
Cecilia Metra
Redundant Hardware
 Toactivate the fault it
should be A=B=1
E=1 the fault can
not be detected, but the
circuit behaves equally
with and without the
fault  undetectable
fault  redundant
hardware  possible
circuit semplification.
Courtesy of V. D. Agrawal, Agere (USA)

Design for Reliable Data Processing and Storage M 10


Cecilia Metra
Fault Coverage and Efficiency
 Fault Coverage and Fault Efficiency are metrics to
evaluate ATPG efficiency.

# of detected faults
Fault coverage = Total # faults

Fault efficiency =
# of detected faults
Total # faults -- # undetectable faults

Design for Reliable Data Processing and Storage M 11


Cecilia Metra
Some Algorithms for ATPG

 Exhaustive

 Random

 Path Sensitization (frequently used)

Design for Reliable Data Processing and Storage M 12


Cecilia Metra
Exhaustive Algorithms
 For a circuit with n-inputs, it generates all 2n
patterns.

 Impractical (too expensive) unless the circuit can be


split in logic cones with less than 15 inputs 

Exhaustive ATPG for each cone;

Faults involving more cones can not be detected.

Design for Reliable Data Processing and Storage M 13


Cecilia Metra
Random Algorithms
 Idea: to use
random vectors,
together with the
information given
by a fault
simulator.
 Used till coverages
of the 60-80%,
then another
ATPG has to be
employed.
Courtesy of V. D. Agrawal, Agere (USA)

Design for Reliable Data Processing and Storage M 14


Cecilia Metra
Path Sensitization Algorithm
3 steps:

Fault Activation (Fault sensitization, or


activation, or excitation);

Propagation of the fault effects (Fault


Propagation, or path sensitization);

Line justification.

Design for Reliable Data Processing and Storage M 15


Cecilia Metra
Example (I)
 We have to generate the test vector for B SA0B=1
(to activate the fault)  f = g = D

1
D

Courtesy of V. D. Agrawal, Agere (USA)

Design for Reliable Data Processing and Storage M 16


Cecilia Metra
Example (II)
 We have to propagate the value to the output  let’s try
with the path f – h – k – L  propagation conditions

1
D
D
1 D D
D
0

Design for Reliable Data Processing and Storage M 17


Cecilia Metra
Example (III)
 Line justification: We have to check the coherence
among the values required for propagation and
activation  1 on i can not be justified  we have to
change propagation path.

1 D
D
1 D D
0
D

1
1

Design for Reliable Data Processing and Storage M 18


Cecilia Metra
Example (IV)
 Let’s choose the simultaneous propagation through
paths f – h – k – L and g – i – j – k – L  problem
(the D boundary disappears)

1
D
D
1 1
D D
D
1

Design for Reliable Data Processing and Storage M 19


Cecilia Metra
Example (IV)
 Scegliamo la propagazione attraverso il cammino
g–i–j–k–L

D
0 D
1
D D D
1
1

Design for Reliable Data Processing and Storage M 20


Cecilia Metra
Example (V)
 We have to justify h = 0  no problems  OK !
 test vector = (ABCD) = (0111) and L=0 if IC
fault free, L=1 if circuit with B SA0.

0
0 D
1 D
D D D
1
1

Design for Reliable Data Processing and Storage M 21


Cecilia Metra
ATPG for Stuck-At only ?
 ATPG algorithms are mainly oriented to single
stuck-at (logical faults).

 There are algorithms and programs for electrical


level faults (e.g. Transistor stuck-on, delay, etc),
but they are very complex and less consolidated.

Design for Reliable Data Processing and Storage M 22


Cecilia Metra
Controllability & Observability (I)
 Controllability: ability to assign a specific value
on each IC internal node by acting on the
primary inputs.
 Observability: ability to determine the value
present on each IC internal node by acting on
the IC primary inputs and observing the IC
primary outputs.
 Circuits with feedbacks and oscillators are
typically difficult to control.
 Sequential circuits and circuits with redundant
nodes are typically difficult to observe.

Design for Reliable Data Processing and Storage M 23


Cecilia Metra
ATPG for sequential circuits

 Difficultiesin flip-flop initialization (could


mandate long test sequences).

 Low controllability/observability of the state


variables.

 The feedback loops are the main responsible of


such a complexity.

 Thus, more complex ATPG algorithms.

Design for Reliable Data Processing and Storage M 24


Cecilia Metra

You might also like