Menu
CoddyTech

While-Schleife

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

Die while-Schleife wiederholt einen Codeblock, solange eine Bedingung wahr ist. Anders als die for-Schleife hat sie keinen eingebauten Zähler. Du musst die Schleifenvariable selbst aktualisieren.

Eine while-Schleife überprüft vor jedem Durchlauf eine Bedingung. Ist die Bedingung wahr, wird die Schleife ausgeführt. Ist sie falsch, wird die Schleife beendet.

Syntax:

while (condition) begin
  // Zu wiederholender Code
end

Einfaches Beispiel

integer i = 0;

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

Ausgabe:

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

Die Schleife läuft, solange i < 5.

While- und For-Schleife

 For-SchleifeWhile-Schleife
ZählerIntegriertDu verwaltest ihn
Wann verwenden?Bekannte Anzahl von DurchläufenUnbekannt, wann die Schleife endet
Syntaxfor (i=0; i<5; i=i+1)while (i < 5)

While-Schleife in Testumgebungen

While-Schleifen sind nützlich, wenn du nicht genau weißt, wie viele Iterationen du benötigst:

integer i = 0;

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

Einen bestimmten Wert finden

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

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

Wichtige Regeln

RegelErklärung
Bedingung muss false werdenAndernfalls entsteht eine Endlosschleife
Schleifenvariable innerhalb der Schleife aktualisierenSonst endet die Schleife nie
Schleifenvariable muss integer oder reg seinSie kann nicht wire sein
Für mehrere Anweisungen begin/end verwendenBei mehr als einer Zeile erforderlich
challenge icon

Aufgabe

Was zu tun ist:

Füge die fehlende while-Schleife hinzu, um die Zahlen von 0 bis 2 auszugeben.

Probier es selbst

module while_challenge;
  integer i;
  
  initial begin
    i = 0;
    $display("Printing 0 to 2:");
    
    // TODO: while-Schleife hinzufügen
    // Schleife ausführen, solange i < 3
    // Innerhalb der Schleife i ausgeben
    // i um 1 erhöhen
    
    $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