Laço Repeat
Parte da seção Fundamentos do Journey de Verilog da Coddy. Lição 60 de 90.
O loop repeat executa um bloco de código um número fixo de vezes. Diferentemente do loop for, ele não usa uma variável contadora do loop.
Um loop repeat é executado 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
endExemplo simples
repeat (5) begin
$display("Hello");
endSaída:
Hello
Hello
Hello
Hello
HelloA mensagem é exibida exatamente 5 vezes.
Repetir com uma expressão
integer count = 3;
repeat (count) begin
$display("Looping");
endSaída:
Looping
Looping
LoopingRepeat vs Loop For
| Loop For | Loop Repeat | |
|---|---|---|
| Variável de contagem | Sim (explícita) | Não |
| Quando usar | Precisa do valor do índice | Precisa apenas de repetição |
| Exemplo | for (i=0; i<5; i=i+1) | repeat (5) |
Gerando vários ciclos de clock
initial begin
clk = 0;
repeat (20) begin
#5 clk = ~clk;
end
endIsso gera 20 bordas de clock (10 ciclos completos).
Regras importantes
| Regra | Explicação |
|---|---|
| O número deve ser não negativo | Não é possível repetir vezes negativas |
| É possível usar uma constante ou expressão | repeat (10) ou repeat (count) |
| Nenhuma variável de loop disponível | Não é possível acompanhar o número da iteração |
Use begin/end para várias instruções | Necessário para mais de uma linha |
Desafio
O que fazer:
Adicione o loop repeat ausente 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
endmoduleEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
1Introdução
O que é VerilogHardware vs. SoftwareSeu primeiro móduloComentáriosNíveis de abstração de projeto4Operadores Parte 1
Operadores aritméticosOperador móduloOperadores de comparaçãoRecapitulação - Matemática simplesOperadores bit a bit7Atribuições e Portas
Atribuição ContínuaAtribuição com OperadoresPrimitivas de Portas IntegradasPortas AND, OR e NOTPortas XOR e XNORRecapitulação - Circuito de Portas Lógicas10Tomada de Decisões
Declaração IfIf - ElseRevisão - Comparador SimplesDeclaração CaseCasex e CasezRevisão - Projeto de ALU2Tipos de Dados
Tipo WireTipo RegInteiro e RealVetoresArraysParâmetrosRecapitulação - Declarar Sinais5Operadores - Parte 2
Operadores lógicosOperadores de reduçãoOperadores de deslocamentoOperador de concatenaçãoOperador condicionalRevisão - Desafio de operadores3Sistema Numérico
Representação BináriaNúmeros com Tamanho DefinidoNúmeros sem Tamanho DefinidoNúmeros NegativosValores Especiais X e ZRevisão - Formatos Numéricos6Módulos
Estrutura de MódulosPortas de Entrada e SaídaPortas InoutInstanciação de MódulosMapeamento de Portas por NomeMapeamento de Portas por OrdemRecapitulação — Construindo um MóduloPratique por conta própria: Compilador de Verilog online