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):
| a | b | out |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
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):
| a | b | out |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
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):
| a | b | c | out |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Yaygın Kullanımlar
| Kullanım | Örnek |
|---|---|
| İki bitin farklı olup olmadığını karşılaştırma | xor(diff, a, b) |
| İki bitin aynı olup olmadığını karşılaştırma | xnor(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şulu | Primitive | Operatör |
|---|---|---|---|
| XOR | Girdiler farklı olduğunda | xor(out, a, b) | ^ |
| XNOR | Girdiler same olduğunda | xnor(out, a, b) | ~^ |
Görev
Görevlere göre eksik kapı ilkelini (primitive) ekleyin.
Yapılacaklar:
- Çıkışı
xor_resultve girdilerixileyolan bir XOR kapısı oluşturun - Çıkışı
xnor_resultve girdilerixileyolan 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)
endmoduleBu 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
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüKarşılaştırma OperatörleriÖzet - Basit MatematikBitsel Operatörler7Atama ve Kapılar
Sürekli AtamaOperatörlerle AtamaYerleşik Kapı PrimitifleriAND OR NOT KapılarıXOR XNOR KapılarıÖzet - Mantık Kapısı Devresi10Karar Yapıları
If İfadesiIf - ElseÖzet - Basit KarşılaştırıcıCase İfadesiCasex ve CasezÖzet - ALU Tasarımı5Operatörler Bölüm 2
Mantıksal Operatörlerİndirgeme OperatörleriKaydırma OperatörleriBirleştirme OperatörüKoşullu OperatörÖzet - Operatör Meydan Okuması11Döngüler
For DöngüsüWhile DöngüsüRepeat DöngüsüSonsuz DöngüDevre Dışı Bırakma İfadesiÖzet - Döngü Kalıpları3Sayı Sistemleri
İkilik GösterimBoyutlandırılmış SayılarBoyutlandırılmamış SayılarNegatif SayılarÖzel Değerler X ve ZÖzet - Sayı Formatları6Modüller
Modül YapısıGiriş ve Çıkış PortlarıInout PortlarıModül Örneklendirmeİsme Göre Port EşlemeSıraya Göre Port EşlemeÖzet - Bir Modül Oluşturun9Prosedürel Bloklar
Always BloğuInitial BloğuDuyarlılık ListesiEngelleyici AtamaEngelleyici Olmayan AtamaÖzet - Always vs Initial15Trafik Işığı Kontrolcüsü
Durumları TanımlamaDurum Makinesi Mantığı