Menu
Coddy logo textTech

If - Else

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

if-else ifadesi, bir koşula göre iki farklı eylem arasından seçim yapmanı sağlar. Koşul doğruysa bir blok yürütülür. Yanlışsa diğer blok yürütülür.

if-else ifadesi koduna bir karar noktası sağlar: koşul doğruysa bir şey yap, koşul yanlışsa başka bir şey yap.

Sözdizimi:

if (condition) begin
  // condition true (1) olduğunda çalışır
end else begin
  // condition false (0) olduğunda çalışır
end

Basit Örnek

if (reset) begin
  count = 0;
end else begin
  count = count + 1;
end
  • reset 1 ise → count 0 olur
  • reset 0 ise → count 1 artar

Birden Çok İfade

Birden fazla statement olduğunda begin ve end kullanın:

if (enable) begin
  out = data_in;
  valid = 1;
end else begin
  out = 0;
  valid = 0;
end

Birden Çok Koşullu If-Else

if-else ifadelerini zincirleyebilirsin:

if (a > b) begin
  max = a;
end else if (b > a) begin
  max = b;
end else begin
  max = a;  // a ve b eşittir
end

Önemli Kurallar

KuralAçıklama
else isteğe bağlıdırelse olmadan if kullanabilirsin
else en yakın if ifadesine aittirİç içe kullanımlara dikkat et
Birden fazla ifade için begin/end kullanBirden fazla satır için gereklidir
challenge icon

Görev

Yapılacaklar:

  1. Eksik if-else ifadesini ekleyerek bunun çalışmasını sağlayın.
  2. enable 1 olduğunda, out a & b değerine eşit olmalıdır.
  3. enable 0 olduğunda, out a | b değerine eşit olmalıdır.

Kendin dene

module ifelse_challenge;
  reg a, b, enable;
  reg out;
  
  initial begin
    a = 1;
    b = 0;
    enable = 1;
    
    // TODO: if-else ifadesi ekle
    // Eğer enable 1 ise: out = a & b
    // Aksi halde: out = a | b
    
    $display("out = %d (should be 0 because 1&0=0)", out);
    $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.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi