0% found this document useful (0 votes)
134 views

Test Generation For Combination & Sequential Circuits

This document summarizes test generation algorithms for combination and sequential circuits. It discusses basics of ATPG, algorithms for combinational circuits including Boolean difference, single-path sensitization, D-algorithm and PODEM. It also covers redundancy identification, problems with sequential circuit testing, and approaches for sequential circuits like time-frame expansion, simulation-based and scan-based testing.

Uploaded by

Guru Velmathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
134 views

Test Generation For Combination & Sequential Circuits

This document summarizes test generation algorithms for combination and sequential circuits. It discusses basics of ATPG, algorithms for combinational circuits including Boolean difference, single-path sensitization, D-algorithm and PODEM. It also covers redundancy identification, problems with sequential circuit testing, and approaches for sequential circuits like time-frame expansion, simulation-based and scan-based testing.

Uploaded by

Guru Velmathi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 48

Chapter 5

Test Generation for


Combination & Sequential
Circuits

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

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 2


Functional vs. Structural Test
 Consider a 64-bit adder as shown below

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/0, s/1 s/1


Ai s/0
Bi
64 s/0, s/1 s/1
s/0
Cin i+1
s/0, s/1
Carry Sum Cin i s/0, s/1
s/1
s/0

s/1

Functional Test Structural Test

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 3


Functional vs. Structural Test
 Functional test
 Generate complete set of tests for circuit input-
output combinations
 129 inputs & 65 outputs
 2129=680,564,733,841,876,926,926,749,214,
863,536,422,912 test patterns are required
 Using 1 GHz ATE, would take 2.15 x 1022 years
 Structural test
 64 bit slices and each slice has 27 faults (using
fault collapsing)
 At most 64x27=1728 faults, thus only 1728
test patterns are required
 Takes 0.000001728 seconds on 1 GHz ATE

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 4


Circuit & Binary Decision Tree
 All ATPG programs need a data structure
describing the search space for test
patterns
 Binary decision tree

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

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 5


Binary Decision Diagram
 Binary decision diagram (BDD)
 Follow path from source to sink node – product
of literals along path gives Boolean value at
sink
 Rightmost path: A B’ C’ = 1
 Problem: size varies greatly
A’ A
with variable order
B B
B’ B’

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

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 7


Algorithm Types
 Exhaustive test generation
 Completely exercise the fault-free behavior
 Appropriate only when the number of PIs is
small
 Detects all the universal faults (i.e., all
combinational faults)
 Pseudoexhaustive test generation
 Test most of universal faults by applying
exhaustive test on subsets of PIs
 Pseudorandom test generation
 Generate test pattern deterministically
 Patterns have many characteristics of random
patterns but are repeatable
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 8
Algorithm Types
 Algorithmic (deterministic) test generation
 Algebraic (symbolic) techniques
 SPOOFs
 Line condition equations
 Boolean difference
 Path-oriented techniques
 Single-path sensitization
 D-algorithm
 PODEM
 FAN
 Produces higher-efficiency test patterns, but its
cost is more expensive

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 9


Boolean Difference
 Shannon’s Expansion Theorem
 An arbitrary Boolean function f(x1,x2,…,xn) can
be expanded about any variable
 For example, if we expand the function with
respect to x2, then the function can be
expressed as below
 f(x1,x2,…,xn)=x2.f(x1,1,…,xn)+x2’.f(x1,0,…xn)
 Boolean Difference
 Let f(x)=f(x1,x2,…,xn) be the normal (fault-free)
output function realized by network N, and
fa(x1,x2,…,xn) be the faulty output function
resulting from a fault a in N.
 The test set for a fault a is Ta=f(x)  fa(x)

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 10


Boolean Difference
x 2 x3
 Example: x1 00 01 11 10
0 00 00 11 00
f ( X )  x1 x2  x2 x3  x1x3 1 10 1 0 1 1 00
f x1 / 0 ( X )  x2 x3
f ( X )  f x1 / 0 ( X )  ( x1 x2  x2 x3  x1x3 )  x2 x3  x1 x2
 Tx1 / 0  {100,101}
 Definition 1
 fi (0)  f ( x1, x2 ,, xi1,0, xi1,, xn ) : f(X) with xi  0(i.e., xi / 0)
 fi (1)  f ( x1, x2 ,, xi1,1, xi1,, xn ) : f(X) with xi  1(i.e., xi / 1)
 Definition 2
 The boolean difference of f(X) with respect to
xi is defined as
df ( X )
 f i (0)  f i (1)  f ( x1 ,, xi ,, xn )  f ( x1 ,, xi ,, xn )
dxi
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 11
Boolean Difference
df ( X )
  0  fi (0)  fi (1)
dxi

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.

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 14


Procedure
 Fault activation or excitation
 Specify inputs so as to generate the
appropriate value at the fault site, i.e., 0 for
s/1 and 1 for s/0
 Fault propagation
 Select a path from the fault site to an output
and specify other signal values to propagate
the fault (error signal) along the path to the
output
 Line justification
 Specify input values so as to produce the signal
values specified in fault activation and fault
propagation, i.e., perform consistency check
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 15
An Example
 Use single-path sensitization to derive a
test set for   a/1 in the following circuit
D b
G1
G5 f1
A a
B G2
C
G3
G6 f2

E G4
c

 Generate a appropriate value a=0. A=B=C=1


 Choose a path via G5b=1A=D=0.
Contradiction!
 Try another path via G6c=1C=1 and E=0.
OK! Therefore, T=ABCE’
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 16
Definitions for Logic Manipulation
 A literal is defined as a single variable within a term that
may or may not be complemented
 A product term is an implicant of a function if the
function has the value 1 for all minterms of the product
term
 Any single 1 or group of 1s in the Karnaugh map of a
function F is an implicant of F
 If the removal of any literal from an implicant P results in
a product term that is not an implicant of the function,
then P is a prime implicant
 A product term is called a prime implicant of F if it cannot be
combined with another term to eliminate a variable (literal)
 If a minterm of a function is included in only one prime
implicant, that prime implicant is said to be essential
(essential prime implicant)
 A product term is an essential prime implicant of F if there is
a minterm that is only covered by that prime implicant
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 17
Examples
 Karnough map of a function F
AB
CD 00 01 11 10
00 0 1 1 0
01 1 1 1 0
11 1 0 0 0
10 0 0 0 0

 Each of the coverings is a prime implicant


 BC’, A’C’D, A’B’D’

 F(A,B,C,D)=BC’+A’B’D’ (minimum # of PIs)


 Prime implicant A’C’D is a non-essential prime
implicant
 A PI is essential PI if it covers a minterm that
cannot be covered by any other PIs
 BC’ and A’B’D’ are essential PIs

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 18


Definitions for ATPG Alg.
 Definitions
 The fault cone is the portion of a circuit whose
signals are reachable by a forward trace of the
circuit topology starting at the fault site
 A forward implication results when the inputs
to a logic gate are assigned to specific values
such that the output can be uniquely
determined
 Backward implication is the unique
determination of all inputs of a gate for given
output and possibly some of the inputs

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 19


D-Algorithm
 Definition
 The singular cover of a logic gate is the
minimal set of input signal assignments needed
to represent essential prime implicants of the
logic gate
 D-Algorithm
 Based on a cubical algebra called D-calculus
 D: signal value that is 1 in normal circuit and 0
in faulty case (discrepancy), i.e., D=1/0
 D’: signal value that is 0 in normal circuit and 1
in faulty case, i.e., D’=0/1
 D and D’ may be defined the other way around

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 20


D-Algorithm
 Composite logic values for D-Algorithm
v/va 0/0 1/1 0/1 1/0 x/x
Symbol 0 1 D’ D X

 For example, D’+0=0/1+0/0=(0+0)/(1+0)


= 0/1=D’
D’
D’
0

 The unspecified value (x) can be any value


in {0, 1, D, D’}, and it sometimes is
dented as u

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 21


Intersection Rules
 Let v 1 , v 2 ,  , v n  { 0 ,1, x }, then
 1. x  v i  v i ,1  i  n vi if i  j
 2. if vi , v j  x then vi  v j 
D or D’ otherwise

 3. Composite logic values


 0 1 X
0 0 D’ 0
1 D 1 1
X 0 1 X

 For example:
 (1X1 01)  (X1X 01) = (111 01)
 (1X1 X1)  (01X X1) = (D11 11)

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 22


Singular Cover & Singular Cubes
 Definition
 For a gate G realizing function f, the singular
cover of G is the set of the prime implicants of
f and f’. Each prime implicant of the singular
cover is called a singular cube or a primitive
cube
 A singular cube consists of the input subcube and the
output subcube: ( x1 ,, xn , y1 , ym )  (v1 , v2 ,, vn  m ),
where the xi’s are inputs, the yi’s are outputs, and vi
{0,1, x}
a b c a b c
0 0 1 0 0 1 Prime implicant of f
a 0 1 0 X 1 0
c PIs of f’
b 1 0 0 1 X 0
1 1 0

Truth table Singular cover


Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 23
Propagation D-Cubes (pdc)
 Definition
 The propagation D-cubes of a gate G are the
cubes that cause the output of G to depend
only on one or more of its specified inputs, i.e.,
cubes that propagate a fault on these inputs to
the output
a a b c
c 0 D D’
b
D 0 D’
D D D’
Propagation D-cubes

 Pdc’s can be derived by inspection or from the


singular cover (or truth table) using the intersection
rules

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 24


Primitive D-Cubes for a Fault (pdcf)
 Definition
 The primitive D-cubes of a fault  associated
with a gate G are the cubes (with inputs
completely specified) that brings the influence
of  to the output of G, i.e., produce an error
signal (D or D’) at the output
a a b c a b c
c 1 X D’ 0 0 D
b
X 1 D’
for 
  c/ 0   c /1 for 
 Pdcf can be derived from the singular covers of
f and f

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 25


Derive pdcf with Singular Covers
 Let p0 and p1 be the sets of singular cubes
of f with output coordinates of 0 and 1,
respectively, and q0 and q1 be the
corresponding sets in f
 p1  q0  D generated; p0  q1  D generated
 For example,
f f
a
b d a b c d a b c d
c 0 X X 1 0 X X 1
X 0 X 1 X X 0 1
  b/1 X X 0 1 1 X 1 0
1 1 1 0

p1  q0  {( D x1; D ), (101; D ), (1x D; D )}, p0  q1  {( D11; D ), (11D; D )}


Thus, pdcf of  is 101D
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 26
D-Frontier
 Definition
 The set of gates whose output value is
currently x but have one or more D/D’ signals
on their inputs is called the D-frontier
 Fault propagation (D-drive) consists of selecting one
gate from the D-frontier and assigning values to the
unspecified gate inputs so that the gate outputs
become D or D’
 An empty D-frontier shows that backtracking should
occur
D-frontier

Multiple
sensitized paths

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 27


D-Algorithm Procedure
 Procedure D-algorithm /*generating a test
for a single stuck fault  */
 1. Select a pdcf for  (fault activation/excitation)
 2. Sensitize all possible paths from the fault site
to a PO (fault propagation or D-drive)
 By intersections of the pdcf with pdc’s of successive
gates
 Continued (back to step 1 if necessary) until a primary
output has D or D’
 3. Develop a consistent set of primary input
values that will account for all lines set to 0 or 1
during the D-drive. If inconsistent, seek a
different path (or even a different pdcf). (line
justification, consistency check)
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 28
Examples
 Use the D-algorithm to derive a test for   6/ 0 for the following
circuit
1 5
2 G1 7
G3
9
G5
3 G4
G2 8
4
 6

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

 D-algorithm is complete; it will find a test for a given fault


if such a fault exists (i.e., the fault is not redundant). Given
a fault list, the algorithm proceeds with 1 fault at a time.
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 30
PODEM
 Path Oriented DEcision Making
 Similar in principle to the D-algorithm but
different in approach (more efficient)
 Complete, like D-algorithm
 Treats a value vl to be justified for line l as
an objective ( l , v l) to be achieved via PI
assignment – direct search
 Allows assigning values only to primary
inputs (PIs)  backtracing can occur only
at the PIs, i.e., examine all possible PIs
implicitly but exhaustively, and terminate
as soon as a test is found
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 31
Backtracing
 Consider the circuit shown below and the
objective (f,1)
e

f
c
a
b d

1. Assume that backtracing follows the path (f,d,b). Simulating


the assignment b=1 does not achieve the objective (f,1).
2. Executing again backtracing follows the path (f,d,c,a). Now
simulating the assignment a=0 achieves f=1.

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 32


PODEM
 Backtracing maps a desired objective into a PI
assignment that is likely to contribute to
achieving the objective
 No values assigned during backtracing; values
assigned only by simulating PI assignments,
i.e., only by forward implication of PI
assignments ( values always self-consistent
& automatically justified)
 Viewed as a branch and bound search
algorithm over an n-dimensional space (n
variables)
 Five to fifteen times faster than D-algorithm

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 33


PODEM Procedure
 Procedure PODEM
 1. (Initialization)  PI, PI  x
 2. Assign a 0 or 1 to a PI (for a given objective)
 3. Determine whether the current combination
of values on the PIs, assigned or unassigned,
constitutes a test. Stop if a test is found
 4. (Backtracing) If it is possible to generate a
test with additional assigned PIs, go to 2
 5. (Backtracing) If  input pattern which has
not been examined as a possible test, go to 3,
else the fault is redundant (undetectable)

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 34


Irredundant Hardware and Tests
 Combinational ATPG can find redundant
(unnecessary) hardware
 However, there are still circuits with
redundant hardware that are fully testable
 For example,
a/0, b/0,
a a/1 b b/1
A C

 Faults (a/0, a/1, b/0, b/1) can be tested by


tests (A=0, A=1)
 Therefore, these faults are not redundant

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 35


Redundant Hardware & Simplification

 Redundant hardware from testing definition

A D A
D/0
B B B E
E E

 The benefits of redundant hardware


removal
 Reduce area cost
 Improve performance
 Reduce power consumption
 Improve reliability
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 36
Pernicious Fault Masking
 An example of a circuit with a redundant fault q/1
n
A
d q Z
l q/1
0 1
0
e 0 p conflict
0 f
B 0 r
0 h g 0 0 m
Y
C 0 0
0
k
j 0 0 s

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

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 37


Pernicious Fault Masking
 For multiple stuck-faults, if one of the multiple
faults is redundant, the presence of the redundant
fault may mask the presence of other, testable
faults
 This is a serious compromise of circuit reliability

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

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 38


Problems of Sequential Ckt Testing
A sequential circuit has memory in addition
to combinational logic
Test for a fault in a sequential circuit is a
sequence of vectors, which
 Initializes the circuit to a known state
 Activates the fault, and
 Propagates the fault effect to a primary output
Methods of sequential circuit ATPG
 Time-frame expansion methods
 Simulation-based methods

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 39


Sequential Circuit Representation
 A representation of a synchronous
sequential circuit
(primary inputs) (primary outputs)
X Z
Combinational Logic
Y (next state)
(present state) y

state
clk

 The concept of time frame


X(0) X(1) X(2)

y(0) Y(1) y(1) Y(2) y(2) Y(2)

Z(0) Z(1) Z(2)

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)

y(0) Y(1) y(1) Y(2) y(2)


C/L pFF C/L pFF

Z(0) Z(1)

Time (space) frame 0 Time (space) frame 1

 Sequence of inputs in time: x(1), x(2),…, x(n)


 Sequence of outputs in time: z(1), Z(2),…,z(n)
 Sequence of internal states in time: y(0),
y(1),…, y(n)

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 41


Time-Frame Expansion
 For synchronous sequential circuit (FSMs)
 Transforming FSMs to iterative logic array (ILA)
by unrolling the Huffman model
 Applying D-alg (or PODEM, path sensitizer,
etc.) to the ILA
 Pseudo flip-flop (pFF) is a combinational circuit
mapping its excitation function onto its output
 E.g., a pseudo T-FF can be constructed by an XOR
gate as shown below

T Y y
0 0 0
T y
0 1 1
1 0 1 Y
1 1 0

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 42


Time-Frame Expansion
 When a single stuck-at fault is present
in the real sequential circuit, it will
appear as a multiple fault, existing in
each unfolded iteration (time frame)

Fault

Unknown
Time State Time Time Next
or given
Frame 0 variables Frame n-2 Frame n-1 state
Init. state

Comb.
block

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 43


An Example
 Derive a test sequence for the fault a/1 of the
following circuit. Assume that the initial state
of the sequential circuit is (y1,y2)=(0,0)
x
G1
y2 y1
G6 D1 y1’
x’
y1 G2

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)=1y2(1)=D’ and z(0)=1
 z != D or D’  Continue!
 t1: set x(1)=1y1(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;

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 46


Simulation-Based Test Generation
2. Fault simulate vectors and remove detected faults;
3. Compute cost function for the last vector;
/* cost(undetected f.)=min dist of its effect from an o/p
*/
/* cost(vector)=sum of costs of all undetected faults*/
4. New vectors=those 1-bit changes that reduce vector
cost; }
Test for remaining undetected single faults:
{1. Revise the cost function (a dynamic testability measure);
/*cost=K x activation cost + propagation cost */
/* activation cost = dynamic controllability of faulty line
*/
/*propagation cost = min dynamic observability of faulty
line */
/* k is a large weighting factor*/
2. Generate a test for a single fault;}

Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 47


Summary
 Combinational ATPG algorithms
 D-algorithm
 PODEM
 single-path sensitization
 Boolean difference
 ATPG also can aid the designer to find the
redundant hardware of the circuit
 Sequential ATPG approaches
 Time-frame expansion
 Simulation-based ATPG
 Sequential ATPG are not widely used in the IC
industry
 Low fault coverage
 Long ATPG time
Advanced Reliable Systems (ARES) Lab. Jin-Fu Li, EE, NCU 48

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy