Menu
Coddy logo textTech

Ciclo Repeat

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

Il ciclo repeat esegue un blocco di codice un numero fisso di volte. A differenza del ciclo for, non usa una variabile contatore del ciclo.

Un ciclo repeat viene eseguito un numero specificato di volte. Gli indichi una costante o un'espressione che determina quante iterazioni eseguire.

Sintassi:

repeat (number) begin
  // Code to repeat
end

Esempio semplice

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

Output:

Hello
Hello
Hello
Hello
Hello

Il messaggio viene stampato esattamente 5 volte.

Ripeti con un'espressione

integer count = 3;

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

Output:

Looping
Looping
Looping

Ciclo repeat vs ciclo for

 Ciclo forCiclo repeat
Variabile contatoreSì (esplicita)No
Quando usarloServe il valore dell'indiceServe solo ripetere
Esempiofor (i=0; i<5; i=i+1)repeat (5)

Generare più cicli di clock

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

Questo genera 20 fronti di clock (10 cicli completi).

Regole importanti

RegolaSpiegazione
Il numero deve essere non negativoNon è possibile ripetere un numero negativo di volte
È possibile usare una costante o un'espressionerepeat (10) oppure repeat (count)
Non è disponibile una variabile di cicloNon è possibile tenere traccia del numero di iterazioni
Usa begin/end per più istruzioniÈ necessario per più di una riga
challenge icon

Sfida

Cosa fare:

Aggiungi il ciclo repeat mancante per stampare "Verilog" 4 volte.

Provalo tu

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: Aggiungi un ciclo repeat
    // Ripeti 4 volte
    // All'interno, stampa "Verilog"
    
    $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