Sunday 14 March 2010

Developing & Delivering KnowHow

Home > Training > Comprehensive SystemVerilog

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

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

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 data

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

Varying the Stimulus

Generator template objects • introduction to constraints • implication constraints • derived classes • upcasting and the is-a relationship • virtual methods

Components 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…join

Reusable 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 exclusion

Coverage 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
Privacy Policy Site Map Contact Us