电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子书籍>Writing Testbenches using Syst

Writing Testbenches using Syst

2009-07-11 | rar | 3 | 次下载 | 免费

资料介绍

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

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1490次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  92次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  10次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7蓝牙设备在嵌入式领域的广泛应用
  14. 0.63 MB  |  3次下载  |  免费
  15. 89天练会电子电路识图
  16. 5.91 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费