Saya baru saja mulai belajar teknik komputer, dan saya ragu tentang perilaku gerbang XOR.
Saya telah memproyeksikan sirkuit dengan Logisim, yang XOR-nya berperilaku berbeda dari apa yang telah saya pelajari. Bagi saya, itu harus berperilaku sebagai gerbang paritas, memberikan output tinggi setiap kali input menerima kombinasi ganjil. Meskipun demikian, tidak lebih dari dua input. Bagaimana seharusnya berperilaku?
Saya juga membaca di sebuah buku bahwa gerbang XOR tidak diproduksi dengan lebih dari dua input. Apakah itu benar? Mengapa?
digital-logic
gabrieljcs
sumber
sumber
Jawaban:
Ada beberapa sudut pandang tentang bagaimana gerbang OR-eksklusif dengan lebih dari dua input seharusnya berperilaku. Paling sering seperti gerbang XOR berperilaku seperti kaskade gerbang 2-input dan melakukan fungsi paritas ganjil. Namun, beberapa orang menafsirkan arti eksklusif-ATAU lebih harfiah dan mengatakan bahwa output harus menjadi 1 jika dan hanya jika tepat salah satu input adalah 1. Saya tampaknya ingat bahwa Logisim menggunakan interpretasi yang terakhir, dan di suatu tempat di ingatan berkarat saya, saya telah melihatnya di perpustakaan sel ASIC. Salah satu simbol standar internasional untuk gerbang XOR adalah persegi panjang berlabel
=1
yang tampaknya lebih konsisten dengan definisi "1 dan hanya 1".EDIT: Definisi eksklusif-OR sebagai "1 dan hanya 1" tidak umum tetapi dapat ditemukan. Sebagai contoh, IEEE-Std91a-1991 memberikan simbol untuk eksklusif-OR pada hal. 62 dengan catatan: "Output berada pada status 1-nya jika satu dan hanya satu dari dua input yang berada pada status 1-nya." Untuk lebih dari 2 input, standar merekomendasikan untuk menggunakan simbol "paritas ganjil". Situs web yang membahas situasi membingungkan ini termasuk XOR: Gerbang Yang Menarik dan demo gerbang di TAMS . Pencarian google juga akan muncul situs yang mengklaim bahwa, secara tegas, tidak ada yang disebut gerbang XOR dengan lebih dari dua input.
sumber
Pada dua gerbang XOR output tinggi ketika input berbeda. Jika inputnya sama, outputnya rendah.
Oleh karena itu tabel kebenaran ini:
Anda dapat menemukan gerbang XOR yang memiliki lebih dari dua input, tetapi sebenarnya bukan XOR 3 input. Mereka XOR input A dan B dan hasilnya "R" kemudian XOR dengan input C. Dan hasil R XOR C kemudian XOR dengan input 4 dan seterusnya.
Berikut adalah tabel kebenaran untuk tiga input XOR yang ditunjukkan:
Algoritma paritas sederhana adalah XORing bit dalam pesan yang diterima misalnya Ethernet. Jika pengirim dan penerima tahu bahwa XORing bit pesan harus 0 (satu bit dalam pesan disediakan untuk dapat menambahkan satu sehingga pesan berapa pun panjangnya dapat 0 ketika XORed) maka penerima dapat mengetahui jika 1 bit telah dibalik. Ini adalah pemeriksaan paritas buruk karena hanya dapat menemukan jumlah bit perubahan yang ganjil, tetapi menunjukkan konsepnya.
sumber
Jika Anda mengambil 4 input dan mengumpankan dua ke satu XOR dan dua ke yang lain kemudian, ambil dua output XOR dan berikan mereka ke XOR ketiga, outputnya melakukan apa yang Anda yakini seharusnya (saya pikir).
sumber
XOR tidak sepenuhnya merupakan gerbang paritas. Jika Anda mendefinisikan output XOR sebagai 1 ketika satu dan hanya satu dari input adalah 1 maka tiga input XOR akan memberi Anda 0 untuk semua-1 input. Ini tidak sering digunakan sehingga ada beberapa gerbang XOR 3-input.
Apa yang kebanyakan orang maksud ketika mereka mengatakan XOR adalah penambahan modulo 2 yang merupakan pemeriksa paritas. Sebagian besar gerbang berlabel 3-input XOR sebenarnya adalah gerbang penambahan modulo 2. Untuk dua input, penambahan modulo 2 adalah hal yang sama dengan XOR tetapi 0 dari XOR yang dijelaskan di atas adalah bukan 1 di gerbang modulo 2. Gerbang Modulo 2 dengan jumlah input sewenang-wenang dapat dihasilkan dari gerbang XOR dua-input sederhana.
sumber
Saya melakukan sedikit pencarian untuk melihat pertanyaan Anda dan menemukan IC yang merupakan gerbang XOR 3input. 74LVC1G386 dari nxp. tautan ke situs nxp yang menampilkan hasil pencarian untuk nomor bagian ini di situs nxp adalah http://www.nxp.com/search?q=74lvc1g386&type=keyword&rows=10
sumber
Jadi, saya pergi ke sana dan menguji! Saya menulis file Verilog kecil, disimulasikan dan melihat bentuk gelombang.
Ternyata interpretasi yang benar untuk Verilog adalah: Ada jumlah ganjil 1 di input AKA Interpretasi 2 artikel ini
sumber
Sesuai logika multi input ATAU gerbang, ini mengasumsikan nilai tertinggi di antara semua input namun tidak mengambil keputusan. Mengenai EXOR (dicampur dengan setengah adder menjadi hanya kebetulan, karena tidak terjadi dalam logika multi nilai EXOR) diperlukan keputusan yang mana yang tertinggi di antara input tetapi jika tertinggi (termasuk 0 + 0 .. 1 + 1) sama dengan gagal memilih di antara input berarti tidak dapat mengambil keputusan mana yang dipilih. Tidak ada keputusan berarti output nol. Misalnya jika seseorang diminta untuk membeli jumlah maksimum permen dari satu merek dalam satu boneka dan jika ada dua merek (radix = 2) maka ia dapat memilih salah satu yang memiliki jumlah manis tertinggi tetapi jika kedua merek tersedia tanpa biaya, ia tidak dapat memilih (berarti 0,0) juga jika kedua merek menawarkan nomor yang sama (1, 1) permen yang tidak dapat diambil keputusannya berarti outputnya nol. Logika yang sama dapat diperluas untuk 3, 4 atau lebih jumlah merek (radix lebih tinggi) dari permen. Ini sama berlaku untuk logika multi nilai. (x + x + .. + x = 0 di mana x dapat memiliki nilai apa pun), Dalam tiga input gerbang EXOR 1 + 1 + 1 = 0 (berlawanan dengan interpretasi normal 1 + 1 + 1 = 1 yang tampaknya salah, karena tercampur dengan paritas). VT Ingole, PhD
sumber