Menu
Coddy logo textTech

XOR XNOR Kapıları

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

Bu ders iki ek mantık kapısını kapsar: XOR (özel OR) ve XNOR (özel NOR). Bu kapılar bitleri karşılaştırmak ve eşitlik (parity) denetimi yapmak için kullanışlıdır.

XOR Gate

XOR kapısı, girintiler farklı olduğunda 1 çıktısını verir.

Doğruluk Tablosu (2-girişli):

about
000
011
101
110

Verilog kapı ilkeseli (gate primitive):

xor(out, a, b);

Sürekli atama eşdeğeri:

assign out = a ^ b;

XNOR Gate

XNOR kapısı, `input` değerleri `same` olduğunda 1 `output` değerini verir. XOR kapaısının tersidir.

Doğruluk Tablosu (2 girdili):

about
001
010
100
111

Verilog kapı ilkel öğesi (gate primitive):

xnor(out, a, b);

Sürekli atama eşdeğeri:

assign out = a ~^ b;   // veya ~(a ^ b)

Çoklu Girişler

XOR ve XNOR kapıları 2'den fazla girişe sahip olabilir. Çıktı şu şekildedir:

  • XOR: Girişlerin tek sayıda olanı 1 ise 1
  • XNOR: Girişlerin çift sayıda olanı 1 ise 1
xor(out, a, b, c);      // 3 girişli XOR
xnor(out, p, q, r, s);  // 4 girişli XNOR

Örnek (3-input XOR):

abcout
0000
0011
0101
0110
1001
1010
1100
1111

Yaygın Kullanımlar

KullanımÖrnek
İki bitin farklı olup olmadığını karşılaştırmaxor(diff, a, b)
İki bitin aynı olup olmadığını karşılaştırmaxnor(same, a, b)
Eşlik biti üretme (tek sayıda 1)xor(parity, data[0], data[1], data[2], data[3])
Eşlik biti kontrolü (çift sayıda 1)xnor(parity, data[0], data[1], data[2], data[3])

Kod Örneği

module xor_xnor_demo (
  input a, b,
  output xor_out,
  output xnor_out
);
  xor(xor_out, a, b);
  xnor(xnor_out, a, b);
endmodule

Özet Tablosu

GateÇıkış 1 olma koşuluPrimitiveOperatör
XORGirdiler farklı olduğundaxor(out, a, b)^
XNORGirdiler same olduğundaxnor(out, a, b)~^
challenge icon

Görev

Görevlere göre eksik kapı ilkelini (primitive) ekleyin.

Yapılacaklar:

  1. Çıkışı xor_result ve girdileri x ile y olan bir XOR kapısı oluşturun
  2. Çıkışı xnor_result ve girdileri x ile y olan bir XNOR kapısı oluşturun

Kendin dene

module xor_xnor_challenge (
  input x,
  input y,
  output xor_result,
  output xnor_result
);
  
  // TODO: XOR kapısı ekle (xor_result = x ^ y)
  
  // TODO: XNOR kapısı ekle (xnor_result = x ~^ y)

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