Details

Hardware Verification with C++


Hardware Verification with C++

A Practitioner's Handbook

von: Mike Mintz, Robert Ekendahl

106,99 €

Verlag: Springer
Format: PDF
Veröffentl.: 11.12.2006
ISBN/EAN: 9780387362540
Sprache: englisch
Anzahl Seiten: 342

Dieses eBook enthält ein Wasserzeichen.

Beschreibungen

For Further Reading . . . . . . . . . . . . . . . . . . . . . . . 41 C h a p t e r 4 : A L a y e r e d A p p r o a c h . . . . . . . . . . . 43 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 A Whiteboard Drawing . . . . . . . . . . . . . . . . . . . . . . 46 An “ends-in” approach. . . . . . . . . . . . . . . . . . . . . 47 Refining the whiteboard blocks . . . . . . . . . . . . . . . 47 The “Common-Currency” Components . . . . . . . . . . . 48 The Interface Layer in Detail. . . . . . . . . . . . . . . . . . 49 The wire layer . . . . . . . . . . . . . . . . . . . . . . . . . . 50 The agent layer . . . . . . . . . . . . . . . . . . . . . . . . . 52 The transaction layer . . . . . . . . . . . . . . . . . . . . . 53 The Top-Layer Components . . . . . . . . . . . . . . . . . . 54 What is a Test? . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 The Test Component . . . . . . . . . . . . . . . . . . . . . . . 58 The Test Irritator . . . . . . . . . . . . . . . . . . . . . . . . . 60 A Complete Test . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 For Further Reading . . . . . . . . . . . . . . . . . . . . . . . 63 Part II: An Open-Source Environment with C++ . . . . . . 65 C h a p t e r 5 : T e a l B a s i c s . . . . . . . . . . . . . . . . . . . 67 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 What Teal provides . . . . . . . . . . . . . . . . . . . . . . . 68 Teal’s similarity to HDLs . . . . . . . . . . . . . . . . . . . 69 A tiny but complete example . . . . . . . . . . . . . . . . 69 Teal’s Main Components. . . . . . . . . . . . . . . . . . . . . 71 Using Teal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Your C++ test . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 A P r ac titioner ’s Handboo k ix Contents Creating registers . . . . . . . . . . . . . . . . . . . . . . . 74 Working with a reg or vreg . . . . . . . . . . . . . . . . . . 75 Logging Output . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Using Test Parameters . . . . . . . . . . . . . . . . . . . . . . 79 Accessing Memory . . . . . . . . . . . . . . . . . . . . . . . . . 81 A memory note example . . . . . . . . . . . . . . . . . . . 82 Constrained Random Numbers . . . . . . . . . . . . . . . . . 84 Required initialization . . . . . . . . . . . . . . . . . . . . . 84 Using random numbers. . . . . . . . . . . . . . . . . . . . . 84 Working with Simulation Events and Concurrency . . . . 86 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 For Further Reading . . . . . . . . . . . . . . . . . . . . . . . 88 Chapter 6: Truss: A Standard Verification F r a m e w o r k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 General Considerations . . . . . . . . . . . . . . . . . . . . . 93 Using a language other than C++ . . . . . . . . . . . . . . 93 Keeping it simple . . . . . . . . . . . . . . . . . . . . . . . . 94 Major Classes and Their Roles . . . . . . . . . . . . . . . . .
C++ and Verification (The Why and How).- Why C++?.- OOP, C++, and Verification.- A Layered Approach.- An Open-Source Environment with C++.- Teal Basics.- Truss: A Standard Verification Framework.- Truss Flow.- Truss Example.- Using OOP for Verification(Best Practices).- Thinking OOP.- Designing with OOP.- OOP Classes.- OOP Connections.- Coding OOP.- Examples (Putting It All Together).- Block Level Testing.- Chip Level Testing.- Things to Remember.
<p>Mike Mintz has more than 20 years of software development experience. Five years ago, he switched back to hardware verification. He has managed groups of software developers and has more than 15 years of C++ programming experience. He implemented C++ verification systems at several companies, using C++, as well languages such as SystemVerilog, Vera and ‘e’.</p><p><p>Robert Ekendahl has a background in ASIC design and more then 12 years experience as a senior verification engineer. Has developed verification system and served as project manager for fortune 100 companies and start-ups with a focus on telecommunication. Has worked in C++ as well as languages such as Verilog, VHDL, C, Vera and ‘e’.</p>
<p><i><b>Written by two verification engineers, Hardware Verification with C++: A Practitioner’s Handbook is a four-part tour of how to perform object-oriented techniques. <br>Part I makes the case for C++, and shows a standard verification system using object-oriented programming (OOP).<br>Part II presents two open-source C++ libraries that enable efficient verification with C++ -- Teal, a C++ to Verilog interface, and Truss, a standard verification framework.<br>Part III focuses on OOP with examples from real verification projects.<br>Part IV puts it all together showing complete block-level and system-level verification systems.<br>"The handbook provides a clear understanding of object-oriented programming, and how it applies to hardware verification. It is clear to me that C++, together with Teal and Truss, could form a strong platform for the next generation of hardware verification."<br>Dr. Stanley Hyduke, CEO of Aldec, Inc.<br>"With this book I feel confident I can constitute a verification team that could make good use of C++ for verification, with all the positive results I would need for success. That is a breakthrough!"<br>Bob Fredieu, VP of Research and Development and Cofounder, Assertive Design<br>"Teal let us hit the ground running and focus on developing our intellectual property instead of simulation infrastructure. After two successful ASIC projects, we couldn’t be happier with its quality, completeness and compactness."<br>Bennet Ih, ASIC Verification Lead, SigmaTel Imaging Systems Group<br>"Hardware verification complexity has grown to be a software effort, requiring advanced techniques such as OOP. With clear techniques and examples, this handbook guides the reader through the complexities of using OOP to create testbenches. Regardless of what language you use, this book will help sharpen your skills."<br />Chris Spear, Verification Consultant, Synopsys, Inc., Author of SystemVerilog forVerification</b></i></p>
Describes a small verification library with a concentration on user adaptability such as re-useable components, portable Intellectual Property, and co-verification Takes a realistic view of reuseability and distills lessons learned to a tool box of techniques and guidelines Includes supplementary material: sn.pub/extras
<p>Written for both new and experienced verification engineers, Hardware Verification with C++: A Practitioner's Handbook takes a street-smart look at verification of large designs, tackling Object Oriented Programming using C++ from a verification perspective. Special consideration is given to verification of third party IP. The book offers numerous examples of C++ classes and techniques. In addition, this book describes TEAL, a C/C++ Test Environment Abstraction Layer. It is intended for verification engineers who use TEAL. Engineers perform verification in order to minimize the probability of hardware functional errors, ensure that the hardware meets performance requirements, and ensure that the hardware is usable by software. TEAL aids in this endeavor by providing a set of capabilities that access HDL signals and enable actions based on changes in the values of these signals. In addition, it encourages independent generators, transactors, and checkers by providing for management of independent user created threads.</p><p><p>Because TEAL is a C/C++ library, algorithms can be developed that both validate the hardware design and can be re-used in the production software.</p>

Diese Produkte könnten Sie auch interessieren:

Ground Penetrating Radar
Ground Penetrating Radar
von: Mohammed Serhir, Dominique Lesselier
EPUB ebook
142,99 €
Computational Imaging for Scene Understanding
Computational Imaging for Scene Understanding
von: Takuya Funatomi, Takahiro Okabe
EPUB ebook
142,99 €