Format

Verilog est sensible à la casse.

Le format est libre ; il peut être écrit sur une seule ligne ou sur plusieurs lignes.

Chaque instruction doit se terminer par un point-virgule. Les espaces blancs (sauts de ligne, tabulations, espaces) n'ont pas de signification réelle et peuvent être ignorés lors de la compilation. Par exemple, les deux styles de programmation suivants sont équivalents.

Aucun saut de ligne (non recommandé)

Exemple

wire [1:0]  results ;assign results = (a == 1'b0) ? 2'b01 : (b==1'b0) ? 2'b10 : 2'b11 ;

Sauts de ligne (recommandé)

Exemple

wire [1:0]  results ;
assign      results = (a == 1'b0) ? 2'b01 :
            (b==1'b0) ? 2'b10 :
                2'b11 ;

Commentaires

Il existe 2 façons d'écrire des commentaires en Verilog :

utilisez//Pour les commentaires sur une ligne :

reg [3:0] counter ;  // A definition of counter register
utilisez/*et*/Pour les commentaires sur plusieurs lignes :
wire [11:0]  addr ;
/* 
Next are notes with multiple lines.
Codes here cannot be compiled.
*/
assign   addr = 12'b0 ;

Identifiants et mots-clés

Un identifiant peut être n'importe quel ensemble de lettres, de chiffres, de$symboles, et_une combinaison de symboles de soulignement.

De plus, les identifiants sont sensibles à la casse.

Les mots-clés sont des identifiants spéciaux réservés en Verilog pour définir des constructions du langage.

Tous les mots-clés en Verilog sont en minuscules.

Exemple

reg [3:0] counter ; //reg est un mot-clé, counter est un identifiant
input clk; //input est un mot-clé, clk est un identifiant
input CLK; //CLK et clk sont 2 identifiants différents