Menu
Coddy logo textTech

Entiers et Réels

Fait partie de la section Fondamentaux du Journey Verilog de Coddy — leçon 8 sur 90.

En plus de wire et reg, Verilog possède d'autres types de données pour les nombres avec des objectifs différents.

Integer

integer est une variable à usage général pour le comptage et les calculs.

  • La taille par défaut est de 32 bits
  • Signé (peut stocker des nombres négatifs)
  • Utilisé principalement dans les bancs de test et les boucles for

Déclaration d'un entier :

integer i;        // variable signée 32 bits
integer count;    // Peut stocker des nombres négatifs

Utilisation de integer :

integer i;

initial begin
  i = 0;           // Commence à 0
  i = i + 1;       // Incrémente
  i = -5;          // Peut stocker des valeurs négatives
  $display("i = %d", i);  // Affiche : i = -5
end

Réel

real est destiné aux nombres à virgule flottante (nombres avec des décimales).

  • Stocke des valeurs fractionnaires
  • Utilisé dans les testbenches pour les calculs
  • Ne peut pas être synthétisé vers le matériel

Déclaration d'un réel :

real pi;           // Variable à virgule flottante
real voltage;

Utilisation de real :

real pi;

initial begin
  pi = 3.14159;               // Valeur décimale
  pi = 22.0 / 7.0;            // Résultat de la division
  $display("pi = %f", pi);    // Affiche : pi = 3.142857
end

Où les utiliser

Dans les bancs d'essai (testbenches) : Les entiers et les réels sont couramment utilisés pour les compteurs de boucles, les calculs et la vérification des valeurs attendues. Ils rendent le code de test plus facile à écrire et à comprendre.

En matériel : Ces types ne sont généralement pas synthétisables — ce qui signifie qu'ils ne peuvent pas être transformés en circuits réels. Pour le matériel destiné à un FPGA ou à une puce, utilisez plutôt reg et wire.

challenge icon

Défi

Complétez le code pour faire fonctionner le banc d'essai (testbench).

Ce qu'il faut faire :

  1. Déclarez un entier appelé i (pour le compteur de boucle)
  2. Déclarez un réel appelé value (pour le calcul)

Aide-mémoire

integer – variable signée 32 bits pour le comptage/les calculs (bancs d'essai, boucles) :

integer i;
integer count;

initial begin
  i = 0;
  i = i + 1;
  i = -5;  // can store negatives
end

real – variable à virgule flottante pour les valeurs fractionnaires (bancs d'essai uniquement, non synthétisable) :

real pi;

initial begin
  pi = 3.14159;
  pi = 22.0 / 7.0;
  $display("pi = %f", pi);
end

Les deux integer et real sont utilisés uniquement dans les bancs d'essai. Pour le matériel synthétisable, utilisez reg et wire.

Essayez vous-même

module test;
  
  // Déclarer un entier appelé i

  
  // Déclarer un réel appelé value

  
  initial begin
    i = 7;
    value = i * 0.5;
    $display("i = %0d, value = %f", i, value);
    
    $finish;
  end
  
endmodule
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux