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 abschätzen möchten. Der Aufbau des Trainings ermöglicht 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 Class-based Verifikation und Object-oriented Techniken, sowie RTL Coding, Assertions und Testbenches ausschöpfen möchten. Designer, die nicht vorhaben, SystemVerilog für Class-based Verifikation zu nutzen, sollten das kürzere SystemVerilog for Design Groups Training besuchen, das den ersten drei Tagen des Comprehensive SystemVerilog Trainings 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 Methodologies ihrer Wahl. In diesem Training werden u.a. folgende Tools unterstützt:
- Simulation: Cadence Incisive®, Mentor Graphics Questa™Sim, Synopsys VCS®
- Synthesis: 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 Class-based Verifikationseigenschaften von SystemVerilog für die Testbench-Entwicklung und die SystemVerilog Sprache 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-Automationstechniken zu SystemVerilog Class-based Verifikation ü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-based Verifikation und Design, den Haupteigenschaften der SystemVerilog Assertion-Sprache zur Erstellung von individuellen Assertions sowie Packaging und Gebrauch von Assertion Checkers Libraries.
- 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-Automation-Fähigkeiten anspruchsvolle objektorientierte Testbenches entwickelt, die eine Constrained Random Coverage-gesteuerte Methode unterstützen. Diese Eigenschaften ermöglichen es, Testbenches auf höherer Abstraktionsebene zu entwickeln und produktiver als mit Standard-Hardwarebeschreibungssprachen zu arbeiten.
Dieses Training beinhaltet objektive und aktuelle Erläuterungen zu den drei bekanntesten öffentlichen Verifikationsmethodik-Ansätzen und erklärt die Haupteigenschaften der SystemVerilog-Sprache, 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 Programm). Bitte kontaktieren Sie Doulos, um Ihre individuellen Bedürfnisse zu besprechen.
Voraussetzungen
Fundierte praktische Grundkenntnisse in Verilog sind unerlässlich.Ingenieure, die keine Hardwarebeschreibungssprachvorkenntnisse haben, müssen vor der Teilnahme an diesem Training den Doulos Comprehensive Verilog Kurs oder ein vergleichbares Training besuchen.
Für diejenigen, die zwar keine Verilog-Vorkenntnisse haben, aber fundierte Erfahrung mit VHDL, bietet Doulos einen Fast Track Verilog for VHDL Users Kurs an, der die perfekte Grundlage für das SystemVerilog Training bietet. Der Fast-Track Kurs findet normalerweise direkt vor dem Comprehensive SystemVerilog Training am selben Ort statt. Weitere Informationen und Termine finden Sie hier.
Für Inhouse-Training können wir das Vorläufer-Verilogtraining 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 (Day 1 and day 2 morning)
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 (Day 2 afternoon)
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 (Day 3)
Verification for design groups
Bus functional models • testbench architecture in classic Verilog • stimulus and response timingUsing SystemVerilog to construct module-level testbenches
Clocking and program blocks • testbench applications of interfaces • building libraries of stimulus patterns (sequences) • writing test cases to control the testbenchDynamic data types
strings • queues • dynamic arrays • associative arrays • queue and array methods • foreach loopTestbench automation
Brief introduction to testbench automation concepts • randomisation, checking and coverage • the need for constraints • randomisation of stimulus data using std::randomize and traditional Verilog distribution functionsClass-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 architectureAdvanced object-oriented features
Using inheritance to extend data classes • type parameterisation of classes • using virtual methods and polymorphism to create generic testbench infrastructure such as channels, FIFOs, scoreboards • deriving custom classes from generic base classes in a library such as AVM or VMMConstrained randomisation
Full details of the SystemVerilog randomisation machinery, including inline and declarative constraints • dynamic control of constraints • using constraints as checkers • procedural randomisation: randcase, randsequence • control fields in classes for flexible constraints • constraints and inheritanceModelling techniques
Process control in SystemVerilog: new forms of fork..join • spawning long-running threads with fork..join_none • other modelling support: built-in classes for linked-list, semaphore, mailbox • writing checkers and behavioural reference modelsClass-based testbench architecture
Layered architectures - moving verification to higher levels of abstraction • relation between layering and self-contained verification IP • approaches taken by vendor-advocated methodologies (AVM, DTV, VMM) • moving transactions around a testbench • unifying ideas: transaction ports, transaction FIFO, design pattern for publisher/subscriber, callbacks for snooping and error injection • base classes for transaction, transactor, environment • automating the activity of testbench componentsCoverage and planning
Coverage-driven TBA methodology • coverage planning as the first step in a verification process • SystemVerilog coverage constructs in detail • analysing and interpreting coverage data| Course Dates: | ||
|---|---|---|
| April 21st, 2008 | Munich, DE | Enquire |
| May 19th, 2008 | Dallas, TX | Enquire |
| June 9th, 2008 | Munich, DE | Enquire |
| June 23rd, 2008 | Bournemouth, UK | Enquire |
| June 23rd, 2008 | Nice, FR | Enquire |
| July 7th, 2008 | Eindhoven, NL | Enquire |
| July 14th, 2008 | San Jose, CA | Enquire |
| August 4th, 2008 | Munich, DE | Enquire |
Price on request
Back to top



