2'den fazla girişi olan bir XOR nasıl çalışması gerekiyor?


27

Bilgisayar mühendisliği okumaya yeni başladım ve XOR kapısının davranışlarıyla ilgili bazı şüphelerim var.

XOR'ları öğrendiklerimden farklı davranan Logisim ile devreleri yansıtıyorum. Bana göre, girişler tek bir kombinasyon aldığında yüksek çıktı veren parite geçidi gibi davranmalıdır. Bununla birlikte, ikiden fazla giriş için değildir. Nasıl davranmalı?

Ayrıca bir kitapta XOR kapılarının ikiden fazla girdiyle üretilmediğini de okudum. Bu doğru mu? Niye ya?


1
> 2 giriş ile neden olmasın (ya da neredeyse hiç)? XOR kapılarının iki tipik kullanımı 1) eşitliği kontrol etmek ve 2) bir sinyalin polaritesini kontrol etmek / değiştirmek içindir. Hiçbiri 2'den fazla giriş için anlamlı değil.
Wouter van Ooijen

1
Bir tam toplayıcıdaki toplam, A ^ B ^ Cin olarak gösterilmez mi?
gabrieljcs

Bu şekilde ifade edebilirsiniz, ancak bu, uygulamanın iyi bir yol olduğu anlamına gelmez.
Wouter van Ooijen

1
Logisim sürümümü yeni kontrol ettim ve "1 ve sadece 1" varsayılan davranış olarak görünüyor, ancak bunu tek eşlik işlevine çevirme seçeneği var.
Joe Hass

Gerçekten de Joe. Bu bağlantının , Logisim'in geliştiricisi Carl Burch tarafından cevaplandırıldığı konuyla ilgili bir tartışması var.
gabrieljcs

Yanıtlar:


23

İkiden fazla girişi olan özel bir OR kapısının nasıl davranması gerektiğine dair farklı bakış açıları vardır. Çoğu zaman, böyle bir XOR geçidi, 2 girişli geçitlerin kaskadları gibi davranır ve tek eşlik işlevini yerine getirir. Bununla birlikte, bazı insanlar münhasır OR anlamını daha tam anlamıyla yorumluyorlar ve çıktının yalnızca tam olarak girdilerden biri 1 ise , 1 olması gerektiğini söylüyorlar . paslı hafızamda bir ASIC hücre kütüphanesinde gördüm. Bir XOR kapısı için uluslararası standart sembollerden biri =1, "1 ve sadece 1" tanımına daha tutarlı göründüğü etiketli bir dikdörtgendir .

EDIT: exclusive-OR'ın "1 ve sadece 1" olarak tanımlanması nadirdir, ancak bulunabilir. Örneğin, IEEE-Std91a-1991, exclusive-OR için p sembolünü verir. Not: "İki girişten biri ve yalnızca biri 1 konumunda duruyorsa, çıkış 1 konumunda duruyor." 2'den fazla giriş için standart, bunun yerine "tek eşlik" sembolünün kullanılmasını önerir. Bu kafa karıştırıcı durumu tartışan web siteleri arasında XOR: The Interesting Gate ve TAMS'taki kapı gösterileri bulunmaktadır . Bir google araması ayrıca, kesinlikle konuşursak, ikiden fazla girişi olan bir XOR geçidi diye bir şey olmadığını iddia eden siteler açacaktır.


4
Endişelendiğim kadarıyla, ikincisi (1 ve sadece 1), bunu yapmanın tek doğru yolu - başka hiçbir şey gerçekten özel değil .
Polinom

3
Farklı bir bakış açısı yoktur, her iki nokta da teknik olarak doğrudur, ancak "girdilerin tam olarak 1 olması durumunda" 1 ise, düşündüğünüz gibi genişlemez. 2 girişli XOR'ları basamaklandırdığınızda, her bir çıkış, üçüncü bir XOR'un pimlerine beslenen bu, yukarıdaki noktayı gösterir. Çok girişli kapılar 2 girişli ilkellerinden elde edilir. Bu nedenle, 4 girişli doğruluk tablosu ((A⊕B) ⊕ (C⊕D)) olup, eğer tek sayıda gerçek girdi varsa, son 1 çıktı ile sonuçlanır.
Kris Bahnsen,

@KrisBahnsen OP'nin belirttiği gibi, aslında iki bakış açısı var (delile ihtiyacınız varsa Logisim'deki varsayılan XOR'u deneyin). Çok girişli kapıların 2 girişli ilkellerden geldiği iddiası evrensel bir gerçekmiş gibi verilmiştir, ancak biz size zaten bir karşı örnek verdik.
Joe Hass

@JoeHass, hiç logisim kullanmadım, öncelikle LogicWorks kullandım; çok girişli bir XOR yukarıda açıkladığım gibi davranıyorsa, tek sayıdaki gerçek giriş sayısı gerçek bir çıktıdır. XOR'daki wiki sayfası (en.wikipedia.org/wiki/XOR) söylediklerimin de doğru olduğunu kabul ediyor. Ayrıca çok girişli bir XOR IC görmedim, bu yüzden söylediklerimi denemek ve ispatlamak için veri sayfalarına dönemem. Logisim, çoklu girişli XOR şemasını "1 ise ve sadece ..." mantığıyla uygulayan tek şey gibi görünüyor. Başka bir kaynak bulabilirseniz, hatalı olduğumu ve XOR'un çoklu tanımları olduğunu kabul edeceğim.
Kris Bahnsen,

İyi bir açıklama, standartları benden çok daha fazla araştırmaya zaman ayırdığınız için teşekkür ederiz.
Kris Bahnsen

11

İki kapıdaki XOR'da, girişler farklı olduğunda çıkış yüksektir. Girişler aynıysa, çıkış düşüktür.

Dolayısıyla bu doğruluk tablosu:

görüntü tanımını buraya girin

İkiden fazla girişi olan bir XOR geçidi bulabilirsiniz, ancak bunlar aslında 3 girişli bir XOR değil. A ve B girişlerini XOR yaparlar ve "R" sonucu daha sonra C girişine sahip XOR olurlar. Ve R XOR C sonucu daha sonra giriş 4 ile XOR olur.

İşte gösterilen üç XOR girişi için bir doğruluk tablosu:

görüntü tanımını buraya girin

Basit bir eşlik algoritması, örneğin Ethernet üzerinden alınan bir mesajdaki XORing bitleridir. Gönderici ve alıcı, XORing'in mesaj bitlerinin 0 olması gerektiğini biliyorsa (mesajdaki bir bit, bir tane ekleyebilmesi için, herhangi bir uzunlukta bir mesaj XORed olduğunda 0 olabilir) sağlanmışsa, o zaman alıcı, 1 bit çevrildi. Bu, sadece tek sayıda bit değişikliği bulabildiği için kötü bir eşlik kontrolüdür, ancak konsepti gösterir.


1
Ben bir matematikçiyim, bu cevap bana korkunç geliyor. Bunun genel olarak 3 girişli bir XOR tarafından tasarlanan çıktı olduğunu biliyorum ama 01101000 benim için çok daha mantıklı görünüyor. + Güzel cevap.
Ben Crossley

1

Eğer 4 giriş alıp ikiden bir XOR'a ve ikiden diğerine beslerseniz, iki XOR çıkışını alın ve üçüncü bir XOR'a besleyin, çıktısı olması gerektiğine inandığınız şeyi yapar (sanırım).


1
Neden daha çok whys hakkında endişeliyim. Cevabınız için teşekkürler.
gabrieljcs

@ root, aslında, “Nasıl davranmalı?” diye sordunuz. Neden hiçbir yere sormadın. Bu doğru bir cevaptır, birlikte basılan birden fazla 2 girişli XOR ile aynı olan 4 girişli bir XOR ile aynı olan ((A⊕B) ⊕ (C⊕D)) verir.
Kris Bahnsen,

Haklısın. Yanlış anlaşılma için üzgünüm.
gabrieljcs

1

XOR tamamen bir eşlik kapısı değil. XOR çıkışını girişlerden biri ve yalnızca biri 1 olduğunda 1 olarak tanımlarsanız, o zaman üç girişli XOR, hepsi-1 girişi için 0 verir. Bu çok sık kullanılmaz ve bu nedenle az sayıda 3 girişli XOR-geçidi vardır.

XOR deyince çoğu insan ne demek tam olarak bir parite denetleyicisi olan modulo 2 ilavesidir. 3 girişli XOR'lar olarak etiketlenen çoğu kapılar aslında modulo 2 ekleme kapılarıdır. İki giriş için, modulo 2 ilavesi, XOR ile aynı şeydir, ancak yukarıda tarif edilen XOR'dan 0, bunun yerine modulo 2 kapılarında bir 1'dir. Rasgele sayıda girişe sahip olan Modulo 2 kapıları, basit iki girişli XOR geçitlerinden üretilebilir.


1

Sorunuzu görmek için biraz arama yaptım ve 3 girişli bir XOR kapısı olan bir IC buldum. Nxp'den 74LVC1G386. nxp sitesindeki bu parça numarasının arama sonuçlarını gösteren nxp sitesine bağlantı http://www.nxp.com/search?q=74lvc1g386&type=keyword&rows=10


2
Katkıda bulunduğunuz için teşekkür ederiz, ancak NXP arama motorunu değiştirdiğinde cevabınız değersiz olacaktır. Lütfen burada ne bulduğunuzu özetleyiniz, böylece kalıcı olacaktır.
Joe Hass


1
Lütfen başka bir link göndermeyin! Bize işlerin nasıl yürüdüğünü söyle!
Joe Hass

tıpkı bizim çalıştığımız / bildiğimiz gibi çalışan 3 girişli bir XOR kapısı. yani, tek sayıda yüksek girişler için yüksek bir o / p verir (veri sayfasından olduğu gibi). :)
Mahesh Mohandasan

1

Böylece oraya gittim ve test ettim! Küçük bir verilog dosyası yazdım, simüle edip dalga biçimine baktım.

Verilog için doğru yorumu ortaya çıkıyor: Bu yazının AKA Yorum 2 girişinde garip bir miktar 1 var.

module top (y1, y2);
output y1, y2;
reg a, b, c;
wire x1, x2;
wire t;

xor(t, a, b);
xor(x2, t, c);

assign y2 = x2;
assign y1 = x1;

xor(x1, a, b, c);

initial
begin
  $dumpfile("test.vcd");
  $dumpvars(y1, y2, a, b, c, x1, x2);

#20
#10  a = 0; b = 0; c = 0;
#10  a = 0; b = 0; c = 1;
#10  a = 0; b = 1; c = 0;
#10  a = 0; b = 1; c = 1;
#10  a = 1; b = 0; c = 0;
#10  a = 1; b = 0; c = 1;
#10  a = 1; b = 1; c = 0;
#10  a = 1; b = 1; c = 1;
#10  a = 0; b = 0; c = 0;
end

endmodule

görüntü tanımını buraya girin


-1

Basit çoklu giriş VEYA kapısının mantığına göre, tüm girdiler arasında en yüksek değeri üstlenir, ancak bir karar vermez. EXOR ile ilgili olarak (yarı toplayıcı ile karıştırılmış olmak bir tesadüf olmakla birlikte, çok değerli bir mantık EXOR'da olmadığı gibi) girdiler arasında hangisinin en yüksek olduğu, ancak en yüksek olması durumunda (0 + 0 .. 1 + 1) aynı olduğu için seçemeyen girişleri gösterir, hangisinden seçileceğine karar veremeyeceği anlamına gelir. Hiçbir karar, çıktının sıfır olduğu anlamına gelir. Örneğin, bir kişiden bir marka bir markadan maksimum sayıda şeker alması isteniyorsa ve iki marka varsa (radix = 2), o zaman en yüksek tatlı sayısına sahip olanı seçebilir, ancak her iki marka da Her iki markanın da aynı numarayı vermesi durumunda, aynı şekilde seçemediği hiçbir ücret alınmaz (0,0 anlamına gelir) 1) karar veremediği şekerlemelerin çıktısının sıfır olduğu anlamına gelir. Aynı mantık, 3, 4 veya daha fazla sayıda markanın (daha yüksek çaplı) tatlılar için genişletilebilir. Bu, çoklu değer mantığına eşit olarak uygulanabilir. (x + x + .. + x = 0 burada x herhangi bir değere sahip olabilir), üç girişli EXOR geçidi 1 + 1 + 1 = 0 (1 + 1 + 1 = 1 normal yorumuna göre olduğu gibi parite ile karıştırılmış). VT Ingole, Doktora


Bu açıklama gereksiz yere karmaşıktır ve soruyu kesin olarak cevaplayacak gibi görünmemektedir.
duskwuff
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.