|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
1. A Brief Overview of Functional Verification ..................................... 1
1.1 Costs and Risk ............................................................................... 1
1.2 Verification and Time to Market................................................... 2
1.3 Verification and Development Costs............................................. 2
1.4 But any Lessons Learned?............................................................. 3
1.5 Functional Verification in a Nutshell ............................................ 4
1.6 Principles of Constrained Random Verification............................ 5
1.7 Standardized Functional Verification............................................ 6
1.8 Summary .......................................................................................7
2. Analytical Foundation..........................................................................9
2.1 A Note on Terminology ................................................................ 9
2.2 DUTs, DUVs, and Targets ............................................................ 9
2.3 Linear Algebra for Digital System Verification .......................... 10
2.4 Standard Variables ......................................................................12
2.5 Ranges of Variables..................................................................... 13
2.6 Rules and Guidelines................................................................... 14
2.6.1 Example – Rules and Guidelines ....................................... 14
2.7 Variables of Connectivity............................................................16
2.7.1 Example – External Connectivity ...................................... 17
2.7.2 Example – Internal Connectivity........................................ 19
2.8 Variables of Activation ...............................................................21
2.8.1 Example – Activation......................................................... 22
2.9 Variables of Condition ................................................................24
2.9.1 Example – Conditions ........................................................ 25
2.10 Morphs ........................................................................................27
2.11 Variables of Stimulus and Response ........................................... 29
2.11.1 Internal Stimuli and Responses ........................................ 30
2.11.2 Autonomous Responses.................................................... 31
2.11.3 Conditions and Responses................................................ 31
2.11.4 Example – Stimulus and Response................................... 32
2.12 Error Imposition ..........................................................................33
2.12.1 Example – Errors.............................................................. 33
2.13 Generating Excitement ................................................................35
XIV Table of Contents
2.14 Special Cases...............................................................................35
2.14.1 Example – Special Case ................................................... 37
2.15 Summary .....................................................................................37
References ............................................................................................ 38
3. Exploring Functional Space............................................................... 39
3.1 Functional Closure ......................................................................39
3.2 Counting Function Points............................................................ 40
3.2.1 Variables of Connectivity .................................................. 40
3.2.2 Variables of Activation (and other
Time-variant Variables) ..................................................... 44
3.2.3 Variables of Condition ....................................................... 45
3.2.4 Variables of Stimulus......................................................... 45
3.2.5 Variables of Response........................................................ 45
3.2.6 Variables of Error............................................................... 45
3.2.7 Special Cases ..................................................................... 46
3.2.8 An Approximate Upper Bound .......................................... 46
3.3 Condensation in the Functional Space ........................................ 47
3.4 Connecting the Dots .................................................................... 50
3.5 Analyzing an 8-entry Queue........................................................ 53
3.6 Reset in the VTG.........................................................................59
3.7 Modeling Faulty Behavior...........................................................63
3.8 Back to those Special Cases ........................................................64
3.9 A Little Graph Theory.................................................................65
3.10 Reaching Functional Closure ......................................................68
3.11 Summary .....................................................................................70
4. Planning and Execution .....................................................................71
4.1 Managing Verification Projects...................................................71
4.2 The Goal......................................................................................72
4.3 Executing the Plan to Obtain Results ..........................................73
4.3.1 Preparation..........................................................................74
4.3.2 Code Construction..............................................................74
4.3.3 Code Revision ....................................................................76
4.3.4 Graduated Testing ..............................................................76
4.3.5 Bug Fixing..........................................................................77
4.4 Soft Prototype and Hard Prototype .............................................78
4.5 The Verification Plan ..................................................................79
4.6 Instances, Morphs, and Targets (§ 1) ..........................................81
4.7 Clock Domain Crossings (§ 1) ....................................................81
Table of Contents XV
4.8 Verifying Changes to an Existing Device (§ 1)...........................83
4.9 Interpretation of the Specification (§ 1) ......................................83
4.10 Instrumenting the Prototype (§ 2)................................................87
4.10.1 An Ounce of Prevention (§ 2) ..........................................90
4.11 Standard Results (§ 3) .................................................................91
4.12 Setting Goals for Coverage and Risk (§ 4)..................................94
4.12.1 Making Trade-offs (§ 4)..................................................94
4.12.2 Focusing Resources (§ 4)................................................94
4.13 Architecture for Verification Software (§ 5) ...............................95
4.13.1 Flow for Soft Prototype (§ 5)..........................................99
4.13.2 Random Value Assignment (§ 5)..................................101
4.13.3 General CRV Process (§ 5)...........................................102
4.13.4 Activation and Initialization (§ 5).................................104
4.13.5 Static vs. Dynamic Test Generation (§ 5) .....................108
4.13.6 Halting Individual Tests (§ 5) .......................................108
4.13.7 Sanity Checking and Other Tests (§ 5) .........................108
4.13.8 Gate-level Simulation (§ 5)...........................................109
4.13.9 Generating Production Test Vectors (§ 5) ....................110
4.14 Change Management (§ 6) ........................................................110
4.15 Organizing the Teams (§ 7).......................................................111
4.15.1 Failure Analysis (§ 7) .....................................................114
4.16 Tracking Progress (§ 8) .............................................................115
4.17 Related Documents (§ 9) ...........................................................118
4.18 Scope, Schedule and Resources (§ 10)......................................118
4.19 Summary ...................................................................................119
References ..........................................................................................120
5. Normalizing Data..............................................................................121
5.1 Estimating Project Resources ....................................................121
5.2 Power and Convergence............................................................122
5.3 Factors to Consider in using Convergence................................124
5.4 Complexity of a Target..............................................................126
5.5 Scaling Regression using Convergence.....................................129
5.6 Normalizing Cycles Counts with Complexity...........................133
5.7 Using Normalized Cycles in Risk Assessment .........................134
5.8 Bug Count as a Function of Complexity ...................................135
5.9 Comparing Size and Complexity...............................................136
5.10 Summary ...................................................................................136
References ..........................................................................................136
6. Analyzing Results .............................................................................137
6.1 Functional Coverage..................................................................137
6.2 Standard Results for Analysis ...................................................138
XVI Table of Contents
6.3 Statistically Sampling the Function Space ................................138
6.4 Measures of Coverage...............................................................139
6.5 Code Coverage ..........................................................................140
6.6 State Reachability in State Machines ........................................142
6.7 Arc Transversability in State Machines ....................................143
6.8 Fault Coverage ..........................................................................143
6.9 VTG Coverage ..........................................................................144
6.10 Strong Measures and Weak Measures.......................................144
6.11 Standard Measures of Function Space Coverage ......................145
6.12 Specific Measures and General Measures.................................146
6.13 Specific Measures for Quadrant I..............................................148
6.14 General Measures for Quadrants II, III, and IV ........................149
6.15 Multiple Clock Domains ...........................................................149
6.16 Views of Coverage ....................................................................150
6.16.1 1-dimensional Views....................................................151
6.16.2 Pareto Views ................................................................151
6.16.3 2-dimensional Views....................................................153
6.16.4 Time-based Views........................................................153
6.17 Standard Views of Functional Coverage...................................155
6.18 Summary ...................................................................................156
References ..........................................................................................156
7. Assessing Risk ...................................................................................157
7.1 Making Decisions......................................................................157
7.2 Some Background on Risk Assessment ....................................159
7.3 Successful Functional Verification............................................160
7.4 Knowledge and Risk .................................................................164
7.5 Coverage and Risk.....................................................................166
7.6 Data-driven Risk Assessment....................................................167
7.7 VTG Arc Coverage ...................................................................168
7.8 Using Q to Estimate Risk of a Bug ...........................................169
7.9 Bug Count as a Function of Z ...................................................174
7.10 Evaluating Commercial IP ........................................................174
7.11 Evaluating IP for Single Application ........................................176
7.12 Nearest Neighbor Analysis........................................................176
7.13 Summary ...................................................................................179
References ..........................................................................................181
Appendix – Functional Space of a Queue............................................183
A.1 Basic 8-entry Queue ..................................................................183
A.2 Adding an Indirect Condition....................................................186
A.3 Programmable High- and Low-water Marks.............................190
Table of Contents XVII
A.4 Size of the Functional Space for this Queue .............................190
A.5 Condensation in the Functional Space ......................................191
A.6 No Other Variables?..................................................................193
A.7 VTGs for 8-entry Queue with Programmable
HWM & LWM..........................................................................193
Index........................................................................................................267 |
|