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 sabit sayıda çalıştırı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. Kaç `Iteration` yürütüleceğini belirleyen bir sabit veya ifade verirsiniz.
Sözdizimi:
repeat (number) begin
// Tekrarlanacak kod
endBasit Örnek
repeat (5) begin
$display("Hello");
endÇıktı:
Hello
Hello
Hello
Hello
HelloMesaj tam olarak 5 kez yazdırılır.
İfade ile Repeat
integer count = 3;
repeat (count) begin
$display("Looping");
endÇıktı:
Looping
Looping
LoopingRepeat vs For Loop
| For Loop | Repeat Loop | |
|---|---|---|
| Counter variable | Evet (açıkça belirtilmiş) | Hayır |
| When to use | İndeks değerine ihtiyaç duyulduğunda | Sadece tekrara ihtiyaç duyulduğunda |
| Example | for (i=0; i<5; i=i+1) | repeat (5) |
Birden Fazla Saat Döngüsü Üretme
initial begin
clk = 0;
repeat (20) begin
#5 clk = ~clk;
end
endBu işlem 20 saat kenarı (10 tam döngü) üretir.
Önemli Kurallar
| Kural | Açıklama |
|---|---|
number negatif olmamalıdır | Negatif times kadar repeat edilemez |
| Sabit veya ifade kullanılabilir | repeat (10) veya repeat (count) |
| Döngü değişkeni mevcut değildir | Iteration sayısı takip edilemez |
Birden fazla ifade için begin/end kullanın | Birden fazla satır için gereklidir |
Görev
Ne yapılmalı:
"Verilog" metnini 4 kez yazdırmak için eksik repeat döngüsünü ekleyin.
Kendin dene
module repeat_challenge;
initial begin
$display("Printing 4 times:");
// TODO: repeat döngüsü ekle
// 4 kez tekrarla
// İçeride, "Verilog" yazdır
$finish;
end
endmoduleBu 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
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüKarşılaştırma OperatörleriÖzet - Basit MatematikBitsel Operatörler7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND OR NOT KapılarıXOR XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Yapıları
If İfadesiIf - ElseÖzet - Basit KarşılaştırıcıCase İfadesiCasex ve CasezÖzet - ALU Tasarımı5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörÖzet - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüRepeat DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiÖzet - Döngü Kalıpları3Sayı Sistemleri
İkilik GösterimBoyutlandırılmış SayılarBoyutlandırılmamış SayılarNegatif SayılarÖzel Değerler X ve ZÖzet - Sayı Formatları6Modüller
Modül YapısıGiriş ve Çıkış PortlarıInout PortlarıModül Örneklendirmeİsme Göre Port EşlemeSıraya Göre Port EşlemeÖzet - Bir Modül Oluşturun9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiEngelleyici AtamaEngelleyici Olmayan AtamaÖzet - Always vs Initial15Trafik Işığı Kontrolcüsü
Durumları TanımlamaDurum Makinesi Mantığı