Menu
Coddy logo textTech

Bucle de repetición

Parte de la sección Fundamentos del Journey de Verilog de Coddy. Lección 60 de 90.

El bucle repeat ejecuta un bloque de código un número fijo de veces. A diferencia del bucle for, no utiliza una variable contadora del bucle.

Un bucle repeat se ejecuta un número determinado de veces. Le proporcionas una constante o expresión que determina cuántas iteraciones ejecutar.

Sintaxis:

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

Ejemplo sencillo

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

Salida:

Hello
Hello
Hello
Hello
Hello

El mensaje se imprime exactamente 5 veces.

Repetir con una expresión

integer count = 3;

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

Salida:

Looping
Looping
Looping

Repetición frente a bucle For

 Bucle ForBucle Repeat
Variable contadorSí (explícita)No
Cuándo usarloNecesitas un valor de índiceSolo necesitas repetir
Ejemplofor (i=0; i<5; i=i+1)repeat (5)

Generación de múltiples ciclos de reloj

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

Esto genera 20 flancos de reloj (10 ciclos completos).

Reglas importantes

ReglaExplicación
El número debe ser no negativoNo se puede repetir un número de veces negativo
Se puede usar una constante o una expresiónrepeat (10) o repeat (count)
No hay ninguna variable de bucle disponibleNo se puede llevar un registro del número de iteración
Usa begin/end para varias instruccionesEs necesario para más de una línea
challenge icon

Desafío

Qué hacer:

Add el bucle repeat que falta para imprimir "Verilog" 4 veces.

Pruébalo tú mismo

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: Añade bucle repeat
    // Repite 4 veces
    // Dentro, imprime "Verilog"
    
    $finish;
  end
endmodule
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Verilog online