
Cours Verilog
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.
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 propre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsIntroduction à la conception numérique et à Verilog
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 2MasquerCacher les détailsVoir les détailsSyntaxe du langage Verilog et types de données
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 3MasquerCacher les détailsVoir les détailsModélisation de la logique combinatoire
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 4MasquerCacher les détailsVoir les détailsModélisation de la logique séquentielle
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 5MasquerCacher les détailsVoir les détailsConception de machines d'états finis
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 6MasquerCacher les détailsVoir les détailsConception hiérarchique et paramétrisation
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 7MasquerCacher les détailsVoir les détailsConception de banc de test et vérification fonctionnelle
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 8MasquerCacher les détailsVoir les détailsCodage RTL prêt pour la synthèse et optimisation
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.
Votre certificat valide de réussite
Ce cours est 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 élèves
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...

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.

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 !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable au Maroc ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail du 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




















