Menu
CoddyTech

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 kod bloğunu bir koşul doğru olduğu sürece tekrarlar. for döngüsünün aksine, yerleşik bir sayacı yoktur. Döngü değişkenini kendin güncellemelisin.

Bir 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 döngüsü ve For döngüsü

 For döngüsüWhile döngüsü
SayaçDahiliSen yönetirsin
Ne zaman kullanılırYineleme sayısı biliniyorsaDöngünün ne zaman duracağı bilinmiyorsa
Sözdizimifor (i=0; i<5; i=i+1)while (i < 5)

Test düzeneklerinde while döngüsü

While döngüleri, tam olarak kaç yinelemeye ihtiyaç duyacağınızı 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 hâlde sonsuz döngü oluşur
Döngü değişkenini içeride güncelleyinYoksa döngü hiç bitmez
Döngü değişkeni integer veya reg olmalıdırwire olamaz
Birden fazla 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ü ekle.

Kendin dene

module while_challenge;
  integer i;
  
  initial begin
    i = 0;
    $display("Printing 0 to 2:");
    
    // TODO: while döngüsü ekle
    // i < 3 olduğu sürece döngüyü sürdür
    // Döngünün içinde i değerini yazdır
    // i değerini 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