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ünden farklı olarak, bir döngü sayacı değişkeni kullanmaz.
repeat döngüsü belirli sayıda çalışır. Ona, kaç yineleme gerçekleştireceğini belirleyen bir sabit veya ifade verirsin.
Sözdizimi:
repeat (number) begin
// Code to repeat
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 Döngüsü ve For Döngüsü
| For Döngüsü | Repeat Döngüsü | |
|---|---|---|
| Sayaç değişkeni | Evet (açıkça belirtilir) | Hayır |
| Ne zaman kullanılır | İndeks 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 |
|---|---|
| 0 veya daha küçük bir sayı, gövdenin atlanmasına neden olur | repeat (-5) derlenir ve sıfır kez çalışır |
| Sabit veya ifade kullanılabilir | repeat (10) veya repeat (count) |
| Döngü değişkeni yoktur | Yineleme numarası izlenemez |
Birden fazla ifade için begin/end kullanın | Birden fazla satır için gereklidir |
Görev
Ne yapmalısın:
"Verilog" ifadesini 4 kez yazdırmak için eksik repeat döngüsünü ekle.
Kendin dene
module repeat_challenge;
initial begin
$display("Printing 4 times:");
// TODO: repeat döngüsü ekle
// 4 kez tekrarla
// Döngünün içinde "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