Fast-Track Verilog pour utilisateurs VHDL
2 jours
Télécharger le descriptif au format pdf
Présentation
"Fast-Track verilog pour les utilisateurs VHDL "est un cours de conversion intensif de 2 jours, enseignant l'utilisation du langage
de programmation Verilog® pour mener à bien les projets de conception digitale de composants programmables et d'ASICs. Ce cours est
destiné aux personnes qui ont déjà suivi le cours Comprehensive VHDL ou ont déjà une bonne expérience de conception avec le langage VHDL.
En mettant en évidence les similarités et les différences entre les langages VHDL et Verilog et les flows de conception associés, ceci accélère
pour les participants l'apprentissage du langage Verilog. Cela permet aux participants qui connaissent VHDL, d'acquérir les connaissances Verilog,
ce qui assurera une transition vers les cours SystemVerilog.
Le cours couvre le langage Verilog, comment coder pour assurer la synthèse au niveau RTL, développer les tests et utiliser les outils Verilog.
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.
A qui est destinée cette formation?
• Aux ingénieurs ayant une pratique de VHDL qui souhaitent apprendre le langage Verilog et évoluer vers SystemVerilog.
• Aux ingénieurs qui ont une pratique de VHDL et ont besoin d'utiliser également Verilog.
Connaissances requises
Les participants doivent avoir suivi la formation Doulos Comprehensive VHDL (ou équivalent), et avoir de bonnes connaissances d'utilisation
de VHDL et de conception numérique.
Qu'apprendrez-vous ?
• Les différences et similarités entre VHDL et Verilog
• Comment utiliser le langage Verilog pour la conception de matériel et la synthèse logique
• Comment écrire des tests en Verilog pour vérifier vos circuits
• Comment éviter de commettre des erreurs en générant du code Verilog pour la synthèse
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
Introduction
What is Verilog? • Brief history and current status • The PLI • Scope of Verilog • Design flow •
Verilog-2001 SystemVerilog • Verilog books and internet resources
Differences between VHDL and Verilog
"Philosophy" • Red Tape • Strong typing • Determinism • Data abstraction • Structure vs behaviour - Nets vs registers •
Language structure - architecture, packages, configurations, files • Identifiers • Output ports • Implicit wires • Arrays •
Aggregates • Signedness • Operators • Signal vs variable/nets • Process vs initial/always • if, case, loop differences •
File i/o • Hierarchical names
Verilog Basics
Modules & ports • Continuous assignments • Comments • Names • Nets and strenghts • design hierarchy •
Module instances • Primitive instances • Test fixtures • $monitor • initial blocks • Logic values •
Vectors • Registers • Numbers • Output formatting • Timescales • Always blocks • $stop and $finish •
Using nets and variables correctly
Combinational Logic
Event control • If statements • Begin-end • Incomplete assignment and latches • Unknown and don't care •
Conditional operator • Tristates • Case, casez and casex statements • full_case and parallel_case directives •
For, repeat, while and forever loops • integers • Self-disabling blocks • Combinational logic synthesis
Sequential Logic
Synthesising flip-flop & latches • Avoiding simulation race hazards • Nonblocking assignments • Asynchronous & synchronous resets •
Clock enables • Synthesizable always templates • Designing state machines • State machine architectures •
Verilog code-based FSM strategy • State encoding • Unreachable states & safe design practices • One-hot machines
Other features of Verilog
Verilog operators • Part selects • Concatenation & replication • Shift registers • Conditional compilation •
Parameterization and generate • Hierarchical names • Arithmetic operators and their synthesis • Signed and unsigned values •
Memory arrays • RAM modeling and synthesis • $readmemb and $readmemh
Tasks and Functions
Understanding tasks • Task arguments • Task synchronization • Tasks and synthesis
Packaging assertions
Assertions in interfaces and modules•the bind construct•deploying verification IP, particularly asserion-based IP
Test fixtures
File i/o - writing to files; File access using MCDs; Reading from files • Automated design verification using Verilog •
Force and release • Gate-level simulation • Back annotation using SDF • "Traditional" Verilog libraries •
Configuration and libraries • Command-line options • Behavioural modelling
Behavioural Verilog
Algorithmic coding • Synchronization using waits & event control • Concurrent-disabling of always blocks • Named events •
Fork & join • High-level modelling using tasks, Implicit FSMs and concurrent-disabling • Understanding intra-assignment controls •
Overcoming clock skew • Blocking and nonblocking assignments • Continuous procedural assignment
Gate Level Verilog
Structural Verilog • Using built-in primitives • Net types & drive strenghts • UDPs • Gate, net & path delays •
Specify blocks • Smart paths • Pulse rejection • Cell library modelling
SystemVerilog
Background • Who is SystemVerilog for? • Current status of SystemVerilog • RTL enhancements • Interfaces •
Assertions • Testbenches • C interface
Haut de Page