Menu
Coddy logo textTech

Boucle Répéter

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

La boucle repeat exécute un bloc de code un nombre fixe de fois. Contrairement à la boucle for, elle n'utilise pas de variable de compteur de boucle.

Une boucle repeat s'exécute un nombre de fois spécifié. Vous lui donnez une constante ou une expression qui détermine le nombre d'itérations à exécuter.

Syntaxe :

repeat (number) begin
  // Code à répéter
end

Exemple simple

repeat (5) begin
  $display("Hello");
end

Sortie :

Hello
Hello
Hello
Hello
Hello

Le message s'affiche exactement 5 fois.

Répéter avec une expression

integer count = 3;

repeat (count) begin
  $display("Looping");
end

Sortie :

Looping
Looping
Looping

Boucle Repeat vs Boucle For

 Boucle ForBoucle Repeat
Variable de compteurOui (explicite)Non
Quand l'utiliserBesoin de la valeur de l'indexBesoin seulement de répétition
Exemplefor (i=0; i<5; i=i+1)repeat (5)

Génération de plusieurs cycles d'horloge

initial begin
  clk = 0;
  repeat (20) begin
    #5 clk = ~clk;
  end
end

Ceci génère 20 fronts d'horloge (10 cycles complets).

Règles importantes

RègleExplication
Le nombre doit être non négatifImpossible de répéter un nombre négatif de fois
Peut utiliser une constante ou une expressionrepeat (10) ou repeat (count)
Aucune variable de boucle disponibleImpossible de suivre le numéro d'itération
Utilisez begin/end pour plusieurs instructionsRequis pour plus d'une ligne
challenge icon

Défi

Ce qu'il faut faire :

Ajoutez la boucle repeat manquante pour afficher "Verilog" 4 fois.

Aide-mémoire

La boucle repeat exécute un bloc de code un nombre fixe de fois sans variable de compteur de boucle.

repeat (number) begin
  // Code à répéter
end

Peut utiliser une constante ou une expression variable :

integer count = 3;
repeat (count) begin
  $display("Looping");
end

Cas d'utilisation courant — génération de cycles d'horloge :

repeat (20) begin
  #5 clk = ~clk;
end

Repeat vs Boucle For : Utilisez repeat lorsque vous avez seulement besoin de répétition (aucun index n'est nécessaire) ; utilisez for lorsque vous avez besoin de la valeur du compteur d'itérations.

Essayez vous-même

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // À FAIRE : Ajouter une boucle repeat
    // Répéter 4 fois
    // À l'intérieur, afficher "Verilog"
    
    $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