資料介紹
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
- 單片機(jī)C51中interrupt和using應(yīng)該如何使用詳細(xì)方法說明
- 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
- 編寫高效的測(cè)試設(shè)計(jì)testbenches
- Writing testbenches using Syst 0次下載
- Writing Testbench 0次下載
- Using the Timer Interrupt Syst
- Writing Testbenches -functiona
- 關(guān)于AI遺傳算法的詳解 8.3w次閱讀
- USB23年發(fā)展史,多了什么變化? 8.2w次閱讀
- 分析總結(jié)網(wǎng)優(yōu)的過去及現(xiàn)狀、未來發(fā)展趨勢(shì) 2928次閱讀
- 5G時(shí)代到來,各個(gè)國家的2G/3G也將開始“退休” 752次閱讀
- 寬禁帶器件和仿真環(huán)境介紹 1457次閱讀
- 在貼片加工廠中有哪些安全防護(hù)需要了解 1306次閱讀
- 復(fù)合放大器實(shí)現(xiàn)高精度的高輸出驅(qū)動(dòng)能力 獲得最佳的性能 1600次閱讀
- 用降壓型穩(wěn)壓器或線性穩(wěn)壓器電源時(shí)值來會(huì)為負(fù)載供電 984次閱讀
- 鋰電池并聯(lián)充電時(shí)保護(hù)板均衡原理 3w次閱讀
- 更小更智能的電機(jī)控制器推進(jìn)HEV/EV市場(chǎng) 1105次閱讀
- C51單片機(jī)interrupt和using的使用 6911次閱讀
- 基于C51中斷過程及interrupt和using的使用 3212次閱讀
- Google編程風(fēng)格指南(二) 2504次閱讀
- Unity遠(yuǎn)程加載到本地,本地并加載到游戲中 2188次閱讀
- Date功能:ISE中如何在未綜合實(shí)現(xiàn)的前提下打開ChipScope ? 1360次閱讀
下載排行
本周
- 1HFSS電磁仿真設(shè)計(jì)應(yīng)用詳解PDF電子教程免費(fèi)下載
- 24.30 MB | 126次下載 | 1 積分
- 2H橋中的電流感測(cè)
- 545.39KB | 7次下載 | 免費(fèi)
- 3雷達(dá)的基本分類方法
- 1.25 MB | 4次下載 | 4 積分
- 4I3C–下一代串行通信接口
- 608.47KB | 3次下載 | 免費(fèi)
- 5電感技術(shù)講解
- 827.73 KB | 2次下載 | 免費(fèi)
- 6從 MSP430? MCU 到 MSPM0 MCU 的遷移指南
- 1.17MB | 2次下載 | 免費(fèi)
- 7有源低通濾波器設(shè)計(jì)應(yīng)用說明
- 1.12MB | 2次下載 | 免費(fèi)
- 8RA-Eco-RA2E1-48PIN-V1.0開發(fā)板資料
- 35.59 MB | 2次下載 | 免費(fèi)
本月
- 12024年工控與通信行業(yè)上游發(fā)展趨勢(shì)和熱點(diǎn)解讀
- 2.61 MB | 763次下載 | 免費(fèi)
- 2HFSS電磁仿真設(shè)計(jì)應(yīng)用詳解PDF電子教程免費(fèi)下載
- 24.30 MB | 126次下載 | 1 積分
- 3繼電保護(hù)原理
- 2.80 MB | 36次下載 | 免費(fèi)
- 4正激、反激、推挽、全橋、半橋區(qū)別和特點(diǎn)
- 0.91 MB | 32次下載 | 1 積分
- 5labview實(shí)現(xiàn)DBC在界面加載配置
- 0.57 MB | 21次下載 | 5 積分
- 6在設(shè)計(jì)中使用MOSFET瞬態(tài)熱阻抗曲線
- 1.57MB | 15次下載 | 免費(fèi)
- 7GBT 4706.1-2024家用和類似用途電器的安全第1部分:通用要求
- 7.43 MB | 13次下載 | 免費(fèi)
- 8PADS-3D庫文件
- 2.70 MB | 10次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935113次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191360次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81578次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73804次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評(píng)論
查看更多