Menu
Coddy logo textTech

Repeat Döngüsü

Coddy'nin Verilog Journey'sinin Temeller bölümünün bir parçası — ders 60 / 90.

repeat döngüsü, bir kod bloğunu belirli sayıda yürütür. for döngüsünün aksine, bir döngü sayacı değişkeni kullanmaz.

Bir repeat döngüsü, belirtilen sayıda çalışır. Ona kaç iterasyonun yürütüleceğini belirleyen bir sabit veya ifade verirsiniz.

Sözdizimi:

repeat (number) begin
  // Tekrarlanacak kod
end

Basit Örnek

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

Çıktı:

Hello
Hello
Hello
Hello
Hello

Mesaj tam olarak 5 kez yazdırılır.

Bir İfade ile Tekrarlama

integer count = 3;

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

Çıktı:

Looping
Looping
Looping

Repeat vs For Döngüsü

 For DöngüsüRepeat Döngüsü
Sayaç değişkeniEvet (açıkça belirtilen)Hayır
Ne zaman kullanılırİndeks değerine ihtiyaç duyulduğundaSadece tekrarlama gerektiğinde
Örnekfor (i=0; i<5; i=i+1)repeat (5)

Birden Fazla Saat Döngüsü Oluşturma

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

Bu, 20 saat kenarı (10 tam döngü) oluşturur.

Önemli Kurallar

KuralAçıklama
Sayı negatif olmamalıdırNegatif sayıda tekrar yapılamaz
Sabit veya ifade kullanılabilirrepeat (10) veya repeat (count)
Döngü değişkeni mevcut değilYineleme sayısı takip edilemez
Birden fazla ifade için begin/end kullanınBirden fazla satır için gereklidir
challenge icon

Görev

Yapılacaklar:

"Verilog" ifadesini 4 kez yazdırmak için eksik olan repeat döngüsünü ekleyin.

Kopya kağıdı

repeat döngüsü, bir kod bloğunu bir döngü sayacı değişkeni olmadan belirli bir sayıda çalıştırır.

repeat (number) begin
  // Tekrarlanacak kod
end

Sabit veya değişken bir ifade kullanabilir:

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

Yaygın kullanım durumu — saat döngüleri (clock cycles) oluşturma:

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

Repeat vs For Döngüsü: Sadece tekrara ihtiyacınız olduğunda (indeks gerekmediğinde) repeat kullanın; yineleme sayacı değerine ihtiyacınız olduğunda for kullanın.

Kendin dene

module repeat_challenge;
  
  initial begin
    $display("Printing 4 times:");
    
    // YAPILACAK: Tekrar döngüsü ekle
    // 4 kez tekrarla
    // İçinde, "Verilog" yazdır
    
    $finish;
  end
endmodule
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler