Glasser | Open Verification Methodology Cookbook | E-Book | www2.sack.de
E-Book

E-Book, Englisch, 235 Seiten

Glasser Open Verification Methodology Cookbook


1. Auflage 2009
ISBN: 978-1-4419-0968-8
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 235 Seiten

ISBN: 978-1-4419-0968-8
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark



Functional verification is an art as much as a science. It requires not only creativity and cunning, but also a clear methodology to approach the problem. The Open Verification Methodology (OVM) is a leading-edge methodology for verifying designs at multiple levels of abstraction. It brings together ideas from electrical, systems, and software engineering to provide a complete methodology for verifying large scale System-on-Chip (SoC) designs. OVM defines an approach for developing testbench architectures so they are modular, configurable, and reusable. This book is designed to help both novice and experienced verification engineers master the OVM through extensive examples. It describes basic verification principles and explains the essentials of transaction-level modeling (TLM). It leads readers from a simple connection of a producer and a consumer through complete self-checking testbenches. It explains construction techniques for building configurable, reusable testbench components and how to use TLM to communicate between them. Elements such as agents and sequences are explained in detail.

Glasser Open Verification Methodology Cookbook jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Open Verification Methodology Cookbook;2
1.1;Preface;6
1.2;Contents;12
1.3;List of Figures;15
1.4;Introduction;19
1.5;Verification Principles;21
1.5.1;1.1 Verification Basics;21
1.5.1.1;1.1.1 Two Questions;22
1.5.1.2;1.1.2 Does It Work?;22
1.5.1.3;1.1.3 Are We Done?;25
1.5.1.4;1.1.4 Two-Loop Flow;26
1.5.2;1.2 First Testbench;27
1.5.2.1;1.2.1 DUT;29
1.5.2.2;1.2.2 Scoreboard;30
1.5.3;1.3 Second Testbench;31
1.5.3.1;1.3.1 3-Bit Counter;33
1.5.4;1.4 Layered Organization of Testbenches;37
1.5.4.1;1.4.1 Transactors;39
1.5.4.2;1.4.2 Operational Components;39
1.5.4.3;1.4.3 Analysis Components;40
1.5.4.4;1.4.4 Controller;41
1.5.5;1.5 Two Domains;41
1.5.6;1.6 Summary;43
1.6;Fundamentals of Object-Oriented Programming;44
1.6.1;2.1 Procedural vs. OOP;44
1.6.2;2.2 Classes and Objects;46
1.6.3;2.3 Object Relationships;50
1.6.3.1;2.3.1 HAS-A;50
1.6.3.2;2.3.2 IS-A;51
1.6.4;2.4 Virtual Functions and Polymorphism;53
1.6.5;2.5 Generic Programming;57
1.6.5.1;2.5.1 Generic Stack;59
1.6.6;2.6 Classes and Modules;62
1.6.7;2.7 OOP and Verification;65
1.7;Transaction-Level Modeling;66
1.7.1;3.1 Abstraction;66
1.7.2;3.2 Definition of a Transaction;68
1.7.3;3.3 Interfaces;69
1.7.4;3.4 TLM Idioms;71
1.7.4.1;3.4.1 Put;71
1.7.4.2;3.4.2 Get;74
1.7.4.3;3.4.3 Transport;75
1.7.4.4;3.4.4 Blocking vs. Nonblocking;78
1.7.5;3.5 Isolating Components with Channels;81
1.7.6;3.6 Forming a Transaction-Level Connection;84
1.7.7;3.7 Summary;85
1.8;OVM Mechanics;86
1.8.1;4.1 Components and Hierarchy;86
1.8.1.1;4.1.1 Traversing the Hierarchy;88
1.8.1.2;4.1.2 Singleton Top;90
1.8.2;4.2 Connectivity;90
1.8.2.1;4.2.1 Connecting across the Hierarchy;91
1.8.2.2;4.2.2 Note to AVM Users;96
1.8.3;4.3 Phases;96
1.8.4;4.4 Config;100
1.8.4.1;4.4.1 Configuration and Phasing;104
1.8.5;4.5 Factory;106
1.8.5.1;4.5.1 How the Factory Works;107
1.8.5.2;4.5.2 The OVM Factory API;113
1.8.5.3;4.5.3 String-Based or Type-Based?;116
1.8.6;4.6 Shutting Down the Testbench;117
1.8.6.1;4.6.1 Timeout;120
1.8.7;4.7 Connecting Testbenches to Hardware;121
1.8.8;4.8 Tests and Testbenches;127
1.8.9;4.9 Reporting;128
1.8.9.1;4.9.1 Basic Messaging;128
1.8.9.2;4.9.2 Message Actions;130
1.8.9.3;4.9.3 Message Files;131
1.8.9.4;4.9.4 Message Handlers;131
1.8.9.5;4.9.5 Altering the Flow of Control;133
1.8.10;4.10 Summary;136
1.9;Testbench Fundamentals;137
1.9.1;5.1 Drivers and Monitors;137
1.9.2;5.2 Introducing the HFPB Protocol;141
1.9.2.1;5.2.1 HFPB Write Operation;143
1.9.2.2;5.2.2 Basic Read Operation;144
1.9.3;5.3 An RTL Memory Slave;145
1.9.4;5.4 Monitors and Analysis Ports;148
1.9.5;5.5 Summary;150
1.10;Reuse;151
1.10.1;6.1 Types of Reuse (or Reuse of Types);151
1.10.2;6.2 Reusable Components;152
1.10.3;6.3 Agents;156
1.10.4;6.4 Reusable HFPB Protocol;158
1.10.5;6.5 Agent Example;164
1.10.6;6.6 Summary;166
1.11;Complete Testbenches;167
1.11.1;7.1 Floating Point Unit;167
1.11.2;7.2 Coverage Collectors;170
1.11.3;7.3 FPU Agent;172
1.11.4;7.4 Scoreboards;175
1.11.5;7.5 Different Tests;177
1.11.6;7.6 Summary;180
1.12;Sequences;181
1.12.1;8.1 Sequence Basics;181
1.12.2;8.2 A Sequence Example;182
1.12.3;8.3 Anatomy of a Sequence;187
1.12.4;8.4 Another Sequence API;189
1.12.5;8.5 Response Routing;191
1.12.6;8.6 Sequences in Parallel;195
1.12.7;8.7 Constructing APIs with Sequences;197
1.12.8;8.8 Summary;200
1.13;Block-to-System;201
1.13.1;9.1 Reusing Block-Level Components;201
1.13.2;9.2 Reusing Block-Level Testbenches;203
1.13.3;9.3 Testing at the System Level;209
1.13.4;9.4 Summary;211
1.14;Coding Conventions;212
1.14.1;10.1 Naming Scheme;212
1.14.2;10.2 Global or Local?;216
1.14.3;10.3 Objects;219
1.14.3.1;10.3.1 Components;220
1.14.3.2;10.3.2 Sequences;222
1.14.3.3;10.3.3 Transactions and Sequence Items;222
1.14.4;10.4 Packages;223
1.14.5;10.5 Comments;225
1.14.6;10.6 Summary;225
1.15;Afterword;227
1.16;Graphic Notation;228
1.16.1;A.1 Components;228
1.16.2;A.2 Interfaces;229
1.16.3;A.3 Interconnect;230
1.16.4;A.4 Channels;231
1.16.5;A.5 Analysis Ports;232
1.16.6;A.6 Summary;233
1.17;Bibliography;234
1.18;Index;236



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.