Title: CSE 498M598M, Fall 2002 Digital Systems Testing
1CSE 498M/598M, Fall 2002 Digital Systems Testing
- Instructor Maria K. Michael
- CSE Dept., University of Notre Dame
- LECTURE 21
- Path-Delay Fault Simulation
2Outline
- General problem definition
- The non-enumerative problem
- Outline of existing methods
- Non-enumerative PDF coverage estimation (Pomeranz
Reddy, IEEE TCAD 1994) - Exact PDF Coverage (Padmanaban et al, IEEE TCAD
2003 to appear)
3General Problem Definition
- Given a circuit C and a set of pairs of patterns
T (tests), find the number of PDFs detected - Straight forward solution
- Generate path-delay fault list
- Simulate tests and mark the PDFs covered
- Use fault simulation methods from Chapter 5
4General Problem Definition (Cont.)
- Given a circuit C and a set of pairs of patterns
T (tests), find the number of PDFs detected - Straight forward solution
- Generate path-delay fault list
- Simulate tests and mark the PDFs covered
- Use fault simulation methods from Chapter 5
PDF Classification - Robustly testable -
Non-Robust testable - Functionally
Sensitizable - Functionally Unsensitizable
5General Problem Definition (Cont.)
- Given a circuit C and a set of pairs of patterns
T (tests), find the number of PDFs detected - Straight forward solution
- Generate path-delay fault list
- Simulate tests and mark the PDFs covered
- Use fault simulation methods from Chapter 5
- Is this really practical? NOPDF
enumeration is impossible for path-intensive
circuits
6Non-Enumerative PDF simulation
- Input C (combinational or fully-scanned
circuit) and T (test set) - Goal Find number of PDFs detected without
enumerating the faults - Truly non-enumerative methods must avoid
enumeration of both the fault list and the list
of detected faults
7Previous Work
- Estimation of PDF coverage
- - Pomeranz Reddy, IEEE TCAD94
- - Heragu et al, IEEE TCAD97
- - Kagaris Tragoudas, IEEE TCAD97
- - Tragoudas, ITC99
8Previous Work
- Estimation of PDF coverage
- Exact PDF coverage
- - Kapoor, EDTC95
- - Gharaybeh et al, ITC96
- Deodhar Tragoudas, ISQED01
- Padmanaban et al, IEEE TCAD03
9Pomeranz Reddy, IEEE TCAD94
- First non-enumerative approach
- Calculates an estimate of the number of PDFs
without fault enumeration - Estimate is pessimistic, i.e., no smaller than
the actual - Estimation accuracy increases with increased time
complexity
10Basic properties
- Path counting algorithm to calculate of total
and detected faults - linear - Simulation of single test - linear
- For every test, ONLY newly detected PDFs are
counted, by considering new lines
11Basic path counting algorithm
- Same as the one discussed in class (see lectures
56) with the difference that it starts from the
primary outputs (POs) and proceeds towards the
primary inputs (PIs) -
12Basic path counting algorithmExample (Figure 1)
1 1
8 1
4 1
16 1
3 4
2 2
13 1
12 2
10 2
5 3
14 1
9 3
17 1
11 1
6 3
15 1
7 1
line ID/name X paths from to POs
13Single test simulation
- Start from PIs, simulate test using appropriate
algebra (i.e., 3-value for non-robust, 5-value
for robust, etc) - While simulating, keep IDs of immediate
sensitized predecessors (will result in marking
PDFs covered by test) - Count only marked paths ? exact number of PDFs
covered
14Single test simulationExample (Figure 2)
1 1?0 (1)
8 0?1 (1)
4 1?1
16 1?0 (8)
13 1?1
3 1?1
2 0?0
10 0?1(9)
12 1?1
5 1?1
17 0?1 (15)
14 1?1
9 0?1(6)
6 1?0 (6)
11 0?1(9)
15 1?0 1(7,11)
line ID/name X test pattern ( ) list of
sensitized immediate predecessors
7 0?1(7)
15Single test simulationExample (Figure 2)
1 1?0 (1)
8 0?1 (1)
4 1?1
16 1?0 (8)
13 1?1
3 1?1
2 0?0
10 0?1(9)
12 1?1
5 1?1
17 0?1 (15)
14 1?1
9 0?1(6)
6 1?0 (6)
11 0?1(9)
15 1?0 1(7,11)
line ID/name X test pattern ( ) list of
sensitized immediate predecessors
7 0?1(7)
16Single test simulationExample (Figure 3)
1 1
8 1
4 0
16 1
13 0
3 0
2 0
12 0
10 0
5 0
14 0
9 1
17 1
6 1
11 1
15 1
7 1
line ID/name X PDFs detected
17Test set simulation
- For every test, count ONLY the number of newly
detected PDFs - Newly detected PDF a PDF that contains at least
one new line - New line a circuit line with a or
transition (logical line), not included in ANY
previously detected PDF
18Test set simulation (Cont.)Example (Figure 2)
1 1?0 (1)
8 0?1 (1)
4 1?1
16 1?0 (8)
13 1?1
3 1?1
2 0?0
10 0?1(9)
12 1?1
5 1?1
17 0?1 (15)
14 1?1
9 0?1(6)
6 1?0 (6)
11 0?1(9)
PDFs detected 1-8-16 6-9-11-15-17 7-15-17
15 1?0 1(7,11)
7 0?1(7)
19Test set simulation (Cont.)Example (Figure 4)
1 0?0
8 1?1
4 1?0 (3)
16 0?0
13 1?1
3 1?0 (3)
2 0?0
10 0?1(9)
12 1?1
9 0?1(5)
14 1?1
5 1?0 (3)
6 1?1
17 0?1 (15)
11 0?1(9)
Old PDFs detected 1-8-16 6-9-11-15-17
7-15-17
15 1?0 1(7,11)
7 0?1(7)
PDFs detected 3-5-9-11-15-17 7-15-17
New lines 3, 5
20Test set simulation (Cont.)
- Modify single test simulation method to only
count of new PDFs - Introduce 1 more label per line
- Keep (Nn(i), No(i)) per line i
- Nn(i) -- new PDFs at line I
- No(i) -- old PDFs at line I
- ? Zero-Approximation method
21Test set simulation (Cont.)Example (Figure 4)
1 0?0
8 1?1
4 1?0 (3)
16 0?0
13 1?1
3 1?0 (3) L2
2 0?0
10 0?1(9)
12 1?1
9 0?1(5) L1
14 1?1
5 1?0 (3) L2
6 1?1
17 0?1 (15) L1
11 0?1(9) L1
Old PDFs detected 1-8-16 6-9-11-15-17
7-15-17
15 1?0 1(7,11) L1
7 0?1(7) L1
New PDFs detected 3-5-9-11-15-17
L1(0,1) and L2(0,1)
22Zero-Approximation Method
- Major disadvantage tends to miss a lot of new
PDFs - All lines are saturated with t1 and t2! No new
PDFs will ever be counted
1
3
Let t1 cover 1-3, 2-4 and t2 cover 1-4, 2-3
2
4
of paths 4 of PDFs 8
23Order One Approximation Method
-
- Partition circuit using cuts
- Cut set of lines s.t. every I/O path passes
exactly through one line in the cut - How to form partitions
- Get subcircuit induced by every line in the cut ?
paths in different subcircuits are disjoint,
i.e., sum of all paths in subcircuits is the
total number of circuit paths - Apply zero-approximation per subcircuit
- Larger cuts give better estimates !
24Zero-Approximation Method
- Zero-approximation can be modified to increase
accuracy on newly detected PDFs, in the expense
of computational complexity - ? Order One (Two, Three ) Approximation
25Padmanaban, Michael, Tragoudas, IEEE TCAD03 to
appear
- First practical exact non-enumerative approach
- Reduces the problem to a set combinatorial
problem - PDFs are stored implicitly using Zero-Suppressed
BDDs (ZBDDs) - Requires a polynomial number of ZBDD operations
26Reduction to a Combinatorial Problem
- Express a path as a combination of variables
adf
a
d
b
f
c
e
27Reduction to a Combinatorial Problem
- Express a path as a combination of variables
- A set of paths is a combination set
adf, cef
a
d
b
f
c
e
28Reduction to a Combinatorial Problem
- Express a path as a combination of variables
- A set of paths is a combination set
- For PDFs, use 2 variables per primary input
ardf, cfef
a
d
b
f
c
e
29Reduction to a Combinatorial Problem
- Combination Sets Boolean Functions
- Use Zero-Suppressed BDDs for the functions
-
- Canonical forms
- Compact
- More efficient than BDDs for sparse
combinations
30Exact PDF Coverage
- For every test in the test set
- simulate based on PDF type
- generate set of PDFs covered
- update set of total PDFs covered
Method requires a polynomial number of ZBDD
operations per test
31Exact PDF Coverage - Example
Simulate first test (T1)
a
d
b
f
c
e
32Exact PDF Coverage Example (Cont.)
Generate set of PDFs covered by T1
a
b
c
33Exact PDF Coverage Example (Cont.)
Generate set of PDFs covered by T1
af
a
b
c
cf
34Exact PDF Coverage Example (Cont.)
Generate set of PDFs covered by T1
af
a
afd
d
b
c
e
cfe
cf
35Exact PDF Coverage Example (Cont.)
Generate set of PDFs covered by T1
a
d
afd
b
f
c
e
cfe
PDFs under T1 afdf, cfef
36Exact PDF Coverage Example (Cont.)
Simulate second test (T2)
a
d
b
f
c
e
37Exact PDF Coverage Example (Cont.)
Generate set of PDFs covered by T2
a
d
b
bf
c
e
cf
38Exact PDF Coverage Example (Cont.)
Generate set of PDFs covered by T2
a
d
bfd
b
bf
c
e
cfe
cf
39Exact PDF Coverage Example (Cont.)
Generate set of PDFs covered by T2
a
d
bfd
b
f
c
e
cfe
PDFs under T2 bfdf, cfef
40Exact PDF Coverage Example (Cont.)
Calculate total number of PDFs covered
a
d
b
f
c
e
PDFs under T1 afdf, cfef PDFs under T2
bfdf, cfef
of PDFs afdf, cfef ? bfdf, cfef 3
41Exact PDF Coverage
What if the ZBDD cannot be stored ?
42PDF Coverage using circuit partitioning
- Partitioning can reduce path count drastically
- find independent cut
- derive virtual partitions
- apply exact PDF grading on partitions
- calculate of PDFs covered accurately
- More partitions ? higher accuracy
43PDF Coverage using circuit partitioning - Example
Generate circuit partitions
a
d
b
f
c
e
44PDF Coverage using circuit partitioning Example
(Cont.)
Generate circuit partitions
a
d
L1
b
f
L3
c
e
L2
Independent Cut Set L1, L2
45PDF Coverage using circuit partitioning Example
(Cont.)
Simulate test
a
d
L1
b
f
L3
c
e
L2
46PDF Coverage using circuit partitioning Example
(Cont.)
Generate sets of PDFs covered
af
afd
a
d
L1
b
c
e
L2
cfe
cf
47PDF Coverage using circuit partitioning Example
(Cont.)
Store set of PDFs at Cut lines
afd
a
d
L1
b
c
e
L2
cfe
48PDF Coverage using circuit partitioning Example
(Cont.)
Simulate and Store set of PDFs at Outputs
afd
a
d
L1
f
b
f
L3
c
e
L2
cfe
49PDF Coverage using circuit partitioning Example
(Cont.)
Number of new PDFs through line pair (L1,L3)
bfd
afd
f
a
d
L1
f
b
f
L3
c
e
L2
. f ? f
afd
. f \ f .
afd \ bfd
1
1
0
1
50PDF Coverage using circuit partitioning Example
(Cont.)
Number of new PDFs through line pair (L1,L3)
bfd, afd
afd
f
a
d
L1
f
b
f
L3
c
e
L2
. f ? f
afd
. f \ f
afd \ bfd, afd
1
1
0
0
51PDF Coverage using circuit partitioning
- Estimation is correct (no double counting)
- The probability of failing to detect a new
PDF is very low, and decreases with more
partitions
52Summary
- PDF simulation is a much harder problem than
stuck-at fault simulation - Only non-enumerative techniques are practical for
PDF simulation - Existing methods are divided into exact and
estimation methods - PomReddy estimation accuracy increases with
time complexity - Padmanaban et al finds exact coverage with
polynomial number of ZBDDs operations