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 statement, bir condition'a bağlı olarak iki farklı eylem arasında seçim yapmanıza olanak tanır. condition true ise bir blok çalışır. False ise diğer blok çalışır.

if-else deyimi kodunuza bir karar noktası kazandırır: condition doğruysa bir şey yapın, condition yanlışsa başka bir şey yapın.

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

Çoklu İfadeler

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

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

Çoklu Koşullarla If-Else

if-else ifadelerini zincirleme bağlayabilirsiniz:

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 da if kullanabilirsiniz
else en yakındaki if ifadesine aittirİç içe kullanımlara dikkat edin
Birden fazla statement için begin/end kullanınBirden fazla satır için gereklidir
challenge icon

Görev

Ne yapılmalı:

  1. Bunun çalışmasını sağlamak için eksik if-else ifadesini ekleyin.
  2. enable 1 olduğunda, out ifadesi a & b değerine equal olmalıdır.
  3. enable 0 olduğunda, out ifadesi a | b değerine equal 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
    // Değilse: 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