Comprehensive SystemVerilog
Standard Level - 5 Tage
view dates and locations
In EnglishSystemVerilog (IEEE 1800™) ist eine bedeutende neue Sprache, die auf der weitverbreiteten Hardwarebeschreibungssprache Verilog® basiert. Die SystemVerilog-Spracherweiterungen verbessern Verilog in verschiedenen Bereichen und ermöglichen damit Produktivitätssteigerungen für RTL Designer, Verifikationsingenieure und Architektur- und System-Designer.
Comprehensive SystemVerilog bietet ein komplettes und integriertes Lösungskonzept für Verifikationsingenieure und Nutzer, die die Funktionen von SystemVerilog sowohl für Design als auch Verifikation ausschöpfen möchten. Der Aufbau des Trainings ermöglicht es Ingenieuren, ihr Fachwissen in der kompletten Bandbreite der SystemVerilog-Eigenschaften , d.h. sowohl in Design als auch Verifikation, zu erweitern. Dies schließt auch die Anforderungen von Verifikationsingenieuren ein, die das Potential der klassenbasierten Verifikation und objektorientierten Techniken sowie RTL-Kodierung, Assertions und Testbenches ausschöpfen möchten. Designer, die nicht vorhaben, SystemVerilog für klassenbasierte Verifikation zu nutzen, sollten das kürzere Training SystemVerilog for Design Groups besuchen, das den ersten drei Tagen des Trainings Comprehensive SystemVerilog inhaltlich gleicht.
Die Workshops nehmen ca. 50% der Unterrichtszeit ein und basieren auf sorgfältig ausgearbeiteten Übungen, die die Kursteilnehmer in ihren neu erworbenen Kenntnissen herausfordern und das Erlernte untermauern.
Da Doulos herstellerunabhängig ist, profitieren die Kursteilnehmer von objektivem Training und üben das Gelernte gleichzeitig mit den Tools und Methoden ihrer Wahl. In diesem Training werden u.a. folgende Tools unterstützt:
- Simulation: Cadence Incisive®, Mentor Graphics Questa™Sim, Synopsys VCS®
- Synthese: Mentor Graphics Precision™, Synopsys Design Compiler®, Synplicity Synplify®
Weitere Tools können auf Anfrage zur Verfügung gestellt werden. Bitte wenden Sie sich an Doulos, falls Ihre Tools hier nicht aufgeführt sind.
Zielgruppe
- Designer, die die klassenbasierten Verifikationseigenschaften von SystemVerilog für die Testbench-Entwicklung und die Sprache SystemVerilog für RTL- Design nutzen möchten
- Verifikationsingenieure, deren Ziel es ist, Coverage-gesteuerte Verifikationsansätze zum ersten Mal mit SystemVerilog anzuwenden
- Verifikationsingenieure, die von anderen bewährten Verifikationssprachen und Testbench-Automatisierungstechniken zu klassenbasierter Verifikation mit SystemVerilog übergehen möchten
- Ingenieure und Vorgesetzte, die das volle Leistungsvermögen von SystemVerilog für Design und Verifikation bewerten möchten
- EDA Support-Ingenieure, die ein umfassendes Verständnis dafür erlangen möchten, wie ihre Kunden SystemVerilog am produktivsten für Design und Verifikation einsetzen können
Kursinhalte
Das Training ist in verschiedene Abschnitte untergliedert:- Fundamentals of SystemVerilog for Design erklärt den praktischen Gebrauch von SystemVerilog für RTL Design und Verifikationsumgebung und ist die Grundlage für den Gebrauch von SystemVerilog für die Verifikation.
- SystemVerilog Assertions erklärt die Grundsätze von Assertion-basierter Verifikation und Design, den Haupteigenschaften der Sprache SystemVerilog Assertion zur Erstellung von individuellen Assertions sowie Packaging und Gebrauch von Assertion-Checkers- -Bibliotheken.
- Module-based SystemVerilog Verification erklärt den Gebrauch von SystemVerilog für den Bau effektiver Block-Level Testbenches. Diesem liegt Best-practice Testbench-Architektur zu Grunde, die auf Verilog-Modulen basiert.
- Class-based SystemVerilog Verification erklärt, wie man mit Hilfe von SystemVerilogs Testbench-Automatisierungs-Fähigkeiten anspruchsvolle objektorientierte Testbenches entwickelt, die eine Constrained Random Coverage-gesteuerte Methode unterstützen. Diese Eigenschaften ermöglichen es, Testbenches auf einer höheren Abstraktionsebene zu entwickeln und produktiver als mit Standard-Hardwarebeschreibungssprachen zu arbeiten. Das Trainingsmaterial basiert auf der langjährigen Erfahrung von Doulos mit Trainings zu objektorientierten Verifikationskonzepten. Die anspruchsvollen Themen sind optimal für Entwickler mit unterschiedlichstem Hintergrund aufbereitet und stellen eine ideale Vorbereitung auf die Anwendung einer fortschrittlichen Verifikationsmethode dar.
Dieses Training beinhaltet objektive und aktuelle Erläuterungen zu den drei bekanntesten öffentlichen Verifikationsmethodik-Ansätzen und erklärt die Haupteigenschaften der Sprache SystemVerilog, die die Verfikationsmethoden unterstützen. Spezifisches Methodiktraining wird von Doulos in Zusammenarbeit mit führenden Toolherstellern für Inhouse-Teamtraining angeboten (siehe Doulos' Modular SystemVerilog). Bitte kontaktieren Sie Doulos, um Ihre individuellen Bedürfnisse zu besprechen.
Voraussetzungen
Fundierte praktische Grundkenntnisse in Verilog sind unerlässlich.Ingenieure, die keine Vorkenntnisse in Hardwarebeschreibungssprach haben, müssen vor der Teilnahme an diesem Training den Doulos-Kurs Comprehensive Verilog oder ein vergleichbares Training besuchen.
Für diejenigen, die zwar keine Verilog-Vorkenntnisse haben, aber fundierte Erfahrung mit VHDL, bietet Doulos den Kurs Fast-Track Verilog for VHDL Users an, der die perfekte Grundlage für das Training SystemVerilog bietet. Der Fast-Track-Kurs findet normalerweise kurz vor dem Comprehensive SystemVerilog Training am selben Ort statt. Termine und Info unter www.doulos.com.
Für Inhouse-Training können wir das Vorbereitungs-Training zu Verilog auf Ihre speziellen Teambedürfnisse zuschneiden und mit den passenden SystemVerilog-Modulen kombinieren, so dass Ihr Team genau das erlernt, was es braucht (siehe auch Modular SystemVerilog ).
Bitte wenden Sie sich an Doulos, um Ihre individuellen Bedürfnisse zu besprechen.
Kursunterlagen
Die Doulos Kursunterlagen sind für ihren umfassenden Informationsgehalt und Ihre Benutzerfreundlichkeit allgemein bekannt. In ihrem Aufbau, Inhalt und ihrer Themenbehandlung sind sie einzigartig im HDL-Trainingsbereich, was sie zu begehrten Nachschlagewerken hat werden lassen. Im Kurspaket sind enthalten:- Kursskripte mit vollständigem Stichwortverzeichnis, die ein umfassendes Referenzhandbuch darstellen
- Ein Arbeitsbuch mit vielen praktischen Beispielen und Lösungen als Unterstützung bei der Wissensanwendung
- Doulos SystemVerilog Golden Reference Guide für Sprache, Syntax, Semantik und Tipps
Struktur und Inhalt
Fundamentals of SystemVerilog for Design (Days 1-3)
The SystemVerilog data type system
enum • typedef • struct • union • packed/unpacked • packages and $unit • using arrays in SystemVerilog • array and structure literals, assignment patternsNets and variables
Key changes in Verilog-2005 and SystemVerilog • continuous assignment to variables • modified driver and connection rules • data types on ports and netsModules and processes
Port connection shorthand • type parameters • synthesis idioms for processes • miscellaneous improvements to the languageDesign applications of interfaces
The interface construct • interfaces to encapsulate communication • modports • synthesis of interfaces and modports • imported functions for designSystemVerilog Assertions
Introduction to assertions
Assertions, properties, sequences • clocking and sampling • property implication • uses of assertions • simulation of assertions • formal toolsAssertion methodology
Methodology consequences of assertion-based design and verification • assertion and assumption • benefits of assertions to the designer • protocol checkersA brief introduction to SVA syntax
Writing simple assertions of your own • sequences and the ## operator • repetition and time ranges • sequence fusion • overview of temporal operators • local variables and actions in assertionsPackaging Assertions
Assertions in interfaces and modules • the bind construct • deploying verification IP, particularly assertion-based IPModule-based SystemVerilog Verification
Verification for design groups
Bus functional models • testbench architecture in classic Verilog • stimulus and response timing Using SystemVerilog to construct module-level testbenches Clocking blocks to manage timing • testbench applications of interfaces • task and function enhancements in SystemVerilog • decoupling test cases from the testbench Dynamic data types strings • queues • dynamic arrays • associative arrays • queue and array methods • foreach loop Testbench automation Introduction to testbench automation concepts • randomisation, checking and coverage • the need for constraints • randomisation of stimulus data using std::randomize and traditional Verilog distribution functions • procedural randomisation: randcase, randsequence • collecting functional coverage dataClass-based SystemVerilog Verification (Days 4 and 5)
Introducing classes
SystemVerilog's class syntax • describing stimulus data and a stimulus generator • randomization of class members (without constraints) • objects and references • constructors and new • shallow copy using new • writing a custom copy methodHooking classes to the DUT
Dynamically-constructed test environment vs. statically-elaborated DUT and test harness • using virtual interface and class-based BFMs • the role of clocking and program blocks • appropriate structure for DUT, clock generators and other structural elements • constructing and launching the test environment using program+initial • simple class-based testbench architectureVarying the Stimulus
Generator template objects • introduction to constraints • implication constraints • derived classes • upcasting and the is-a relationship • virtual methodsComponents and Channels
FIFO channels to decouple components • base class for transaction data • downcasting and $cast • parameterized classes and macros for specialization • running self-contained components with fork…joinReusable Testbench Components
Maintaining a component instance hierarchy • virtual base class for components • launching a task with fork…join_none • testbench component arhitecture • preview of standard methodologies (OVM, VMM)Monitor and Check Components
Passive monitors and unbounded FIFOs • checker components and scoreboards • stopping the test cleanly • semaphore for mutual exclusionCoverage in Classes
Coverage-driven TBA methodology • coverage planning as the first step in a verification process • analysing and interpreting coverage data • SystemVerilog coverage constructs in detail • covergroup sampling • per-instance coverage in testbench components • covergroup options • transition and cross coverage • controlling bins structure • coverage reports| Course Dates: | ||
|---|---|---|
| March 1st, 2010 | Munich, DE | Enquire |
| March 1st, 2010 | Ringwood, UK | Enquire |
| March 15th, 2010 | Paris, FR | Enquire |
| March 22nd, 2010 | San Jose, CA | Enquire |
| April 12th, 2010 | Cambridge, UK | Enquire |
| April 12th, 2010 | Heesch, NL | Enquire |
| April 12th, 2010 | Kista, SE | Enquire |
| April 12th, 2010 | Munich, DE | Enquire |
| May 17th, 2010 | Austin, TX | Enquire |
| May 17th, 2010 | Munich, DE | Enquire |
| May 17th, 2010 | Ringwood, UK | Enquire |
| June 14th, 2010 | Paris, FR | Enquire |
| July 12th, 2010 | Munich, DE | Enquire |
Price on request
Back to top



