Menu
CoddyTech

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 das una constante o una expresión que determina cuántas iteraciones ejecutar.

Sintaxis:

repeat (number) begin
  // Code to repeat
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 el valor del índiceSolo necesitas repetir
Ejemplofor (i=0; i<5; i=i+1)repeat (5)

Generar varios 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
Un recuento de 0 o menos omite el cuerporepeat (-5) se compila y se ejecuta cero veces
Se puede usar una constante o una expresiónrepeat (10) o repeat (count)
No hay ninguna variable de bucle disponibleNo se puede llevar la cuenta del número de iteraciones
Usa begin/end para varias instruccionesEs obligatorio si hay más de una línea
challenge icon

Desafío

Qué hacer:

Agrega 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 un 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