Comprehensive SystemVerilog

Standard Level - 5 Tage

view dates and locations
 In English

SystemVerilog (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 patterns

Nets and variables

Key changes in Verilog-2005 and SystemVerilog • continuous assignment to variables • modified driver and connection rules • data types on ports and nets

Modules and processes

Port connection shorthand • type parameters • synthesis idioms for processes • miscellaneous improvements to the language

Design applications of interfaces

The interface construct • interfaces to encapsulate communication • modports • synthesis of interfaces and modports • imported functions for design

SystemVerilog Assertions (Day 2 afternoon)

Introduction to assertions

Assertions, properties, sequences • clocking and sampling • property implication • uses of assertions • simulation of assertions • formal tools

Assertion methodology

Methodology consequences of assertion-based design and verification • assertion and assumption • benefits of assertions to the designer • protocol checkers

A 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 assertions

Packaging Assertions

Assertions in interfaces and modules • the bind construct • deploying verification IP, particularly assertion-based IP

Module-based SystemVerilog Verification (Day 3)

Verification for design groups

Bus functional models • testbench architecture in classic Verilog • stimulus and response timing

Using 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 testbench

Dynamic data types

strings • queues • dynamic arrays • associative arrays • queue and array methods • foreach loop

Testbench 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 functions

Class-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 method

Hooking 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 architecture

Advanced 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 VMM

Constrained 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 inheritance

Modelling 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 models

Class-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 components

Coverage 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