Commentaires
Fait partie de la section Fondamentaux du Journey Verilog de Coddy — leçon 5 sur 90.
Les commentaires sont des notes dans votre code que l'ordinateur ignore. Ils aident à expliquer ce que fait votre code.
Deux types de commentaires :
1. Commentaire sur une seule ligne
// Ceci est un commentaire sur une seule ligne
assign c = a & b; // Les commentaires peuvent aussi se placer après le codeTout ce qui se trouve après // est ignoré par l'ordinateur.
2. Commentaire multi-ligne
/* Ceci est un commentaire multi-ligne
Il peut s'étendre sur plusieurs lignes
Utile pour des explications plus longues */
assign c = a & b;Tout ce qui se trouve entre /* et */ est ignoré.
Pourquoi utiliser des commentaires ?
- Expliquez ce que fait votre module
- Décrivez à quoi servent chaque entrée et chaque sortie
- Rendez le code plus facile à comprendre
- Laissez des notes pour vous-même ou pour les autres
Défi
Dans ce défi, vous devez ajouter des commentaires à un module existant.
Ce qu'il faut faire :
Ajoutez un commentaire sur une seule ligne en haut expliquant ce que fait le module
// This is a module called 'test'Ajoutez un commentaire multi-ligne à la fin du code expliquant ce que fait le compteur
/** It has a clock input, a reset input,* and a 4-bit output called count.* The initial block prints a message* to show that comments are ignored.*/
Aide-mémoire
Les commentaires en Verilog sont ignorés par le compilateur et servent à expliquer le code.
Commentaire sur une seule ligne — tout ce qui suit // est ignoré :
// Ceci est un commentaire
assign c = a & b; // Commentaire en ligneCommentaire multi-ligne — tout ce qui se trouve entre /* et */ est ignoré :
/* Ceci s'étend sur
plusieurs lignes */
assign c = a & b;Essayez vous-même
module test(
input clk,
input reset,
output reg [3:0] count
);
initial $display("Comments are ignored by the computer");
endmoduleCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
1Introduction
Qu'est-ce que VerilogHardware vs SoftwareNiveaux d'abstraction de conceptionVotre premier moduleCommentaires4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloOpérateurs de comparaisonRécapitulatif - Mathématiques simplesOpérateurs bit à bit7Assignation et portes logiques
Assignation continueAssignation avec opérateursPrimitives de portes intégréesPortes AND OR NOTPortes XOR XNORRécapitulatif - Circuit à portes logiques10Prise de décision
Instruction IfIf - ElseRécapitulatif - Comparateur simpleInstruction CaseCasex et CasezRécapitulatif - Conception d'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 RépéterBoucle InfinieInstruction DisableRécapitulatif - Modèles de boucles3Système de numération
Représentation binaireNombres avec tailleNombres sans tailleNombres négatifsValeurs spéciales X et ZRécapitulatif - Formats de nombres6Modules
Structure d'un modulePorts d'entrée et de sortiePorts InoutInstanciation de moduleMappage de ports par nomMappage de ports par ordreRécapitulatif - Créer un module9Blocs procéduraux
Bloc AlwaysBloc InitialListe de sensibilitéAffectation bloquanteAffectation non bloquanteRécapitulatif - Always vs Initial12Projet Multiplexeur
Conception d'un Mux 2 vers 1Conception d'un Mux 4 vers 115Contrôleur de feux de circulation
Définition des étatsLogique de la machine à états