Tekrar Döngüsü
Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 60 / 90.
repeat döngüsü, bir kod bloğunu sabit sayıda kez çalıştırır. for döngüsünün aksine, bir döngü sayacı değişkeni kullanmaz.
repeat döngüsü belirli bir sayıda çalışır. Ona, kaç yineleme gerçekleştirileceğini belirleyen bir sabit veya ifade verirsin.
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.
Bir İfadeyle Tekrarla
integer count = 3;
repeat (count) begin
$display("Looping");
endÇıktı:
Looping
Looping
LoopingRepeat ve For Döngüsü
| For Döngüsü | Repeat Döngüsü | |
|---|---|---|
| Sayaç değişkeni | Evet (açıkça belirtilmiş) | Hayır |
| Ne zaman kullanılır | Dizin değerine ihtiyaç duyulduğunda | Yalnızca tekrara ihtiyaç duyulduğunda |
| Örnek | for (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
endBu, 20 saat kenarı (10 tam döngü) üretir.
Önemli Kurallar
| Kural | Açıklama |
|---|---|
| Sayı negatif olmayan bir değer olmalıdır | Negatif sayıda tekrar yapılamaz |
| Sabit veya ifade kullanılabilir | repeat (10) veya repeat (count) |
| Döngü değişkeni kullanılamaz | Yineleme numarası izlenemez |
Birden fazla ifade için begin/end kullanın | Birden fazla satır için gereklidir |
Görev
Yapılacaklar:
"Verilog" ifadesini 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.
Temel Bilgiler bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod Alma OperatörüKarşılaştırma OperatörleriTekrar - Basit MatematikBit Düzeyi Operatörleri7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND, OR ve NOT KapılarıXOR ve XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Verme
If İfadesiIf - ElseTekrar - Basit KarşılaştırıcıCase İfadesiCasex ve CasezTekrar - ALU Tasarımı2Veri Türleri
Wire TürüReg TürüTamsayı ve GerçelVektörlerDizilerParametrelerÖzet - Sinyalleri Tanımlama5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörTekrar - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüTekrar DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiTekrar - Döngü Kalıpları3Sayı Sistemi
İkili GösterimBoyutlu SayılarBoyutsuz SayılarNegatif SayılarÖzel X ve Z DeğerleriTekrar - Sayı Biçimleri6Modüller
Modül YapısıGiriş ve Çıkış PortlarıÇift Yönlü PortlarModül ÖrneklendirmeAda Göre Port EşlemeSıraya Göre Port EşlemeTekrar - Bir Modül Oluşturma9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiBloklayıcı AtamaBloklamayan AtamaTekrar - Always ve Initial Karşılaştırması15Trafik Işığı Denetleyicisi
Durumları TanımlamaDurum Makinesi MantığıKendi başına pratik yap: Online Verilog derleyicisi