Menu
Coddy logo textTech

While Döngüsü

Coddy'nin Verilog Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 59 / 90.

while döngüsü, bir koşul doğru olduğu sürece bir kod bloğunu tekrarlar. for döngüsünün aksine, yerleşik bir sayacı yoktur. Döngü değişkenini kendiniz güncellemelisiniz.

while döngüsü her yinelemeden önce bir koşulu kontrol eder. Koşul doğruysa döngü çalışır. Yanlışsa döngü durur.

Sözdizimi:

while (condition) begin
  // Tekrarlanacak kod
end

Basit Örnek

integer i = 0;

while (i < 5) begin
  $display("i = %d", i);
  i = i + 1;
end

Çıktı:

i = 0
i = 1
i = 2
i = 3
i = 4

Döngü, i < 5 olduğu sürece çalışır.

While ve For Döngüsü

 For DöngüsüWhile Döngüsü
SayaçDahiliSiz yönetirsiniz
Ne zaman kullanılmalıYineleme sayısı biliniyorsaDöngünün ne zaman duracağı bilinmiyorsa
Sözdizimifor (i=0; i<5; i=i+1)while (i < 5)

Testbench'lerde While Döngüsü

While döngüleri, kaç yinelemeye ihtiyacınız olduğunu tam olarak bilmediğinizde kullanışlıdır:

integer i = 0;

while (i < 16) begin
  $display("Testing value %d", i);
  i = i + 1;
end

Belirli Bir Değeri Bulma

integer i = 0;
reg [7:0] data;

while (data[i] != 1) begin
  i = i + 1;
end
$display("First 1 found at position %d", i);

Önemli Kurallar

KuralAçıklama
Koşul false olmalıdırAksi takdirde sonsuz döngü oluşur
Döngü değişkenini içeride güncelleyinYoksa döngü hiç sona ermez
Döngü değişkeni integer veya reg olmalıdırwire olamaz
Birden çok ifade için begin/end kullanınBirden fazla satır için gereklidir
challenge icon

Görev

Yapılacaklar:

0'dan 2'ye kadar olan sayıları yazdırmak için eksik while döngüsünü ekleyin.

Kendin dene

module while_challenge;
  integer i;
  
  initial begin
    i = 0;
    $display("Printing 0 to 2:");
    
    // TODO: while döngüsü ekle
    // i < 3 iken döngü yap
    // İçeride, i'yi yazdır
    // i'yi 1 artı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.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi