Menu
CoddyTech

Pętla while

Część sekcji Podstawy ścieżki Verilog w Coddy. Lekcja 59 z 90.

Pętla while powtarza blok kodu tak długo, jak warunek jest prawdziwy. W przeciwieństwie do pętli for nie ma wbudowanego licznika. Musisz samodzielnie aktualizować zmienną pętli.

Pętla while sprawdza warunek przed każdą iteracją. Jeśli warunek jest prawdziwy, pętla wykonuje się. Jeśli jest fałszywy, pętla się zatrzymuje.

Składnia:

while (condition) begin
  // Kod do powtarzania
end

Prosty przykład

integer i = 0;

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

Wynik:

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

Pętla działa tak długo, jak i < 5.

Pętla while a pętla for

 Pętla forPętla while
LicznikWbudowanyZarządzasz nim samodzielnie
Kiedy używaćZnana liczba iteracjiNie wiadomo, kiedy pętla się zatrzyma
Składniafor (i=0; i<5; i=i+1)while (i < 5)

Pętla while w ławkach testowych

Pętle while są przydatne, gdy nie wiesz dokładnie, ile iteracji potrzebujesz:

integer i = 0;

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

Znajdowanie konkretnej wartości

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

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

Ważne zasady

ZasadaWyjaśnienie
Warunek musi stać się fałszywyW przeciwnym razie powstanie nieskończona pętla
Zaktualizuj zmienną pętli wewnątrzW przeciwnym razie pętla nigdy się nie zakończy
Zmienna pętli musi być typu integer lub regNie może być typu wire
Użyj begin/end dla wielu instrukcjiWymagane przy więcej niż jednym wierszu
challenge icon

Wyzwanie

Co należy zrobić:

Dodaj brakującą pętlę while, aby wypisać liczby od 0 do 2.

Spróbuj swoich sił

module while_challenge;
  integer i;
  
  initial begin
    i = 0;
    $display("Printing 0 to 2:");
    
    // TODO: Dodaj pętlę while
    // Wykonuj pętlę, dopóki i < 3
    // Wewnątrz wypisz i
    // Zwiększ i o 1
    
    $finish;
  end
endmodule
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Verilog online