Foreword |
|
xi | (6) |
Preface |
|
xvii | |
|
|
1 | (16) |
|
|
1 | (9) |
|
1.1.1 Equivalence Checking |
|
|
3 | (5) |
|
1.1.2 Design Error Diagnosis and Correction |
|
|
8 | (2) |
|
|
10 | (7) |
PART I EQUIVALENCE CHECKING |
|
17 | (122) |
|
Chapter 2 Symbolic Verification |
|
|
17 | (22) |
|
2.1 Symbolic Verification by FSM Traversal |
|
|
17 | (2) |
|
2.2 Implicit State Enumeration by BDD |
|
|
19 | (11) |
|
|
20 | (1) |
|
2.2.2 Input/Output Relation |
|
|
21 | (2) |
|
2.2.3 Transition Relation |
|
|
23 | (2) |
|
2.2.4 Next-State Computation |
|
|
25 | (1) |
|
|
26 | (2) |
|
2.2.6 Error Trace Generation |
|
|
28 | (2) |
|
|
30 | (7) |
|
2.3.1 An Efficient Method for Constructing Transition Relation |
|
|
30 | (3) |
|
2.3.2 Reduction on Image Computation |
|
|
33 | (3) |
|
2.3.3 Reduction on Reachable State Computation |
|
|
36 | (1) |
|
|
37 | (2) |
|
Chapter 3 Incremental Verification for Combinational Circuits |
|
|
39 | (22) |
|
3.1 Substitution-Based Algorithms |
|
|
39 | (11) |
|
3.1.1 Brand's Algorithm Using ATPG |
|
|
39 | (2) |
|
Pairing up candidate pairs |
|
|
41 | (1) |
|
Pruning the miter incrementally |
|
|
42 | (2) |
|
Checking the equivalence of primary outputs |
|
|
44 | (1) |
|
3.1.2 Enhancement by Local BDD |
|
|
44 | (2) |
|
Constructing BDDs using a dynamic support |
|
|
46 | (2) |
|
|
48 | (2) |
|
3.2 Learning-Based Algorithms |
|
|
50 | (3) |
|
|
50 | (1) |
|
3.2.2 Verification Flow Using Recursive Learning |
|
|
51 | (2) |
|
3.3 Transformation-Based Algorithm |
|
|
53 | (4) |
|
3.3.1 Identifying Dissimilar Region |
|
|
53 | (2) |
|
3.3.2 Similarity Enhancing Transformation (SET) |
|
|
55 | (2) |
|
|
57 | (4) |
|
Chapter 4 Incremental Verification for Sequential Circuits |
|
|
61 | (30) |
|
4.1 Definition of Equivalence |
|
|
62 | (10) |
|
4.1.1 Equivalence of Circuits With A Reset State |
|
|
62 | (1) |
|
4.1.2 Equivalence of Circuits Without A Reset State |
|
|
62 | (1) |
|
Sequential Hardware Equivalence |
|
|
63 | (2) |
|
|
65 | (1) |
|
Three-Valued Safe Replaceability |
|
|
66 | (1) |
|
|
67 | (1) |
|
4.1.3 Comparison of Definitions |
|
|
67 | (5) |
|
|
72 | (4) |
|
4.2.1 Checking Three-Valued Safe Replaceability |
|
|
73 | (1) |
|
4.2.2 Checking Reset Equivalence |
|
|
74 | (2) |
|
4.2.3 Checking Three-Valued Equivalence |
|
|
76 | (1) |
|
4.3 The Speed-Up Techniques |
|
|
76 | (8) |
|
4.3.1 Test Generation with Breadth-First-Search |
|
|
77 | (2) |
|
4.3.2 Exploring the Structural Similarity |
|
|
79 | (1) |
|
4.3.3 Identifying Equivalent Flip-Flop Pairs |
|
|
80 | (4) |
|
|
84 | (2) |
|
|
86 | (1) |
|
|
87 | (4) |
|
Chapter 5 AQUILA: A Local BDD-based Equivalence Verifier |
|
|
91 | (20) |
|
|
91 | (2) |
|
5.2 Two-Level Inductive Algorithm |
|
|
93 | (4) |
|
5.2.1 Second-Level Assume-And-Then-Verify |
|
|
95 | (2) |
|
5.3 Symbolic Backward Justification |
|
|
97 | (8) |
|
5.3.1 Partial Justification |
|
|
100 | (2) |
|
|
102 | (3) |
|
|
105 | (2) |
|
|
107 | (4) |
|
Chapter 6 Algorithm for Verifying Retimed Circuits |
|
|
111 | (12) |
|
|
111 | (2) |
|
6.2 Pre-Processing Algorithm |
|
|
113 | (5) |
|
6.2.1 Signature Computation |
|
|
115 | (1) |
|
6.2.2 Deriving Candidate Delayed-Equivalent Pairs |
|
|
115 | (2) |
|
|
117 | (1) |
|
|
118 | (3) |
|
|
121 | (2) |
|
Chapter 7 RTL-to-Gate Verification |
|
|
123 | (16) |
|
|
123 | (2) |
|
|
125 | (2) |
|
7.3 Integration with FSM Traversal |
|
|
127 | (5) |
|
7.3.1 Computing a Subset of Unreachable States |
|
|
128 | (2) |
|
7.3.2 Incremental Verification with Don't Cares |
|
|
130 | (2) |
|
7.4 Overall Flow for RTL-to-Gate Verification |
|
|
132 | (1) |
|
|
132 | (4) |
|
|
136 | (3) |
PART II LOGIC DEBUGGING |
|
139 | (72) |
|
Chapter 8 Introduction to Logic Debugging |
|
|
139 | (20) |
|
|
139 | (2) |
|
|
141 | (5) |
|
8.2.1 Search for Error Locations |
|
|
142 | (1) |
|
Single-fix function computation |
|
|
143 | (1) |
|
8.2.2 Correction by Re-synthesis |
|
|
144 | (1) |
|
|
144 | (1) |
|
|
145 | (1) |
|
Multiple signal re-synthesis |
|
|
145 | (1) |
|
8.3 Simulation-Based Approach |
|
|
146 | (8) |
|
|
147 | (1) |
|
8.3.2 Filter Based on Sensitization |
|
|
148 | (2) |
|
|
150 | (3) |
|
8.3.4 Enhancement with Observability Measure |
|
|
153 | (1) |
|
|
154 | (2) |
|
|
156 | (3) |
|
Chapter 9 Error Tracer: Error Diagnosis by Fault Simulation |
|
|
159 | (16) |
|
|
159 | (1) |
|
|
160 | (1) |
|
9.3 Single Error Diagnosis |
|
|
161 | (4) |
|
|
161 | (1) |
|
9.3.2 The Algorithm for Single Error Diagnosis |
|
|
162 | (1) |
|
9.3.3 Correctability Check via Fault Simulation |
|
|
163 | (2) |
|
9.4 Multiple Error Diagnosis |
|
|
165 | (3) |
|
|
166 | (1) |
|
9.4.2 A Two-Stage Algorithm for Diagnosing Multiple Errors |
|
|
167 | (1) |
|
|
168 | (5) |
|
|
173 | (2) |
|
Chapter 10 Extension to Sequential Error Diagnosis |
|
|
175 | (14) |
|
|
175 | (1) |
|
10.2 Diagnosing Sequential Circuits |
|
|
176 | (6) |
|
|
176 | (1) |
|
10.2.2 The Necessary and Sufficient Condition |
|
|
177 | (3) |
|
10.2.3 Correctability Check via Fault Simulation |
|
|
180 | (1) |
|
10.2.4 Generalization for Multiple Errors |
|
|
181 | (1) |
|
10.3 Experimental Results |
|
|
182 | (5) |
|
10.3.1 Results of Diagnosing Single-error Circuits |
|
|
183 | (2) |
|
10.3.2 Results of Diagnosing Double-Error Circuits |
|
|
185 | (1) |
|
|
186 | (1) |
|
|
187 | (2) |
|
Chapter 11 Incremental Logic Rectification |
|
|
189 | (22) |
|
|
190 | (2) |
|
|
190 | (1) |
|
11.1.2 Single Signal Correctable Circuit |
|
|
190 | (2) |
|
11.2 Incremental Logic Rectification |
|
|
192 | (8) |
|
11.2.1 Error Region Pruning |
|
|
192 | (1) |
|
11.2.2 Symbolic Partial Correction |
|
|
193 | (4) |
|
11.2.3 Single-Gate Correction Criterion |
|
|
197 | (2) |
|
|
199 | (1) |
|
11.3 A Divide and Conquer Heuristic |
|
|
200 | (4) |
|
11.3.1 Pure Structural Approach Based on Back-Substitution |
|
|
201 | (3) |
|
11.4 Experimental Results |
|
|
204 | (5) |
|
|
209 | (2) |
Bibliography |
|
211 | (12) |
Index |
|
223 | |