Menu
Coddy logo textTech

XOR XNOR Gates

Coddy'nin Verilog Journey'sinin Temeller 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 kontrolü 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 same olduğunda 1 çıktısını 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 Fazla Girdi

XOR ve XNOR kapılarında 2’den fazla girdi olabilir. Çıktı şöyledir:

  • XOR: Girdilerin tek sayısı 1 ise 1
  • XNOR: Girdilerin çift sayısı 1 ise 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ıÇıkış 1 olduğundaİlkel işlemOperatö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 elemanlarını ekleyin.

Yapılacaklar:

  1. Çıkışı xor_result, girişleri x ve y olan bir XOR kapısı oluşturun
  2. Çıkışı xnor_result, girişleri x ve 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

Kendi başına pratik yap: Online Verilog derleyicisi