Menu
Coddy logo textTech

Ciclo While

Fa parte della sezione Fondamenti del percorso Verilog di Coddy. Lezione 59 di 90.

Il ciclo while ripete un blocco di codice finché una condizione è vera. A differenza del ciclo for, non ha un contatore integrato. Devi aggiornare tu la variabile del ciclo.

Un ciclo while verifica una condizione prima di ogni iterazione. Se la condizione è vera, il ciclo viene eseguito. Se è falsa, il ciclo si interrompe.

Sintassi:

while (condition) begin
  // Codice da ripetere
end

Esempio semplice

integer i = 0;

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

Output:

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

Il ciclo viene eseguito finché i < 5.

Ciclo while vs ciclo for

 Ciclo forCiclo while
ContatoreIntegratoLo gestisci tu
Quando usarloNumero di iterazioni notoNon si sa quando terminerà il ciclo
Sintassifor (i=0; i<5; i=i+1)while (i < 5)

Ciclo while nei banchi di prova

I cicli while sono utili quando non sai esattamente quante iterazioni ti servono:

integer i = 0;

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

Trovare un valore specifico

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

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

Regole importanti

RegolaSpiegazione
La condizione deve diventare falsaAltrimenti si verifica un ciclo infinito
Aggiorna la variabile del ciclo all'internoAltrimenti il ciclo non termina mai
La variabile del ciclo deve essere integer o regNon può essere wire
Usa begin/end per più istruzioniNecessario per più di una riga
challenge icon

Sfida

Cosa fare:

Aggiungi il ciclo while mancante per stampare i numeri da 0 a 2.

Provalo tu

module while_challenge;
  integer i;
  
  initial begin
    i = 0;
    $display("Printing 0 to 2:");
    
    // TODO: Aggiungi un ciclo while
    // Ripeti il ciclo finché i < 3
    // All'interno, stampa i
    // Incrementa i di 1
    
    $finish;
  end
endmodule
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Verilog online