Menu
Coddy logo textTech

Laço Repeat

Parte da seção Fundamentos do Journey de Verilog da Coddy — lição 60 de 90.

O laço repeat executa um bloco de código um número fixo de vezes. Ao contrário do laço for, ele não usa uma variável de contador de laço.

Um laço repeat executa um número especificado de vezes. Você fornece a ele uma constante ou expressão que determina quantas iterações executar.

Sintaxe:

repeat (number) begin
  // Código para repetir
end

Exemplo Simples

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

Saída:

Hello
Hello
Hello
Hello
Hello

A mensagem é impressa exatamente 5 vezes.

Repeat com uma Expressão

integer count = 3;

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

Saída:

Looping
Looping
Looping

Repeat vs Loop For

 Loop ForLoop Repeat
Variável contadoraSim (explícita)Não
Quando usarPrecisa do valor do índiceApenas precisa de repetição
Exemplofor (i=0; i<5; i=i+1)repeat (5)

Gerando Múltiplos Ciclos de Clock

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

Isso gera 20 bordas de clock (10 ciclos completos).

Regras Importantes

RegraExplicação
O `number` deve ser não negativoNão pode repetir um número negativo de `times`
Pode usar constante ou expressãorepeat (10) ou repeat (count)
Nenhuma variável de `loop` disponívelNão é possível acompanhar o número da `Iteration`
Use begin/end para múltiplas instruçõesNecessário para mais de uma linha
challenge icon

Desafio

O que fazer:

Adicione o laço repeat que falta para imprimir "Verilog" 4 vezes.

Experimente você mesmo

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: Adicione o loop repeat
    // Repita 4 vezes
    // Dentro, imprima "Verilog"
    
    $finish;
  end
endmodule
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos