입력이 2 개 이상인 XOR은 어떻게 작동합니까?


27

방금 컴퓨터 공학을 공부하기 시작했으며 XOR 게이트의 동작과 관련하여 의문이 있습니다.

Logisim으로 회로를 투영하고 있는데, XOR은 내가 배운 것과 다르게 동작합니다. 나에게 그것은 패리티 게이트처럼 행동해야하며 입력이 홀수 조합을받을 때마다 높은 출력을 제공해야합니다. 그러나 두 개 이상의 입력에는 적용되지 않습니다. 어떻게 행동해야합니까?

또한 XOR 게이트가 두 개 이상의 입력으로 생성되지 않는다는 책을 읽었습니다. 그 맞습니까? 왜?


1
> 2 입력을 사용하지 않는 이유는 무엇입니까? XOR 게이트의 일반적인 두 가지 용도는 1) 평등을 확인하고 2) 신호의 극성을 제어 / 조작하는 것입니다. 두 개 이상의 입력에는 적합하지 않습니다.
Wouter van Ooijen

1
완전 가산기의 합계가 A ^ B ^ Cin으로 표시되지 않습니까?
gabrieljcs

그런 식으로 표현할 수 있지만 그것이 그것을 구현하는 좋은 방법이라는 것을 의미하지는 않습니다.
Wouter van Ooijen

1
내 Logisim 버전을 확인했는데 "1 and only 1"이 기본 동작 인 것처럼 보이지만 홀수 패리티 함수로 변경할 수있는 옵션이 있습니다.
Joe Hass

정말로, 조. 이 링크 에는 Logisim의 개발자 인 Carl Burch가 답변 한 내용이 있습니다.
gabrieljcs

답변:


23

입력이 3 개 이상인 배타적 OR 게이트가 어떻게 동작해야하는지에 대한 관점이 다릅니다. 대부분의 XOR 게이트는 2 입력 게이트의 캐스케이드처럼 작동하며 홀수 패리티 기능을 수행합니다. 그러나 일부 사람들은 배타적 OR의 의미를보다 문자 그대로 해석하고 입력 중 하나가 정확히 1 인 경우에만 출력이 1이어야한다고 말합니다 .Logisim은 후자의 해석을 사용하고 어딘가에 녹슨 메모리를 ASIC 셀 라이브러리에서 보았습니다. XOR 게이트의 국제 표준 기호 중 하나는 =1"1과 1"정의와보다 일치하는 것으로 레이블이 지정된 사각형 입니다.

편집 : 배타적 OR의 "1과 유일한 1"의 정의는 드물지만 찾을 수 있습니다. 예를 들어, IEEE-Std91a-1991은 p.1의 배타적 OR에 대한 기호를 제공합니다. "두 개의 입력 중 하나만 하나의 상태에만 있으면 출력은 1 상태에있게됩니다." 2 개 이상의 입력의 경우 표준은 "odd parity"기호를 대신 사용하는 것이 좋습니다. 이 혼란스러운 상황을 논의하는 웹 사이트에는 XOR : TAMS 의 흥미로운 게이트게이트 데모가 포함됩니다 . 구글 검색은 또한 엄밀히 말하면 입력이 두 개 이상인 XOR 게이트와 같은 것은 없다고 주장하는 사이트를 제공합니다.


4
내가 아는 한, 두 번째 방법 (1과 1)만이 이것을 수행하는 유일한 올바른 방법 입니다 . 다른 것은 독점적이지 않습니다 .
다항식

3
다른 관점은없고 기술적으로 정확하지만 "입력 중 하나가 정확히 1 인 경우에만 1"이라고 생각하는 것처럼 확장되지 않습니다. 2 개의 입력 XOR을 캐스케이드 연결할 때 각 출력이 세 번째 XOR의 핀에 공급되면 위의 지점이 표시됩니다. 다중 입력 게이트는 2 입력 기본 요소에서 파생됩니다. 따라서 4 입력 진리표는 ((A⊕B) ⊕ (C⊕D))이며, 홀수의 참 입력이있는 경우 최종 1 출력이됩니다.
Kris Bahnsen '12

@KrisBahnsen OP가 지적했듯이 실제로 두 가지 관점이 있습니다 (증거가 필요한 경우 Logisim의 기본 XOR을 시도하십시오). 다중 입력 게이트가 2 입력 프리미티브에서 파생되었다는 주장은 마치 보편적 인 진실 인 것처럼 주어 지지만 우리는 이미 당신에게 반례를 제시했습니다.
Joe Hass

@JoeHass, 나는 logisim을 사용한 적이 없다. 나는 주로 LogicWorks를 사용한다. 위에서 설명한 것처럼 다중 입력 XOR이 작동하는 경우 홀수의 실제 입력이 실제 출력입니다. XOR의 wiki 페이지 (en.wikipedia.org/wiki/XOR)는 내가 말한 내용도 사실이라는 데 동의합니다. 또한 실제로 다중 입력 XOR IC를 본 적이 없으므로 데이터 시트를 사용하여 내가 말한 것을 반증하지 않을 수 없습니다. Logisim은 "1 if and only ..."라는 논리로 다중 입력 XOR 체계를 구현하는 유일한 것 같습니다. 다른 소스를 찾을 수 있다면, 내가 틀 렸음을 인정하고 XOR에 대한 여러 정의가 있음을 인정할 것입니다.
Kris Bahnsen

명확하게 설명하겠습니다. 표준보다 훨씬 더 많은 시간을 연구 해 주셔서 감사합니다.
Kris Bahnsen '12

11

2 개의 게이트 XOR에서 입력이 다르면 출력이 높습니다. 입력이 동일하면 출력이 낮습니다.

그러므로이 진리표는 :

여기에 이미지 설명을 입력하십시오

두 개 이상의 입력이있는 XOR 게이트를 찾을 수 있지만 실제로는 3 개의 입력 XOR이 아닙니다. XOR 입력 A 및 B와 그 결과 "R"은 입력 C와 XOR입니다. 그리고 R XOR C의 결과는 입력 4와 XOR입니다.

다음은 세 가지 입력 XOR에 대한 진리표입니다.

여기에 이미지 설명을 입력하십시오

간단한 패리티 알고리즘은 예를 들어 이더넷을 통해 수신 된 메시지의 XORing 비트입니다. 발신자와 수신자가 메시지 비트 XORing이 0이어야 함을 알고있는 경우 (XOR 된 경우 임의 길이의 메시지가 0이 될 수 있도록 메시지의 1 비트에 비트를 추가 할 수 있도록 1 비트가 제공됨) 수신자는 1인지 여부를 알 수 있습니다. 비트가 뒤집어졌습니다. 홀수의 비트 변경 만 찾을 수 있지만 개념을 보여주기 때문에 이것은 패리티 검사가 잘못되었습니다.


1
나는 수학자입니다. 그 대답은 나에게 끔찍해 보입니다. 나는 일반적으로 3- 입력 XOR에 의해 의도 된 출력이지만 01101000은 훨씬 더 논리적 인 것으로 이해합니다. + 좋은 대답입니다.
벤 크로스 리

1

4 개의 입력을 가져 와서 2 대 1 XOR과 2 대 다른 XOR로 공급하면 두 개의 XOR 출력을 가져 와서 세 번째 XOR에 공급하면 출력이 생각하는대로 작동합니다.


1
나는 방법이 아닌 이유에 대해 더 걱정하고 있습니다. 그러나 답변 주셔서 감사합니다.
gabrieljcs

@root, 실제로 "어떻게 동작해야합니까?" 당신은 왜 어디서나 묻지 않았습니다. 이것은 정답이며 4 입력 XOR과 동일한 ((A⊕B) ⊕ (C⊕D))를 산출합니다.
Kris Bahnsen

네가 옳아. 오해해서 죄송합니다.
gabrieljcs

1

XOR은 완전하게 패리티 게이트가 아닙니다. 입력 중 하나만 1 일 때 XOR의 출력을 1로 정의하면 3 개의 입력 XOR이 모든 1 입력에 대해 0을 제공합니다. 이것은 자주 사용되지 않으므로 3 입력 XOR 게이트가 거의 없습니다.

XOR이라고 말할 때 대부분의 사람들이 의미하는 것은 정확히 패리티 검사기 인 모듈로 2 덧셈입니다. 3- 입력 XOR로 표시된 대부분의 게이트는 실제로 모듈로 2 추가 게이트입니다. 두 입력의 경우 모듈로 2 추가는 XOR과 동일하지만 위에서 설명한 XOR의 0은 모듈로 2 게이트의 1입니다. 임의의 수의 입력을 갖는 모듈로 2 게이트는 간단한 2 입력 XOR 게이트에서 생성 할 수 있습니다.


1

나는 당신의 질문을보고 약간의 검색을하고 3 입력 XOR 게이트 인 IC를 발견했습니다. nxp의 74LVC1G386. nxp 사이트에서이 부품 번호에 대한 검색 결과를 표시하는 nxp 사이트 링크는 http://www.nxp.com/search?q=74lvc1g386&type=keyword&rows=10 입니다 .


2
기여해 주셔서 감사합니다. 그러나 NXP가 검색 엔진을 변경하면 답은 쓸모가 없습니다. 여기에서 찾은 것을 요약하여 가치를 유지하십시오.
Joe Hass

방금 XOR에 3 개 이상의 입력을 제공하는 제조 업체가 있는지 확인 하고이 것을 발견했습니다 ... 그래서 공유하는 데 도움이 될 것이라고 생각했습니다 ... 여기 데이터 시트에 대한 링크는 nxp.com/documents/ data_sheet / 74LVC1G386.pdf
Mahesh Mohandasan

1
다른 링크를 게시하지 마십시오! 어떻게 작동하는지 알려주세요!
Joe Hass

우리가 연구 / 알고있는 것처럼 작동하는 3 입력 XOR 게이트. 즉, 데이터 시트에서와 같이 홀수의 높은 입력에 대해 높은 o / p를 제공하므로 링크를 공유해야합니다. :)
Mahesh Mohandasan

1

그래서 거기에 가서 테스트했습니다! 작은 verilog 파일을 작성하여 시뮬레이션하고 파형을 보았습니다.

verilog에 대한 올바른 해석은 다음과 같습니다.이 기사 의 입력 AKA 해석 2에 1이 홀수입니다.

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

여기에 이미지 설명을 입력하십시오


-1

단순한 다중 입력 OR 게이트의 논리에 따라 모든 입력 중에서 가장 높은 값을 가정하지만 결정하지는 않습니다. EXOR (다중 가산 논리 EXOR에서는 발생하지 않기 때문에 반가산기와 우연의 일치로 나타납니다)과 관련하여 입력 중 어느 것이 가장 높은지, 가장 높은지 (0 + 0 포함)인지 결정합니다. 1 + 1) 입력을 정확하게 선택하지 못하면 입력을 선택할 수 없습니다. 예를 들어 누군가가 하나의 doller에서 한 브랜드의 최대 과자 수를 구매하도록 요청하고 두 개의 브랜드가있는 경우 (radix = 2) 가장 높은 단수를 가진 브랜드를 선택할 수 있지만 두 브랜드 모두 두 브랜드가 동일한 번호를 제공하는 경우 (0,0)을 선택할 수 없습니다. 1) 과자의 결정을 내릴 수 없다는 것은 출력이 0임을 의미합니다. 3, 4 개 이상의 브랜드 (높은 기수) 과자에 대해 동일한 논리를 확장 할 수 있습니다. 이는 다중 값 논리에도 동일하게 적용됩니다. (x + x + .. + x = 0 여기서 x는 임의의 값을 가질 수 있음), 3 개의 입력 EXOR 게이트 1 + 1 + 1 = 0 (정상적인 해석 1 + 1 + 1 = 1과 비교하여 잘못된 것으로 나타남) 패리티와 혼합). VT 인골 레 박사


이 설명은 불필요하게 복잡하며 어쨌든 그 질문에 확실하게 대답하지 않는 것 같습니다.
duskwuff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.