Qu’est-ce que Verilog
Fait partie de la section Fondamentaux du Journey Verilog de Coddy. Leçon 1 sur 90.
Verilog est un langage de description matérielle (HDL) utilisé pour modéliser, concevoir et simuler des circuits électroniques numériques, des simples portes logiques aux processeurs complexes.
Contrairement aux langages logiciels qui s’exécutent séquentiellement sur un CPU, Verilog décrit du matériel qui fonctionne en parallèle. C’est la norme industrielle pour la conception de FPGA et d’ASIC, utilisée dans des outils comme ModelSim, Vivado et Quartus.
Dans ce cours, vous apprendrez Verilog depuis les bases, en commençant par la sortie de simulation élémentaire, puis en construisant des circuits combinatoires et séquentiels, et enfin en concevant de vrais modules comme des compteurs, des registres à décalage et des interfaces UART.
Défi
FacileBienvenue dans votre premier programme Verilog ! Le code est déjà écrit pour vous.
Que faire :
- Observez le code. Il utilise
$displaypour afficher du texte, de manière similaire àprintfen C - Cliquez sur Exécuter le code pour le compiler et le simuler
- Vous devriez voir
Hello World!dans la sortie
Remarque : Chaque programme Verilog s’exécute à l’intérieur d’un module. Le bloc initial s’exécute une fois au début de la simulation, et $finish y met fin.
Essayez vous-même
module main;
initial begin
$display("Hello World!");
$finish;
end
endmoduleToutes les leçons de Fondamentaux
1Introduction
Qu’est-ce que VerilogMatériel vs logicielVotre premier moduleCommentairesNiveaux d’abstraction de conception4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloOpérateurs de comparaisonRécapitulatif - Mathématiques simplesOpérateurs bit à bit7Affectations et portes
Affectation continueAffectation avec opérateursPrimitives de portes intégréesPortes AND, OR et NOTPortes XOR et XNORRécapitulatif - Circuit de portes logiques10Prise de décision
Instruction IfIf - ElseRécapitulatif - Comparateur simpleInstruction CaseCasex et CasezRécapitulatif - Conception d'une ALU2Types de données
Type wireType regEntiers et réelsVecteursTableauxParamètresRécapitulatif - Déclarer des signaux5Opérateurs - Partie 2
Opérateurs logiquesOpérateurs de réductionOpérateurs de décalageOpérateur de concaténationOpérateur conditionnelRécapitulatif - Défi sur les opérateurs11Boucles
Boucle ForBoucle WhileBoucle RepeatBoucle ForeverInstruction DisableRécapitulatif - Modèles de boucles3Système de numération
Représentation binaireNombres dimensionnésNombres non dimensionnésNombres négatifsValeurs spéciales X et ZRécapitulatif - Formats des nombres6Modules
Structure d’un modulePorts d’entrée et de sortiePorts InoutInstantiation d’un moduleAssociation des ports par nomAssociation des ports par ordreRécapitulatif - Construire un module9Blocs procéduraux
Bloc alwaysBloc initialListe de sensibilitéAffectation bloquanteAffectation non bloquanteRécapitulatif - always vs initial12Projet de multiplexeur
Conception d’un multiplexeur 2 vers 1Conception d’un multiplexeur 4 vers 115Contrôleur de feux de circulation
Définition des étatsLogique de la machine à étatsEntraînez-vous par vous-même : Compilateur Verilog en ligne