SystemVerilog for
Design Group
3 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..
SystemVerilog for Design Group est un programme de formation spécialisé et intégré qui répond à la demande des groupes de conception.
Ce cours est conçu pour mettre en valeur et faciliter l'utilisation des possibilités de SystemVerilog pour la conception et la vérification,
en particulier pour la génération du code RTL, des assertions et des bancs de test. Ce cours ne comprend pas la description des possibilités
plus approfondies pour les spécialistes de vérification qui souhaitent utiliser les techniques de vérification basées sur les classes ou orientées
objet. Cestechniques font parties du cours Comprehensive SystemVerilog dont les trois premiers jours constituent le cours
SystemVerilog for Design Groups.
Les travaux pratiques occupent 50% du temps de formation. Ces travaux pratiques sont présentés sous forme d'exercices soigneusement préparés, afin de faciliter
l'acquisition des connaissances. Les outils utilisés pour ces cours comprennent :
• Simulation : Cadence Incisive®, Mentor Graphics Questa™, Synopsys VCS®
• Synthèse : Mentor Graphics Precision™, Synopsys Design Compiler®, Synplicity Synplify®
D'autres outils sont disponibles sur demande. Contactez-nous sivos outils ne font pas partie de cette liste.
Objectifs pédagogiques
• Apprendre SystemVerilog pour la conception RTL, l'utilisation des assertions et la génération de banc de test au niveau bloc.
• Permettre d'évlauer le langage SystemVerilog pour la conception d'un ASIC ou d'un FPGA et pour la vérification au niveau bloc.
• Permettre aux équipes de support d'outils EDA de mieux comprendre comment les équipes de conception peuvent tirer partie de SystemVerilog
pour améliorer leur productivité.
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.
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.
Support de cours
Les manuels de formation Doulos sont réputés pour être les plus détaillés et les plus facile d'utilisation. leur style, leur contenu et leur exhaustivité sont
uniques dans le monde de la formation. 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 complet.
• 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
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 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
Haut de Page