Hardware Verification with C++

A Practitioner¿s Handbook
 Paperback

122,72 €*

Alle Preise inkl. MwSt.|Versandkostenfrei
ISBN-13:
9781489978974
Veröffentl:
2017
Einband:
Paperback
Erscheinungsdatum:
30.04.2017
Seiten:
364
Autor:
Robert Ekendahl
Gewicht:
684 g
Format:
254x178x20 mm
Sprache:
Englisch
Beschreibung:

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 . . . . . . . . . . . . . . . . .
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.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.
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.

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.

Google Plus
Powered by Inooga