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ı kapsamaktadır: XOR (özel VEYA) ve XNOR (özel VEYA DEĞİL). Bu kapılar bitleri karşılaştırmak ve eşlik (parity) denetimi için kullanışlıdır.

XOR Kapısı

XOR kapısı, girişler farklı olduğunda 1 çıktısını verir.

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

about
000
011
101
110

Verilog kapı primiti:

xor(out, a, b);

Sürekli atama eşdeğeri:

assign out = a ^ b;

XNOR Kapısı

XNOR kapısı, girişler aynı olduğunda 1 çıktısını verir. XOR'un tersidir.

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

about
001
010
100
111

Verilog kapı primiti:

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. Çıkış şöyledir:

  • XOR: Girişlerin tek bir adedi 1 ise sonuç 1'dir
  • XNOR: Girişlerin çift bir adedi 1 ise sonuç 1'dir
xor(out, a, b, c);      // 3 girişli XOR
xnor(out, p, q, r, s);  // 4 girişli XNOR

Örnek (3-girişli 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ırınxor(diff, a, b)
İki bitin aynı olup olmadığını karşılaştırınxnor(same, a, b)
Eşlik (Parity) üretimi (tek sayıda 1 olması durumu)xor(parity, data[0], data[1], data[2], data[3])
Eşlik (Parity) kontrolü (çift sayıda 1 olması durumu)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

KapıÇıkışın 1 Olduğu DurumPrimitifOperatör
XORGirişler farklıxor(out, a, b)^
XNORGirişler aynıxnor(out, a, b)~^
challenge icon

Görev

Görevlere bağlı olarak eksik kapı (gate) primitiflerini ekleyin.

Ne yapmalı:

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

Kopya kağıdı

XOR, girişler farklı olduğunda 1 çıktısı verir. XNOR ise girişler aynı olduğunda 1 çıktısı verir.

KapıŞu durumda çıktı 1 olur:PrimitifOperatör
XORGirişler farklı olduğundaxor(out, a, b)^
XNORGirişler aynı olduğundaxnor(out, a, b)~^

Birden fazla giriş için: XOR, tek sayıda giriş 1 olduğunda 1 çıktısı verir; XNOR ise çift sayıda giriş 1 olduğunda 1 çıktısı verir.

xor(out, a, b, c);      // 3-input XOR
xnor(out, p, q, r, s);  // 4-input XNOR

Kendin dene

module xor_xnor_challenge (
  input x,
  input y,
  output xor_result,
  output xnor_result
);
  
  // YAPILACAK: XOR kapısı ekle (xor_result = x ^ y)
  
  // YAPILACAK: 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