VLSI D&T Seminar (Fall'07), Using Hierarchy in Design Automation: The Fault Collapsing Problem (VDAT'07)

Download Report

Transcript VLSI D&T Seminar (Fall'07), Using Hierarchy in Design Automation: The Fault Collapsing Problem (VDAT'07)

Using Hierarchy in Design Automation:
The Fault Collapsing Problem
Raja K. K. R. Sandireddy
Vishwani D. Agrawal
Intel Corporation
Hillsboro, OR 97124, USA
Auburn University
Auburn, AL 36849, USA
[email protected]
[email protected]
11th VLSI Design and Test Symposium
Kolkata, August 8-11, 2007
Outline
• Introduction
– Main idea
– Background on fault collapsing
• Hierarchical fault collapsing
– Method
– Advantages:
• Smaller collapse ratio
• Reduced CPU time
• Results
• Conclusion
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
2
The General Idea of Hierarchy
Circuit
(top level
In hierarchy)
Subnetwork
analyzed once,
placed in library.
Analysis at nth level:
Aug. 8, 2007
interconnects
Lowest-level
block (gates and
interconnects),
analyzed in
detail, saved in
library.
1. Copy preprocessed internal detail of n-1 level
from library.
2. Process nth level interconnects.
VDAT: Sandireddy & Agrawal
3
Background on Fault Collapsing
Test Vector Generation Flow
DUT
Fault model
Generate fault list
Collapse fault list
Required fault
coverage
Aug. 8, 2007
Generate test vectors
VDAT: Sandireddy & Agrawal
4
Structural Fault Collapsing
a0 a1
c0 c1
Total faults = 6
b0 b1
• Equivalence Collapsing:
It is the process of selecting one
fault from each equivalence fault set.
– Equivalence collapsed set = {a0, b0, c0, c1}
– Collapse ratio = 4/6 = 0.67
• Dominance Collapsing:
From the equivalence collapsed
set, all dominating faults are left out retaining their respective
dominated faults.
– Dominance collapsed set = {a0, b0, c1}
– Collapse ratio = 3/6 = 0.5
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
5
An Example of Structural Collapsing
a0 a1
a
e0
b0 b1
b
e
e1
d
c0 c1
c
f0 f 1
f
d0 d1
Total faults = 12
Structural Equivalence collapsed faults = 8
Structural Dominance collapsed faults = 6
Three tests, {00,01,10}, cover all faults
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
6
Functional Collapsing
• Two faults are functionally equivalent if the
corresponding faulty functions are identical.
• Functional dominance can be similarly defined.
• Determination of functional equivalence or dominance
is as complex as test generation or equivalence
checking.
• A graph-theoretic method for fault collapsing:
– A. V. S. S. Prasad, V. D. Agrawal and M. V. Atre, “A New
Algorithm for Global Fault Collapsing into Equivalence and
Dominance Sets,” Proc. Int. Test Conf., 2002, pp. 391-397.
– V. D. Agrawal, A. V. S. S. Prasad and M. V. Atre, “Fault
Collapsing via Functional Dominance,” Proc. Int. Test Conf.,
2003, pp. 274-280.
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
7
Dominance Collapsed Set
a0 a1
a
e0
b b0 b1
e
e1
d
c0 c1
c
f0 f1
d0 d1
Total faults = 12
Structural Equivalence collapsed faults = 8
Structural Dominance collapsed faults = 6
Functional dominance collapsed faults = 4
Two tests, {01,10}, cover all faults
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
8
f
Functional Collapsing: XOR Cell
Functional dominance examples: d0 → j0, k1 → g0
c0 c1
c
a
d0
d1
b
e
d
f
Aug. 8, 2007
h
j
g
All faults = 24
Str. Equ. Faults = 16
Str. Dom. Faults = 13
Func. Dom. Faults = 4
m
i
VDAT: Sandireddy & Agrawal
k
9
Hierarchical Fault Collapsing
• Create a library
– For smaller (gate-level) circuits, exhaustive (functional)
collapsing may be done.
– For larger circuits, use structural collapsing.
• For hierarchical circuits, at any level of hierarchy, say
nth level:
– Read-in preprocessed (library) collapse data of (n-1) level
sub-circuits.
– Structurally collapse the interconnects and gate faults of nth
level.
- R. K. K. R. Sandireddy and V. D. Agrawal, “Diagnostic and Detection Fault
Collapsing for Multiple Output Circuits,” Proc. Design, Automation and Test in
Europe Conf., March 2005, pp. 1014–1019.
- R. Hahn, R. Krieger, and B. Becker, “A Hierarchical Approach to Fault
Collapsing,” Proc. European Design & Test Conf., 1994, pp. 171–176.
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
10
A Fault Collapsing Library
Cell characteristics
Cell
name
Collapsed fault set size
No. of No. of No. of Total
inputs outputs gates faults
Structural
Functional
Equ Dom Equ Dom
Func.
coll.
CPU
(s)*
Logic
gates
n
1
1
2n+2
n+2
n+1
n+2
n+1
-
XOR
2
1
4
24
16
13
10
4
7.9
HA
2
2
5
30
20
16
15
6
9.1
FA
3
2
11
60
38
30
26
12
15.7
* Sun Ultrasparc 5_10 (360MHz, 128MB)
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
11
Collapse ratio
Collapse Ratios for Ripple-Carry
Adders
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
Total faults
Structural Equiv.
Hierarchical Equiv.
Structural Dom.
Hierarchical Dom.
4-bit
Adder
32-bit
Adder
256-bit 2048-bit 8192-bit
Adder Adder Adder
234
1,858
14,850 118,786 475,138
In hierarchical collapsing, faults in lowest level cells (XOR, full-adder,
half-adder) are functionally collapsed.
Programs used: 1. Hitec (obtained from Univ. of Illinois at Urbana-Champaign)
2. Fastest (obtained from Univ. of Wisconsin at Madison)
3. Our program (Auburn Univ.)
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
12
CPU Time (sec) Improvement by
Hierarchy for Ripple-Carry Adder
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
13
Rent’s rule
• Rent’s Rule: Number of inputs and outputs
terminals (T) for a typical block containing G
logic gates is given by:
G is
proportional
T = K × Gα
to area
α ~ 0.5 to 0.65
• CPU time for collapsing a large hierarchical
circuit is dominated by the time taken to build
the structure of the circuit which is proportional
to the T 2 (ref: our previous work).
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
14
Hierarchical 8-Bit Ripple Carry Adder
Here α ~ 1.0, hence the total collapse time is quadratic in circuit size as
observed in our experiment.
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
15
Hierarchical Array Multiplier
n × n multiplier
n/2×n/2
n/2×n/2
n/2×n/2
n/2×n/2
Outputs
Inputs
Additional Circuitry
prop. to √G
prop. to √G
Here α ~ 0.5, hence we expect the total collapse time to grow linearly
with circuit size.
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
16
Collapse ratio
Collapse Ratios for Array Multipliers
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
Structural Equiv.
Hierarchical Equiv.
Structural Dom.
Hierarchical Dom.
2*2
4*4
8*8 16*16 32*32 64*64 128
mult. mult. mult. mult. mult. mult. mult.
Total faults
84
726
3762
16,842 71,034 291,546 1,181,082
In hierarchical collapsing, faults in lowest level cells (XOR, full-adder,
half-adder) are functionally collapsed.
Programs used: 1. Hitec (obtained from Univ. of Illinois at Urbana-Champaign)
2. Fastest (obtained from Univ. of Wisconsin at Madison)
3. Our program (Auburn Univ.)
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
17
CPU Time Improvement by Hierarchy for
Array Multipliers
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
18
Conclusion
• Benefits of hierarchical fault collapsing:
– Better (lower) collapse ratios due to functional collapsing of
library cells.
– Order of magnitude reduction in collapse time.
• Possible benefits of smaller fault sets:
– Fewer test vectors
– Efficient fault simulation
– Easier fault diagnosis
• Further investigations:
128-bit multiplier
Dom. Collapsed Set Size
(Collapse Ratio)
Flat
Hierarchical
CPU s
Flat
53,4284 (0.45) 26,5824 (0.23) 27645
Hier
40
– Structural problems (testability measures, static timing
analysis, physical design, etc.) may be solved using hierarchy.
– Functional problems (ATPG, simulation, etc.) may require
new hierarchical algorithms.
Aug. 8, 2007
VDAT: Sandireddy & Agrawal
19