資料介紹
Coverage Points 51
Cross Coverage 53
Transition Coverage . 53
What Does 100 Percent Functional Coverage Mean? . 54
Verification Language Technologies 55
Assertions . . 57
Simulated Assertions . 58
Formal Assertion Proving 59
Revision Control . . 61
The Software Engineering Experience 62
Configuration Management . 63
Working with Releases 65
Issue Tracking 66
What Is an Issue? 67
The Grapevine System 68
The Post-It System . . 68
The Procedural System 69
Computerized System 69
Metrics . 71
Code-Related Metrics 71
Quality-Related Metrics . . 73
Interpreting Metrics . 74
Summary 76
CHAPTER 3 The Verification Plan 77
The Role of the Verification Plan . . 78
Specifying the Verification 78
Defining First-Time Success . 79
Levels of Verification . . 80
Unit-Level Verification 81
Block and Core Verification . 82
ASIC and FPGA Verification 84
System-Level Verification . 84
Board-Level Verification . . 85
Verification Strategies 86
Verifying the Response 86
From Specification to Features . 87
Block-Level Features 90
System-Level Features 91
Table of Contents
viii Writing Testbenches using SystemVerilog
Error Types to Look For . . 91
Prioritize . 92
Design for Verification 93
Directed Testbenches Approach 96
Group into Testcases . 96
From Testcases to Testbenches 98
Verifying Testbenches 99
Measuring Progress 100
Coverage-Driven Random-Based Approach . . 101
Measuring Progress 101
From Features to Functional Coverage . . 103
From Features to Testbench 105
From Features to Generators 107
Directed Testcases . . 109
Summary 111
CHAPTER 4 High-Level Modeling 113
High-Level versus RTL Thinking . .113
Contrasting the Approaches 115
You Gotta Have Style! . .117
A Question of Discipline . 117
Optimize the Right Thing 118
Good Comments Improve Maintainability 121
Structure of High-Level Code . 122
Encapsulation Hides Implementation Details . . 122
Encapsulating Useful Subprograms . 125
Encapsulating Bus-Functional Models 127
Data Abstraction . 130
2-state Data Types . 131
Struct, Class . 131
Union . . 134
Arrays . . 139
Queues . 141
Associative Arrays . 143
Files 145
From High-Level to Physical-Level . 146
Object-Oriented Programming 147
Classes . 147
Inheritance . . 153
Writing Testbenches using SystemVerilog ix
Polymorphism 156
The Parallel Simulation Engine 159
Connectivity, Time and Concurrency 160
The Problems with Concurrency . 160
Emulating Parallelism on a Sequential Processor 162
The Simulation Cycle 163
Parallel vs. Sequential . . 169
Fork/Join Statement 170
The Difference Between Driving and Assigning . 173
Race Conditions . . 176
Read/Write Race Conditions 177
Write/Write Race Conditions 180
Initialization Races . 182
Guidelines for Avoiding Race Conditions . 183
Semaphores . . 184
Portability Issues 186
Events from Overwritten Scheduled Values 186
Disabled Scheduled Values . 187
Output Arguments on Disabled Tasks 188
Non-Re-Entrant Tasks 188
Static vs. Automatic Variables . . 193
Summary . . 196
CHAPTER 5 Stimulus and Response 197
Reference Signals 198
Time Resolution Issues . . 199
Aligning Signals in Delta-Time . . 201
Clock Multipliers . . 203
Asynchronous Reference Signals 205
Random Generation of Reference Signal Parameters 206
Applying Reset 208
Simple Stimulus . 212
Applying Synchronous Data Values . 212
Abstracting Waveform Generation . . 214
Simple Output 216
Visual Inspection of Response 217
Producing Simulation Results 217
Minimizing Sampling 219
Visual Inspection of Waveforms . 220
Table of Contents
x Writing Testbenches using SystemVerilog
Self-Checking Testbenches . 221
Input and Output Vectors 221
Golden Vectors 222
Self-Checking Operations 224
Complex Stimulus 227
Feedback Between Stimulus and Design . 228
Recovering from Deadlocks 228
Asynchronous Interfaces . 231
Bus-Functional Models 234
CPU Transactions . . 234
From Bus-Functional Tasks to Bus-Functional Model 236
Physical Interfaces . 238
Configurable Bus-Functional Models 243
Response Monitors 246
Autonomous Monitors 249
Slave Generators . . 253
Multiple Possible Transactions . . 255
Transaction-Level Interface 258
Procedural Interface vs Dataflow Interface 259
What is a Transaction? . . 263
Blocking Transactions . . 265
Nonblocking Transactions . 265
Split Transactions . . 267
Exceptions 270
Summary . . 278
CHAPTER 6 Architecting Testbenches 279
Verification Harness . . 280
Design Configuration . 284
Abstracting Design Configuration . . 285
Configuring the Design . . 288
Random Design Configuration . . 290
Self-Checking Testbenches 292
Hard Coded Response . . 294
Data Tagging 295
Reference Models . . 297
Transfer Function . . 299
Scoreboarding 300
Integration with the Transaction Layer . . 302
Writing Testbenches using SystemVerilog xi
Directed Stimulus 304
Random Stimulus . 307
Atomic Generation . 307
Adding Constraints . 312
Constraining Sequences . 316
Defining Random Scenarios 320
Defining Procedural Scenarios . 322
System-Level Verification Harnesses . . 327
Layered Bus-Functional Models . 328
Summary . . 331
CHAPTER 7 Simulation Management 333
Transaction-Level Models 333
Transaction-Level versus Synthesizable Models 334
Example of Transaction-Level Modeling . 335
Characteristics of a Transaction-Level Model . . 337
Modeling Reset 341
Writing Good Transaction-Level Models . 342
Transaction-Level Models Are Faster 347
The Cost of Transaction-Level Models 348
The Benefits of Transaction-Level Models 349
Demonstrating Equivalence 351
Pass or Fail? 352
Managing Simulations . 355
Configuration Management 355
Avoiding Recompilation or SDF Re-Annotation . 358
Output File Management 361
Seed Management . . 364
Regression . 365
Running Regressions 366
Regression Management . 367
Summary . . 370
APPENDIX A Coding Guidelines 371
File Structure 372
Filenames 375
Style Guidelines . . 376
Table of Contents
xii Writing Testbenches using SystemVerilog
Comments 376
Layout . . 378
Structure 380
Debugging 383
Naming Guidelines 384
Capitalization 384
Identifiers 386
Constants 389
Portability Guidelines . 391
APPENDIX B Glossary 397
Index 401

掃碼添加小助手
加入工程師交流群
- Efficient packet classification using TCAM
- 單片機C51中interrupt和using應該如何使用詳細方法說明
- Writing Testbenches using SystemVerilog_Janick Bergeron 0次下載
- Writing Efficient Testbenches 0次下載
- PLD Programming Using VHDL 0次下載
- Using the Agilent U2300A Serie
- E1 2.048 Mb/s Interface Pod
- Coefficient RAM Access Mechani
- Using Allegro PCB SI to Analyz 0次下載
- Using Wavelet Eigenvalues as t
- 編寫高效的測試設計testbenches
- Writing testbenches using Syst 0次下載
- Writing Testbench 0次下載
- Using the Timer Interrupt Syst
- Writing Testbenches -functiona
- 關于AI遺傳算法的詳解 8.5w次閱讀
- USB23年發展史,多了什么變化? 8.4w次閱讀
- 分析總結網優的過去及現狀、未來發展趨勢 3.6k次閱讀
- 5G時代到來,各個國家的2G/3G也將開始“退休” 1.3k次閱讀
- 寬禁帶器件和仿真環境介紹 2k次閱讀
- 在貼片加工廠中有哪些安全防護需要了解 2k次閱讀
- 復合放大器實現高精度的高輸出驅動能力 獲得最佳的性能 2.1k次閱讀
- 用降壓型穩壓器或線性穩壓器電源時值來會為負載供電 1.5k次閱讀
- 鋰電池并聯充電時保護板均衡原理 3.8w次閱讀
- 更小更智能的電機控制器推進HEV/EV市場 1.6k次閱讀
- C51單片機interrupt和using的使用 7.8k次閱讀
- 基于C51中斷過程及interrupt和using的使用 3.9k次閱讀
- Google編程風格指南(二) 3k次閱讀
- Unity遠程加載到本地,本地并加載到游戲中 2.5k次閱讀
- Date功能:ISE中如何在未綜合實現的前提下打開ChipScope ? 1.7k次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數據手冊
- 3.00 MB | 次下載 | 免費
- 2MDD品牌三極管BC817數據手冊
- 2.51 MB | 次下載 | 免費
- 3MDD品牌三極管D882數據手冊
- 3.49 MB | 次下載 | 免費
- 4MDD品牌三極管MMBT2222A數據手冊
- 3.26 MB | 次下載 | 免費
- 5MDD品牌三極管MMBTA56數據手冊
- 3.09 MB | 次下載 | 免費
- 6MDD品牌三極管MMBTA92數據手冊
- 2.32 MB | 次下載 | 免費
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數據手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論