Comprehensive Verilog
4 jours
Télécharger le descriptif au format pdf
Présentation
"Comprehensive Verilog®" est un cours de 4 jours traitant de l'application du langage Verilog® pour la conception de composants programmables et
d'ASICs. Il couvre le langage Verilog®, le codage en vue de synthèse RTL (Register Transfer Level), la description des adaptateurs de test et l'utilisation d'outils
Verilog®.Ce cours comprend également une présentation de SystemVerilog.
Doulos étant indépendant des fournisseurs d'outils, les participants peuvent choisir leurs outils de simulation, de synthèse, de conception de logique programmable
durant les applications pratiques.
Les applications pratiques sont basées sur des exercices soigneusement préparés pour renforcer l'apprentissage. Ils comprennent en moyenne 50% du temps de la formation.
A qui est destinée cette formation ?
• Aux ingénieurs s'apprêtant à commencer leur premier projet Verilog®.
• Aux ingénieurs ayant déjà une connaissance du langage et souhaitant la consolider et étendre leur connaissance dans un environnement de formation, en utilisant
les outils de leur choix
•Aux ingénieurs qui connaissent le langage VHDL, mais qui ont besoin de devenir également compétents dans l'application du langage Verilog®.
Contenu de la formation
•Comment Verilog® se situe dans le design flow FPGA / ASIC.
•Comment utiliser le langage Verilog® pour la conception hardware et la synthèse logique.
•Comment décrire en Verilog® les adaptateurs de test pour vérifier vos conceptions.
•Comment éviter les erreurs classiques.
Connaissances requises
Les participants doivent avoir suivi la formation Essential Digital Design Techniques (ou équivalent), ou avoir de bonnes connaissances en conception de circuits
numériques. Aucune connaissance préalable du langage est demandée.
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 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 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 Verilog® complet et pratique (syntaxe, sémantique et astuces).
•Les "Tool Tour Guides" (pour mettre en oeuvre rapidement les outils et technologies de votre choix)
•Le Guide de conception pour les principales technologies ASIC et FPGA-PLD.
Structure et contenu
Introduction
What is Verilog®?•Scope of Verilog•Design flow for ASICs, CPLDs and FPGAs•Introduction to synthesis•Synchronous design•
Timing constraints•Verilog books and internet resources.
Modules
Modules & ports•continuous assignments•wire assignments•Comments•Names•Nets and strenghts•Design hierarchy•
Module instances•Primitive instances•Text fixtures•$monitor•Initial blocks•Logic values•Vectors•Registers.
Numbers, Wires and Regs
Numbers•Output formatting•Timescales•Always blocks•$stop and $finish•Using wires and registers correctly
Always Blocks
Event control•if statements•begin-end•incomplete assignment and latches•FPGAs and latches ·unknown and don’t care
•conditional operators•tristates.
Procedural Statements
case, casez and casex statements •full_case and parallel_case directives•For, repeat, while and forever loops
•integers•self-disabling blocks•Combinational logic synthesis.
Clocks and Flipflops
synthesising flip-flops & latches•avoiding simulation race hazards•nonblocking assignments
•asynchronous & synchronous resets•clock enables•synthesizable always templates•RTL synthesis technology•inferring flip-flops
•Making best use of RTL synthesis.
Operators, Parameters, Hierarch
bitwise, reduction, logical and equality operators•Part selects•Concatenation & replication•
Shift registers•Conditional compilation•Parameters•Hierarchical names.
Finite State Machines
Design state machines•State machine architectures•Verilog code-based FSM strategy•state encoding•
unreachable states & safe design practices•one-hot machines
Synthesis of Arithmetic and Counters
Arithmetic operators and their synthesis•Signed and unsigned values•adder architectures •
WYSIWYG arithmetic synthesis•resource sharing•integer and vector arithmetic.
Tasks, Functions and Memories
Understanding tasks•task arguments•task synchronization•tasks and synthesis•functions•Memory arrays
•RAM modelling and synthesis•$readmemb and $readmemh.
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•blocking and non-blocking assignments•continuous procedural assignment•
understanding unsynthesizable Verilog® constructs.
Test Fixtures
Designing test fixtures•writing to files•file access using MCDs•reading from files•
the Verilog® Programming Language Interface (PLI)•automated design verification using Verilog®•Force and release•
gate-level simulation•Back annotation using SDF•PLD and ASIC design flow•Verilog® libraries •Command-line options•Behavioural modelling.
Project Management & Good Practice
Writing Verilog for simulation and synthesis•Coding standards for synthesis•
File organisation•Design data control •Functional validation•Methodical testing•Hierarchical design•Gated clocks•Asynchronous design.
Supplementary subjects
The PLI
What is the PLI?•what is the PLI for?•how to use the PLI•TF, ACC and VPI routines •creating tests in C.
Gate Level Verilog®
Structural Verilog®•using built-in primitives •net types & drive strengths •UDPs •gate, net & path delays•specify blocks •
smart paths•pulse rejection• cell library modelling ·
Verilog-2001
What is Verilog-2001? •"Cosmetic" changes • General enhancements •Parameterisation and generate •Configuration and libraries • File I/O
SystemVerilog
Background •Who is SystemVerilog for?• Current status of systemVerilog •RTL enhancements•Interfaces•Assertions •Testbenches • C interface.
Haut de Page