Menu
Coddy logo textTech

Bucle Repeat

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 de contador de bucle.

Un bucle repeat se ejecuta un número especificado 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

Resultado:

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

Bucle Repeat vs Bucle For

 Bucle ForBucle Repeat
Variable de contadorSí (explícito)No
Cuándo usarloNecesita el valor del índiceSolo necesita repetición
Ejemplofor (i=0; i<5; i=i+1)repeat (5)

Generando 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 negativo de veces
Se puede usar una constante o expresiónrepeat (10) o repeat (count)
No hay variable de bucle disponibleNo se puede rastrear el número de iteración
Use begin/end para múltiples sentenciasRequerido para más de una línea
challenge icon

Desafío

Qué hacer:

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

Hoja de referencia

El bucle repeat ejecuta un bloque de código un número fijo de veces sin una variable de contador de bucle.

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

Puede utilizar una expresión constante o variable:

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

Caso de uso común — generar ciclos de reloj:

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

Repeat vs For Loop: Utilice repeat cuando solo necesite repetición (no se necesita índice); utilice for cuando necesite el valor del contador de iteración.

Pruébalo tú mismo

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // TODO: Agregar bucle repeat
    // Repetir 4 veces
    // Adentro, imprimir "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