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 des 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 d'essai et les boucles for

Déclaration d'un integer :

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 négatifs
  $display("i = %d", i);  // Affiche : i = -5
end

Real

real est utilisé pour les nombres à virgule flottante (nombres avec des décimales).

  • Stocke des valeurs fractionnaires
  • Utilisé dans les bancs de test pour les calculs
  • Ne peut pas être synthétisé en matériel

Déclaration d'un real :

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

Utiliser 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 de test (testbenches) : Les types integer et real 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 testbench.

Ce qu'il faut faire :

  1. Déclarez un integer nommé i (pour le compteur de boucle)
  2. Déclarez un real nommé value (pour le calcul)

Essayez vous-même

module test;
  
  // Déclare un integer appelé i

  
  // Déclare un real 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