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 utiliza uma variável de contador de laço.

Um loop 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.

Repetir 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 de contagemSim (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 número deve ser não negativoNão é possível repetir um número negativo de vezes
Pode usar constante ou expressãorepeat (10) ou repeat (count)
Nenhuma variável de loop disponívelNão é possível rastrear o número da iteração
Use begin/end para múltiplas instruçõesNecessário para mais de uma linha
challenge icon

Desafio

O que fazer:

Adicione o loop repeat ausente para imprimir "Verilog" 4 vezes.

Folha de consulta

O loop repeat executa um bloco de código um número fixo de vezes sem uma variável de contador de loop.

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

Pode usar uma constante ou expressão de variável:

integer count = 3;
repeat (count) begin
  $display("Looping");
end

Caso de uso comum — gerando ciclos de clock:

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

Repeat vs Loop For: Use repeat quando você só precisa de repetição (nenhum índice é necessário); use for quando você precisar do valor do contador de iteração.

Experimente você mesmo

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: Adicionar loop repeat
    // Repetir 4 vezes
    // Dentro, imprimir "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