Choisissez votre langue
Cours Verilog
Plus de 2 millions d'étudiants dans le monde

Cours Verilog

4,4

Maîtrisez Verilog des premiers principes à la conception RTL prête pour la synthèse. Ce cours vous guide à travers les fondamentaux de la logique numérique, la syntaxe du langage, la conception de FSM, la vérification par bancs de test et l'implémentation FPGA avec du codage pratique à chaque étape. Que vous cibliez des FPGA ou des ASIC, vous développerez les compétences que les ingénieurs matériel utilisent au quotidien.

Dedika pour les entreprises

Ce que vous allez apprendre:

Vous apprendrez à écrire du Verilog correct et synthétisable pour les circuits combinatoires et séquentiels, les machines d'états finis et les conceptions hiérarchiques paramétrées. Ce cours couvre la construction de bancs de test, le débogage de formes d'onde et les tests de régression automatisés afin que vous puissiez vérifier vos conceptions en toute confiance. Vous étudierez également les directives de codage RTL, le crossing de domaines d'horloge et l'analyse temporelle pour répondre aux exigences réelles de synthèse. Le matériel supplémentaire présente SystemVerilog, les flux d'implémentation FPGA, les protocoles d'interface mémoire et les fondamentaux de la vérification formelle.

Comment vous étudiez de façon pratique Cours Verilog

Comment vous pratiquez Cours Verilog

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre activité et aux besoins spécifiques de votre entreprise.

Cliquez ici

Contenu du cours

8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Introduction à la conception numérique et à Verilog

  • Leçon 1 • Flux de conception Verilog et chaîne d'outils

    Parcourt le flux de conception FPGA et ASIC de bout en bout en utilisant Verilog. Les apprenants comprennent la place de chaque outil avant d'écrire du code.

  • Leçon 2 • Révision des fondamentaux de la logique numérique

    Aborde l'arithmétique binaire, l'algèbre de Boole et les portes logiques comme prérequis. Ancre la syntaxe Verilog dans le comportement matériel réel que les apprenants modéliseront.

  • Leçon 3 • Présentation des langages de description de matériel

    Distingue les HDL des langages de programmation logicielle et présente le paysage des HDL. Positionne Verilog comme un outil de simulation et de synthèse.

  • Leçon 4 • Configuration de l'environnement de développement

    Guide l'installation et la configuration d'un simulateur et d'un éditeur de texte. Les apprenants exécutent un premier fichier Verilog pour confirmer un environnement de travail fonctionnel.

Chapitre 2Voir les détails

Syntaxe du langage Verilog et types de données

  • Leçon 1 • Directives de compilation et tâches système

    Introduit 'define, 'include, 'timescale et les tâches système courantes. Les apprenants contrôlent le comportement de la simulation et organisent des projets multi-fichiers.

  • Leçon 2 • Opérateurs et expressions

    Aborde les opérateurs arithmétiques, relationnels, logiques, bit à bit et de réduction. Les apprenants évaluent la priorité des opérateurs pour écrire des expressions non ambiguës.

  • Leçon 3 • Structure du module et déclarations de ports

    Définit le module comme l'unité de conception fondamentale de Verilog et explique les directions des ports. Les apprenants écrivent des squelettes de modules complets et compilables.

  • Leçon 4 • Fils, registres et types de variables

    Différencie les types wire, reg et logic et explique leurs implications matérielles. Un choix de type correct évite les erreurs de simulation courantes.

  • Leçon 5 • Constantes, paramètres et littéraux

    Explique les littéraux dimensionnés et non dimensionnés, la logique à quatre valeurs et la paramétrisation. Les paramètres permettent des composants de conception réutilisables et configurables.

Chapitre 3Voir les détails

Modélisation de la logique combinatoire

  • Leçon 1 • Blocs always pour la logique combinatoire

    Explique comment always @(*) modélise le comportement combinatoire de manière procédurale. Les apprenants évitent les verrous en spécifiant correctement les listes de sensibilité.

  • Leçon 2 • Modélisation de circuits combinatoires courants

    Applique les constructions apprises pour construire des codeurs, des décodeurs, des multiplexeurs et des additionneurs. Renforce les schémas de conception utilisés de manière répétée dans les systèmes plus vastes.

  • Leçon 3 • Assignations continues

    Introduit l'instruction assign pour la modélisation combinatoire au niveau flux de données. Les apprenants expriment des fonctions booléennes de manière concise sans blocs procéduraux.

  • Leçon 4 • Primitives au niveau des portes

    Utilise les primitives de portes intégrées pour modéliser la logique au plus bas niveau d'abstraction. Les apprenants connectent les primitives pour comprendre la modélisation structurelle.

Chapitre 4Voir les détails

Modélisation de la logique séquentielle

  • Leçon 1 • Modélisation de bascules et de verrous

    Modélise les bascules D, T, JK et SR ainsi que les verrous sensibles au niveau. Les apprenants distinguent quand chaque élément est approprié et synthétisable.

  • Leçon 2 • Registres et registres à décalage

    Étend les bascules individuelles aux registres multi-bits et aux registres à décalage série. Les apprenants construisent des configurations SIPO, PISO et PIPO.

  • Leçon 3 • Blocs always cadencés et sensibilité aux fronts

    Introduit les déclencheurs posedge et negedge pour la conception synchrone. Les apprenants écrivent des modèles de bascules qui se synthétisent en registres réels.

  • Leçon 4 • Compteurs et diviseurs de fréquence

    Conçoit des compteurs synchrones et asynchrones avec contrôle du modulo. Les apprenants implémentent des compteurs ascendants, descendants et ascendants-descendants avec valeur terminale.

  • Leçon 5 • Pièges liés au séquencement et aux assignations non bloquantes

    Analyse les conditions de compétition causées par le mélange d'assignations bloquantes et non bloquantes. Les apprenants appliquent des directives de codage qui garantissent une simulation et une synthèse correctes.

Chapitre 5Voir les détails

Conception de machines d'états finis

  • Leçon 1 • Modèle de FSM à deux blocs always

    Présente le style de codage standard de l'industrie à deux blocs always pour les FSM. Les apprenants séparent le registre d'état et la logique d'état suivant pour plus de clarté et de synthèse.

  • Leçon 2 • Études de cas pratiques de FSM

    Implémente des FSM pour un contrôleur de feux de circulation, un récepteur série et un distributeur automatique. Les apprenants appliquent le cycle complet de conception à la vérification sur des problèmes réalistes.

  • Leçon 3 • Théorie des FSM et diagrammes d'états

    Passe en revue les modèles de Moore et Mealy, les diagrammes d'états et les tables d'états. Fournit la base théorique avant tout codage Verilog.

  • Leçon 4 • Codage d'état sécurisé et récupération

    Aborde l'entrée en état illégal, les risques du codage one-hot et les valeurs par défaut sécurisées. Les apprenants ajoutent du codage défensif pour empêcher le blocage de la FSM dans le matériel.

  • Leçon 5 • Style de FSM à trois blocs always

    Étend le modèle en séparant la logique de sortie dans un troisième bloc always. Les apprenants comparent les styles et choisissent de manière appropriée pour les machines de Moore vs Mealy.

Chapitre 6Voir les détails

Conception hiérarchique et paramétrisation

  • Leçon 1 • Bibliothèques de composants réutilisables

    Organise les modules en bibliothèques à l'aide de fichiers include et de structures de type package. Les apprenants adoptent des conventions de nommage et une organisation de fichiers pour les projets d'équipe.

  • Leçon 2 • Conception d'une ALU paramétrée

    Intègre un additionneur, un soustracteur, une unité logique et un décaleur dans une ALU configurable. Les apprenants pratiquent la décomposition descendante et l'intégration ascendante.

  • Leçon 3 • Instanciation de module et hiérarchie

    Explique les connexions de ports nommées et positionnelles ainsi que la hiérarchie à plusieurs niveaux. Les apprenants construisent un design de niveau supérieur à partir de sous-modules préconçus.

  • Leçon 4 • Paramètres et instructions generate

    Utilise des paramètres pour créer des modules configurables en largeur et generate pour une réplication évolutive. Les apprenants construisent une ALU à N bits à l'aide de composants paramétrés.

Chapitre 7Voir les détails

Conception de banc de test et vérification fonctionnelle

  • Leçon 1 • Vérification des réponses et assertions

    Automatise la vérification des sorties à l'aide de vérificateurs basés sur if et d'assertions immédiates. Les apprenants éliminent l'inspection manuelle des formes d'onde pour les tests de régression.

  • Leçon 2 • Architecture et structure du banc de test

    Définit les composants du banc de test : instanciation du DUT, génération d'horloge et stimulus. Les apprenants écrivent un squelette complet de banc de test pour tout module combinatoire.

  • Leçon 3 • Techniques de génération de stimulus

    Aborde les méthodes de stimulus dirigé, aléatoire et piloté par fichier. Les apprenants sélectionnent la technique appropriée en fonction de la complexité du design et des objectifs de couverture.

  • Leçon 4 • Analyse des formes d'onde et débogage

    Utilise le vidage VCD et les visualiseurs de formes d'onde pour diagnostiquer les échecs de simulation. Les apprenants corrèlent les anomalies des formes d'onde avec les défauts du code RTL.

  • Leçon 5 • Tests de régression et organisation des tests

    Structure plusieurs bancs de test en une suite de régression avec exécution scriptée. Les apprenants maintiennent la couverture de test à mesure que les designs évoluent.

Chapitre 8Voir les détails

Codage RTL prêt pour la synthèse et optimisation

  • Leçon 1 • Directives de codage RTL pour la synthèse

    Présente les règles de codage industrielles pour les registres, la logique combinatoire et les FSM. Un style cohérent réduit les avertissements de synthèse et améliore la prévisibilité des outils.

  • Leçon 2 • Techniques de traversée de domaines d'horloge

    Explique les risques de métastabilité et les stratégies de synchronisation pour les conceptions multi-horloges. Les apprenants implémentent des synchroniseurs à deux bascules et des protocoles de poignée de main.

  • Leçon 3 • Contraintes temporelles et analyse des chemins critiques

    Lit les rapports temporels de synthèse pour identifier les chemins critiques et les violations de marge. Les apprenants appliquent des modifications RTL pour respecter les exigences de temps de préparation et de maintien.

  • Leçon 4 • Constructions synthétisables vs non synthétisables

    Identifie les constructions légales en simulation mais non supportées par les outils de synthèse. Les apprenants auditent le code existant et remplacent les motifs non synthétisables.

  • Leçon 5 • Stratégies d'optimisation de la surface et de la puissance

    Applique le partage de ressources, le masquage d'horloge et les choix de codage pour réduire la surface et la puissance. Les apprenants comparent les résultats de synthèse avant et après optimisation.

Certification

Votre certificat valide de réussite

Ce cours est fait pour vous :

  • Étudiant en génie électrique : prêt à transformer la théorie en cours en code RTL concret.

  • Développeur logiciel embarqué : souhaitant faire le saut vers la description et la conception de matériel.

  • Passionné de FPGA : souhaitant acquérir des compétences structurées au-delà de la simple copie de conceptions de référence en ligne.

  • Jeune diplômé : construisant un portfolio pour postuler à des postes juniors en conception de puces.

  • Reconversion professionnelle depuis le logiciel : attiré par le matériel et ayant besoin d'un point de départ pratique.

  • Ingénieur de vérification junior : cherchant à renforcer ses connaissances en RTL pour compléter son travail de test.

Ce que disent nos apprenants

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika ?

Le certificat est-il valable en France ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail des cours ?

Comment sont les cours ?

Comment fonctionnent les cours ?

Quelle est la durée des cours ?

Quel est le coût ou le prix des cours ?

Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?

Cours PDF