Menu
Coddy logo textTech

XOR ve XNOR Kapıları

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

Bu derste iki ek mantık kapısı ele alınmaktadır: XOR (özel VEYA) ve XNOR (özel DEĞİL-VEYA). Bu kapılar bitleri karşılaştırmak ve parite denetimi yapmak için kullanışlıdır.

XOR Kapısı

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

Doğruluk Tablosu (2 girişli):

about
000
011
101
110

Verilog kapı ilkel öğesi:

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ı verir. XOR'un tersidir.

Doğruluk Tablosu (2 girişli):

about
001
010
100
111

Verilog kapı ilkel elemanı:

xnor(out, a, b);

Sürekli atama eşdeğeri:

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

Birden Çok Girdi

XOR ve XNOR kapılarının 2’den fazla girdisi olabilir. Çıktı:

  • XOR: Girdilerin tek sayıda 1 olması durumunda 1
  • XNOR: Girdilerin çift sayıda 1 olması durumunda 1
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ırmaxor(diff, a, b)
İki bitin aynı olup olmadığını karşılaştırmaxnor(same, a, b)
Parite üretimi (tek sayıda 1)xor(parity, data[0], data[1], data[2], data[3])
Parite denetimi (ç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

KapıÇıktı şu durumda 1 olurİlkelOperatör
XORGirdiler farklı olduğundaxor(out, a, b)^
XNORGirdiler aynı olduğundaxnor(out, a, b)~^
challenge icon

Görev

Görevlere göre eksik kapı ilkel öğelerini ekleyin.

Yapılacaklar:

  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

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.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Online Verilog derleyicisi