Menu
Coddy logo textTech

Pętla while

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

Pętla while powtarza blok kodu dopóki 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ę zakończy
Składniafor (i=0; i<5; i=i+1)while (i < 5)

Pętla while w stanowiskach 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
Zmienną pętli aktualizuj 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
W przypadku wielu instrukcji użyj begin/endWymagane przy więcej niż jednym wierszu
challenge icon

Wyzwanie

Co należy zrobić:

Dodaj brakującą pętlę while, aby wyświetlić 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
    // Powtarzaj pętlę, dopóki i < 3
    // Wewnątrz pętli 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