Menu
CoddyTech

Wiederholungsschleife

Teil des Abschnitts Grundlagen der Verilog-Journey von Coddy. Lektion 60 von 90.

Die repeat-Schleife führt einen Codeblock eine festgelegte Anzahl von Malen aus. Anders als die for-Schleife verwendet sie keine Zählervariable.

Eine repeat-Schleife wird eine festgelegte Anzahl von Malen ausgeführt. Du gibst ihr eine Konstante oder einen Ausdruck, der bestimmt, wie viele Durchläufe ausgeführt werden.

Syntax:

repeat (number) begin
  // Code to repeat
end

Einfaches Beispiel

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

Ausgabe:

Hello
Hello
Hello
Hello
Hello

Die Meldung wird genau 5-mal ausgegeben.

Mit einem Ausdruck wiederholen

integer count = 3;

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

Ausgabe:

Looping
Looping
Looping

Repeat-Schleife vs. For-Schleife

 For-SchleifeRepeat-Schleife
ZählervariableJa (explizit)Nein
Wann verwenden?Wenn ein Indexwert benötigt wirdWenn nur eine Wiederholung benötigt wird
Beispielfor (i=0; i<5; i=i+1)repeat (5)

Mehrere Taktzyklen erzeugen

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

Dadurch werden 20 Taktflanken (10 vollständige Zyklen) erzeugt.

Wichtige Regeln

RegelErklärung
Bei einer Anzahl von 0 oder weniger wird der Schleifenrumpf übersprungenrepeat (-5) wird kompiliert und nullmal ausgeführt
Es kann eine Konstante oder ein Ausdruck verwendet werdenrepeat (10) oder repeat (count)
Es ist keine Schleifenvariable verfügbarDie Nummer der Iteration kann nicht nachverfolgt werden
Verwende begin/end für mehrere AnweisungenBei mehr als einer Zeile erforderlich
challenge icon

Aufgabe

Was zu tun ist:

Füge die fehlende repeat-Schleife hinzu, um "Verilog" 4-mal auszugeben.

Probier es selbst

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: repeat-Schleife hinzufügen
    // 4-mal wiederholen
    // Innerhalb der Schleife "Verilog" ausgeben
    
    $finish;
  end
endmodule
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Verilog-Compiler