Cover image for Verification by error modeling : using testing techniques in hardware verification
Title:
Verification by error modeling : using testing techniques in hardware verification
Personal Author:
Series:
Frontiers in electronic testing ; 25
Publication Information:
Dordrecht : Kluwer Academic Pubs., 2003
ISBN:
9781402076527
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010082071 TK7874.75 R32 2003 Open Access Book Book
Searching...

On Order

Summary

Summary

1. DESIGN FLOW Integrated circuit (IC) complexity is steadily increasing. ICs incorporating hundreds of millions of transistors, mega-bit memories, complicated pipelined structures, etc., are now in high demand. For example, Intel Itanium II processor contains more than 200 million transistors, including a 3 MB third level cache. A billion transistor IC was said to be "imminently doable" by Intel fellow J. Crawford at Microprocessor Forum in October 2002 [40]. Obviously, designing such complex circuits poses real challenges to engineers. Certainly, no relief comes from the competitive marketplace, with increasing demands for a very narrow window of time (time-to-market) in engineering a ready product. Therefore, a systematic and well-structured approach to designing ICs is a must. Although there are no widely adhered standards for a design flow, most companies have their own established practices, which they follow closely for in-house design processes. In general, however, a typical product cycle includes few milestones. An idea for a new product starts usually from an - depth market analysis of customer needs. Once a window of opportunity is found, product requirements are carefully specified. Ideally, these parameters would not change during the design process. In practice, initial phases of preparing a design specification are susceptible to potential errors, as it is very difficult to grasp all the details in a complex design.


Table of Contents

List of Figuresp. xi
Acknowledgmentsp. xv
Chapter 1 Introductionp. 1
1. Design Flowp. 1
2. Verification--Approaches and Problemsp. 4
2.1 Verification Approachesp. 5
2.2 Verification by Simulationsp. 5
2.3 Test Vector Generationp. 5
2.4 Design Error Modelsp. 7
2.5 Other Simulation Methodsp. 9
2.5.1 Coverage Verificationp. 9
2.5.2 Other Metricsp. 10
2.6 Formal Verificationp. 11
2.7 Model-based Formal Verification Methodsp. 12
2.8 Proof-theoretical Formal Verification Methodsp. 14
2.9 Spectral Methods in Verificationp. 14
3. Book Objectivesp. 15
Chapter 2 Boolean Function Representationsp. 19
1. Background--Function Representationsp. 19
1.1 Truth Tablesp. 20
1.2 Boolean Equations--Sum of Productsp. 21
1.3 Satisfiability of Boolean Functionsp. 23
1.3.1 Algorithms for Solving Satisfiabilityp. 24
1.4 Shannon Expansionp. 28
1.5 Polynomial Representationp. 28
2. Decision Diagramsp. 30
2.1 Reduced Ordered Binary Decision Diagramsp. 31
2.2 Word-Level Decision Diagramsp. 33
2.2.1 Binary Moment Diagramsp. 33
2.2.2 Limitations of WLDDsp. 35
3. Spectral Representationsp. 38
3.1 Walsh-Hadamard Transformp. 39
3.2 Walsh Transform Variationsp. 40
3.3 Walsh-Hadamard Transform as Fourier Transformp. 41
4. Arithmetic Transformp. 44
4.1 Calculation of Arithmetic Transformp. 47
4.1.1 Fast Arithmetic Transformp. 47
4.1.2 Boolean Lattice and AT Calculationp. 48
4.2 AT and Word-Level Decision Diagramsp. 49
Chapter 3 Don't Cares and Their Calculationp. 51
1. Incompletely Specified Boolean Functionsp. 51
1.1 Don't Cares in Logic Synthesisp. 51
1.2 Don't Cares in Testing for Manufacturing Faultsp. 52
1.3 Don't Cares in Circuit Verificationp. 54
2. Using Don't Cares for Redundancy Identificationp. 55
2.1 Basic Definitionsp. 56
2.2 Calculation of All Don't Care Conditionsp. 57
2.2.1 Computation of Controllability Don't Caresp. 57
2.2.2 Algorithms for Determining CDCsp. 59
2.3 Algorithms for Computing ODCsp. 65
2.4 Approximations to Observability Don't Cares--CODCsp. 67
Chapter 4 Testingp. 71
1. Introductionp. 71
2. Fault List Reductionp. 73
3. Overview of Simulatorsp. 73
3.1 True-Value Simulator Typesp. 74
3.2 Logic Simulatorsp. 75
4. Fault Simulatorsp. 79
4.1 Random Simulationsp. 81
4.1.1 Linear Feedback Shift Registersp. 82
4.1.2 Other Pseudo-Random Test Pattern Generatorsp. 88
4.1.3 Final remarksp. 93
5. Deterministic Vector Generation--ATPGp. 94
5.1 Deterministic Phasep. 94
5.2 Search for Vectorsp. 98
5.3 Fault Diagnosisp. 100
6. Conclusionsp. 101
Chapter 5 Design Error Modelsp. 103
1. Introductionp. 103
2. Design Errorsp. 105
3. Explicit Design Error Modelsp. 107
3.1 Detecting Explicit Errorsp. 110
3.1.1 Application of Stuck-at-value Vector Setp. 110
3.1.2 Detection of Gate Replacementsp. 110
3.1.3 Universal Test Set Approachp. 111
4. Implicit Error Model Precursorsp. 112
4.1 Rationale for Implicit Modelsp. 113
4.2 Related Work--Error Modelsp. 114
4.2.1 Port Fault Modelsp. 114
5. Additive Implicit Error Modelp. 115
5.1 Arithmetic Transform of Basic Design Errorsp. 117
6. Design Error Detection and Correctionp. 123
6.1 Path Trace Procedurep. 125
6.2 Back-propagationp. 126
6.3 Boolean Difference Approximation by Simulationsp. 127
7. Conclusionsp. 128
Chapter 6 Design Verification by ATp. 129
1. Introductionp. 129
2. Detecting Small AT Errorsp. 132
2.1 Universal Test Setp. 132
2.2 AT-based Universal Diagnosis Setp. 133
3. Bounding Error by Walsh Transformp. 135
3.1 Spectrum Comparisonp. 137
3.2 Spectrum Distribution and Partial Spectra Comparisonp. 138
3.3 Absolute Value Comparisonp. 140
4. Experimental Resultsp. 142
4.1.1 Improvements--Neighborhood Subspace Pointsp. 145
5. Conclusionsp. 146
Chapter 7 Identifying redundant gate and wire replacementsp. 147
1. Introductionp. 147
2. Gate Replacement Faultsp. 149
2.1 Redundant Replacement Faultsp. 150
2.1.1 Overview of the Proposed Approachp. 151
3. Redundancy Detection by Don't Caresp. 151
3.1 Using Local Don't Caresp. 152
3.2 Using Testing--Single Minterm Approximationp. 154
3.3 Redundant Single Cube Replacementsp. 159
3.3.1 Use of SAT in Redundancy Identificationp. 160
3.3.2 Passing Proximity Information to SATp. 161
4. Exact Redundant Fault Identificationp. 163
4.1.1 Preprocessingp. 164
5. Identifying Redundant Wire Replacementsp. 164
5.1 Wire Replacement Faults and Rewiringp. 166
5.2 Detection by Don't Caresp. 167
5.3 Don't Care Approximationsp. 169
5.4 SAT for Redundant Wire Identificationp. 170
5.4.1 Approximate Redundancy Identificationp. 171
6. Exact Wire Redundancy IDentificationp. 172
7. I/O Port Replacement Detectionp. 175
7.1 Detection of I/O Port Wire Switching Errorsp. 175
8. Experimental Resultsp. 177
8.1 Gate Replacement Experimentsp. 177
8.1.1 Minimum Distance Replacementsp. 177
8.2 Wire Replacement Experimentsp. 182
8.2.1 True Fan-in Acyclic Replacementsp. 184
8.3 SAT vs. ATPGp. 185
9. Conclusionsp. 185
Chapter 8 Conclusions and future workp. 187
1. Conclusionsp. 187
2. Future Workp. 189
Appendicesp. 191
Referencesp. 197
Indexp. 211