logo Amblot
Instructeur

Dates

Inscrivez-vous

Contactez-nous

Conception FPGA/ASIC

Conception Système

Vérification FPGA et ASIC

Environnement de Conception

 

Manuels Doulos

Comprehensive SystemVerilog
5 jours






Télécharger le descriptif au format pdf

Présentation

SystemVerilog (IEEE 1800™) est un nouveau langage basé sur le langage de description de matériel Verilog. Les extensions de SystemVerilog améliorent le langage Verilog dans un certain nombre de secteurs, fournissant des améliorations de productivité pour les concepteurs RTL, les ingénieurs de vérification et tous ceux qui sont impliqués dans l'architecture et la conception système.

Comprehensive SystemVerilog est un programme de formation complet et intégré qui répond à la demande des ingénieurs de vérification et de tous ceux qui veulent évaluer SystemVerilog pour ses applications de conception et de vérification. Ce cours est conçu pour mettre en valeur et faciliter l'utilisation de toutes les possibilités de SystemVerilog pour la conception et la vérification. Cela répond aux besoins des ingénieurs de vérification qui veulent utiliser le potentiel de la vérification basée sur les classes et les techniques orientées objet utilisant SystemVerilog aussi bien que du code RTL, des Assertions et des test benches. Les ingénieurs de conception qui n'ont pas l'intention d'utiliser la vérification basée sur les classes devraient s'orienter vers une session plus courte : SystemVerilog for Design Group qui partage le même contenu : les 3 premiers jours du cours Comprehensive SystemVerilog.

Doulos étant une société indépendante, les participants peuvent utiliser les outils de conception de leur choix durant les applications pratiques, qui occupent 50% du temps de la formation. Ces applications sont présentées sous forme d'exercices soigneusement préparés, afin de faciliter l'acquisition des connaissances.

Objectifs pédagogiques

• A deeper understanding of the Verilog language and how to apply it, enabling you to troubleshoot Verilog simulation and synthesis problems more easily.
• Utiliser les possibilités de vérification basées sur les classes pour le développement des test benches.
• Apprendre SystemVerilog pour la conception RTL.
• Mettre en place une méthode de vérification pilotée par la couverture basée sur SystemVerilog.
• Transfert de langage de vérification et de génération de Test bench précédemment utilisé vers la vérification basée sur les classes de SystemVerilog.
• Évaluer les possibilités de SystemVerilog pour la conception et la vérification.
• Analyser comment les équipes de développement peuvent améliorer leur productivité grâce à l'utilisation de SystemVerilog dans la conception et la vérification.

Connaissances requises

Une connaissance pratique du langage Verilog est nécessaire.
Pour les participants sans connaissance ou expérience HDL, avoir participé au cours Comprehensive Verilog (ou équivalent) est une nécessité.

Pour les participants sans connaissance de Verilog mais avec une expérience d'utilisation de VHDL, nous proposons un cours rapide Fast-Track pour les utilisateurs VHDL qui permet aux participants d'acquérir les fondations nécessaire pour suivre le cours SystemVerilog.

Pour les cours sur site, on peut combiner les différents modules de SystemVerilog pour fournir un cours répondant aux besoins spécifiques.

Qu'apprendrez-vous ?

Le cours est structuré en différents secteurs distincts :

Fundamentals of SystemVerilog for Design apprend à utiliser SystemVerilog pour la conception de RTL synthétisable, et aborde l'utilisation du langage pour la vérification.
SystemVerilog Assertions enseigne les principes de la conception et de la vérification basée sur le langage d'assertions, les caractéristiques du langage d'assertion de SystemVerilog pour créer ses propres assertions, et comment packager les bibliothèques de vérificateur.
Module-based SystemVerilog Verification montre comment utiliser SystemVerilog pour construire des test benches bâtis sur une architecture de test bench à base du langage Verilog.
Class-based SystemVerilog Verification décrit comment écrire des Test benches orientés objet, utilisant les possibilités d'automatisation de SystemVeriog qui supporte une méthodologie de génération aléatoire ou pilotée par la couverture. Ces possibilités permettent d'écrire à un niveau d'abstraction plus élevé et d'être plus productif qu'avec un langage de description hardware standard.

Supports de cours

Les manuels de cours Doulos sont réputés pour être les plus détaillés et les plus faciles d'utilisation. Leur style, leur contenu et leur exhaustivité sont uniques dans le monde de la formation HDL. Ils sont souvent utilisés comme référence après avoir suivi les cours de formation; Sont compris dans la formation :

• Les notes de cours indexées constituant un manuel de référence Verilog concis.
• Le cahier d'applications rempli d'exemples et d'applications pratiques pour vous aider à mettre en oeuvre vos connaissances.
• Le "Doulos Golden Reference Guide" aide-mémoire SystemVerilog complet et pratique (syntaxe, sémantique et astuces).

Structure et contenu

SystemVerilog for Design Groups (days 1-3)

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 • format 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 rangers•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 asserion-based IP

Module-based SystemVerilog Verification (Day 3)

Verification for design groups

Bus fonctional 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•runningself-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 architecture•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


Haut de Page

Pour tout renseignement, contactez-nous :
Amblot SARL
166 boulevard du Montparnasse, 75014 Paris
Tél : +33(0)1 42 79 57 48 Fax :+33(0)1 42 79 57 47
email : info@amblot.com

Pour recevoir nos offres de formations,
ainsi que les nouveautés :

Email