Menu
Coddy logo textTech

Boucle While

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

La boucle while répète un bloc de code tant qu'une condition est vraie. Contrairement à la boucle for, elle ne possède pas de compteur intégré — vous devez mettre à jour la variable de boucle vous-même.

Une boucle while vérifie une condition avant chaque exécution. Si la condition est vraie, la boucle s'exécute. Si elle est fausse, la boucle s'arrête.

Syntaxe :

while (condition) begin
  // Code à répéter
end

Exemple simple

integer i = 0;

while (i < 5) begin
  $display("i = %d", i);
  i = i + 1;
end

Sortie :

i = 0
i = 1
i = 2
i = 3
i = 4

La boucle s'exécute tant que i < 5.

Boucle While vs Boucle For

 Boucle ForBoucle While
CompteurIntégréVous le gérez
Quand l'utiliserNombre d'itérations connuInconnu quand la boucle s'arrêtera
Sintaxefor (i=0; i<5; i=i+1)while (i < 5)

Boucle While dans les Testbenches

Les boucles while sont utiles lorsque vous ne savez pas exactement de combien d'itérations vous avez besoin :

integer i = 0;

while (i < 16) begin
  $display("Testing value %d", i);
  i = i + 1;
end

Finding a Specific Value

integer i = 0;
reg [7:0] data;

while (data[i] != 1) begin
  i = i + 1;
end
$display("First 1 found at position %d", i);

Règles importantes

RègleExplication
La condition doit devenir fausseSinon, la boucle est infinie
Mettre à jour la variable de loop à l'intérieur (Inside)Sinon, la boucle ne s'arrête jamais
La variable de loop doit être un integer ou un regNe peut pas être un wire
Utiliser begin/end pour les instructions multiplesRequis pour plus d'une ligne
challenge icon

Défi

Que faire :

Ajoutez la boucle while manquante pour afficher les nombres de 0 à 2.

Essayez vous-même

module while_challenge;
  integer i;
  
  initial begin
    i = 0;
    $display("Printing 0 to 2:");
    
    // TODO: Ajouter une boucle while
    // Boucler tant que i < 3
    // À l'intérieur, afficher i
    // Incrémenter i de 1
    
    $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