Global training solutions for engineers creating the world's electronics

Expert Verilog

Advanced Level - 4 Tage

view dates and locations
In English

Expert Verilog® ist ein 4-tägiges fortgeschrittenes Anwendungstraining. Ingenieuren wird vermittelt, wie sie die Produktivität durch Ausbau ihrer Verilog-Codierungs- und -anwendungsfähigkeiten steigern können. Untergliedert in zwei Module stehen im Mittelpunkt Sprache und Synthese, Design-Re-Use, Testbenches und aktuellste Verifikationstechniken. Darüber hinaus beinhaltet das Training eine Einführung in die Annahmen-basierte Verifikation. In beiden Modulen wird auf SystemVerilog eingegangen inklusive einer Einschätzung Ihres Nutzens für sowohl Design als auch Verifikation.

  • Expert Verilog® Design (2 Tage) wurde für Designingenieure entwickelt, die ihre Kenntnisse in RTL und Verhaltenssynthese mit Verilog vertiefen sowie ihren Verilog-Codierungsstil in Hinblick auf Design-Wiederverwendbarkeit verbessern möchten.
  • Expert Verilog® Verification (2 Tage) ist für Designingenieure sowie Verifikationsingenieure ausgelegt, die zur Funktionsverifikation Testbenches in Verilog entwickeln oder Verhaltensmodelle schreiben.


Die Module können als Komplettkurs oder einzeln besucht werden. Sie bauen auf dem Doulos Industriestandard-Kurs „Comprehensive Verilog“ auf. Sorgfältig ausgearbeitete Workshops machen 50% der Unterrichtszeit aus und ermöglichen den Ingenieuren, das Erlernte im Kontext der neuesten Verilog-Designtools, -verfahren und -methoden anzuwenden.

Was wird erlernt?

  • Ein tieferes Verständnis der Sprache Verilog und ihrer Anwendung zur müheloseren Fehlerbehebung bei Verilog-Simulations- und -Syntheseproblemen
  • Das Produzieren kleinerer und schnellerer Hardwaredesigns bei Einsatz von Verilog mit RTL-Synthesetools
  • Details eines Verilog-Codierungsstils zur Wiederverwendbarkeit von Code sowie „Einpacken“ des Intellectual Property (IP) für die Wiederverwendbarkeit
  • Was die neu eingeführte Version von Verilog (IEEE 1364-2001) für Verbesserungs-möglichkeiten für Design und Verifikation bietet
  • Grundsätze und Details für Ansätze bei der Designverifikation mit Verilog
  • Strukturieren und Schreiben umfangreicher und komplexer Verilog-Testbenches
  • Techniken zum Schreiben von Verhaltensmodellen für Hardwarekomponenten in Verilog
  • Integrieren von PLI-Applikationen in Verilog-Simulationen

 

Voraussetzungen

  • Um den Lernerfolg in diesen Kursen zu maximieren, ist die Teilnahme am Doulos Kurs „Comprehensive Verilog“ (oder gleichwertig) erforderlich.
  • Teilnehmer des Moduls Expert Design müssen über Kenntnisse und Erfahrungen in der RTL-Codierung und -Synthese mit Verilog verfügen.


Alle Kursteilnehmer müssen Erfahrungen mit Verilog mitbringen, die einer aktiven Anwendung von Verilog in einem realen Ingenieurprojekt von mindestens 6 Monaten entspricht.

Kursunterlagen

Die Doulos Kursunterlagen sind für ihren umfassenden Informationsgehalt und die äußerst benutzerfreundliche Präsentation allgemein bekannt. In ihrem Aufbau, Inhalt und ihrer Themenbehandlung sind sie einzigartig im HDL-Schulungsbereich, was sie zu begehrten Nachschlagewerken hat werden lassen. Die Kursunterlagen umfassen:

  • Kursskripte mit vollständigem Stichwortverzeichnis, die ein komplettes Referenzhandbuch darstellen
  • Arbeitsbuch mit nützlichen Beispielen zur Unterstützung bei der Wissensanwendung
  • Doulos Golden Reference Guide für Sprache, Syntax, Semantik und Tipps
  • Tool-Tours (Schnelleinführung in die Tools und Technologien Ihrer Wahl)

 

Structure and Content

Expert Verilog Design (days 1-2)

RTL

Appreciating the finer points of syntax directed translation • Incomplete assignment, latches and re-circulation • Using blocking and non-blocking assignments • Asynchronous inputs to clocked processes • Inference versus instantiation • The limits of combinational, register and arithmetic optimisation • Using hierarchy to control synthesis • Timing constraints, area constraints, and optimisation options • Multiple clock edges and partitioning clock domains • Synthesis methodology for large designs • Coding styles for efficient and maintainable designs • Implementing sequential algorithms in RTL • Bit-serial processing, pipelining and speed/space trade-offs

IP and Re-use with Verilog

Language level re-use • Standard component re-use • General re-use • Economic payback from re-use • Re-use culture • Packaging IP for re-use • Documenting IP, including test cases • Impact of IP on design flow planning • Impact of IP on revision control, bug tracking, archiving • Writing re-usable Verilog • RTL Verilog style for capturing IP • Hierarchy and partitioning • Isolating tool and technology dependencies • Readability and maintainability • Comments and meaningful names • Identifying generalisable properties • Language facilities for re-use, including Verilog-2001 improvements

Design for Verification with Assertions

Why use assertions in your designs? • Introduction to Properties • Property languages • Property Specification Language (PSL) • Introduction to temporal operators

Verilog-2001 in your Designs

A tutorial review of the major new features of Verilog-2001 that are relevant to design

SystemVerilog – An Overview

A tutorial review of the SystemVerilog and its impact.

Expert Verilog Verification (days 3-4)

Verification Strategies

Verification flow • Black and white box testing styles • Code analysis to guide testing • Techniques for stimulus generation and output checking

Advanced Verilog for Verification

Fine-grain concurrency with fork/join • The Verilog simulation cycle and its impact on coding style • Non-determinism and race hazards • Understanding the effect of delayed signal assignments

Improving the Quality of your Test Fixture Code

Structuring test fixtures with tasks and functions • Tactics for packaging code for maintainability and re-use • Advanced stimulus generators: serial data, complex timing • Software encapsulation: modules, local variables, multiple hierarchies

Transaction-Based Test Fixtures

Bus functional models • Techniques for layering your test fixtures • Using Verilog modules like OO classes • Transaction generation using bus functional models • Re-use and flexibility of test fixture code

Monitoring

Specify blocks • Built-in timing checks • Strobing inputs and sampling outputs • Measuring delays • Storing inputs/outputs in a buffer • Collecting and filtering diagnostic data • Simple data visualisation techniques

Component Modelling Introduction

Uses of component modelling • Component modelling methods • Choosing a component model • Structure of a component model • Handling asynchronous inputs • Storing inputs/outputs and sampling outputs • Measuring delays

Modelling and Analysis Techniques

Modelling memories • Imitating dynamic allocation in Verilog • Using public domain PLI applications to model large memories • Modelling external analogue subsystems • Signature analysis and other techniques for regression testing • Varying the timing of stimulus • Modelling communcations channels • Random and directed-random tests

Using PLI Libraries

(note: no prior experience of C is assumed)
Incorporating PLI applications into your simulations • What the PLI can and can’t do • Two generations of the PLI – which to use? • Types of PLI application: functions, stimulus generators, file access, component models • Pointers to functions in C • Function pointer tables • PLI application integration in various simulators

Verilog-2001, Verilog-2005 and SystemVerilog for Verification

A tutorial review of recent changes in the Verilog language that are relevant to verification • Preview of SystemVerilog verification extensions

Optional modules - (Expert Verification)

To meet varying specialist interests for team-based training, one or more of these optional modules can be integrated with the course by prior agreement with Doulos. These options are not available on scheduled public courses.

Modelling Analogue Hardware

Verilog drive strengths • Modelling I/O primitives such as open-drain and pullup • Verilog switch primitives • Simulating the external analogue world using real numbers and sampled-time

Verilog File I/O

Review of Verilog-1995 file I/O mechanisms • Verilog-2001 file I/O model and file reading functions • Reading structured data from text files • File-driven test fixtures

Writing PLI Applications

The PLI option requires a working knowledge of the C programming language.
PLI jargon • VPI and TF/ACC routines • Creating a simple PLI application • Linking PLI code to your Verilog simulation • Callback functions • Stimulus generators • Making PLI applications sensitive to input changes • Writing component models in the PLI

Looking for team-based training, or other locations?
Complete an on-line form and a Doulos representative will get back to you »

 

Price on request

 

Upcoming Live Webinars

Image 1

What is an SBOM and why should I care?

Wednesday December 11 2024

1 hour session (All Time Zones)

In this webinar we are going to explain in as few words as possible what a Software Bill Of Materials (SBOM) is and why we need to know about them in embedded systems development.

Register Now

Image 1

The Keys to SystemC & TLM-2.0

Friday December 13 2024

1 hour session (All Time Zones)

This webinar is aimed at hands-on hardware or software engineers who might know Verilog or C but have no previous experience of SystemC. It will explain what you need to know to be successful with SystemC.

Register Now

Image 1

Designing with AMD Kria SOMs

Tuesday December 17 2024

1 hour session (All Time Zones)

This webinar will walk through the design process for using AMD Kria SOMs, including the use of Vivado and Vitis.

Register Now

Image 1

C/C++ Memory Management: Design and Debugging

Wednesday December 18 2024

1 hour session (All Time Zones)

This webinar explores best practices for avoiding memory issues in design and debugging memory usage issues in C and C++.

Register Now

Image 1

Edge Machine Learning - Project Tips & Tricks

Friday January 17 2025

1 hour session (All Time Zones)

This webinar will provide some useful directions for incorporating machine learning within your next embedded project.

Register Now