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):
| a | b | out |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
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):
| a | b | out |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
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):
| 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) |
| 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şlem | Operatör |
|---|---|---|---|
| XOR | Girdiler farklı olduğunda | xor(out, a, b) | ^ |
| XNOR | Girdiler aynı olduğunda | xnor(out, a, b) | ~^ |
Görev
Görevlere göre eksik kapı ilkel elemanlarını ekleyin.
Yapılacaklar:
- Çıkışı
xor_result, girişlerixveyolan bir XOR kapısı oluşturun - Çıkışı
xnor_result, girişlerixveyolan 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
4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine LogicKendi başına pratik yap: Online Verilog derleyicisi