Menu
Coddy logo textTech

XOR XNOR Gates

Coddy Verilog 여정의 기초 섹션에 포함된 레슨. 90개 중 41번째.

이 레슨에서는 두 가지 추가 논리 게이트인 XOR(배타적 OR)와 XNOR(배타적 NOR)을 다룹니다. 이러한 게이트는 비트를 비교하고 패리티를 확인하는 데 유용합니다.

XOR 게이트

XOR 게이트는 입력이 다를1을 출력합니다.

진리표(2-입력):

about
000
011
101
110

Verilog 게이트 프리미티브:

xor(out, a, b);

연속 할당과 동등한 표현:

assign out = a ^ b;

XNOR 게이트

XNOR 게이트는 입력이 same일 때 1을 출력합니다. XOR의 반대입니다.

진리표(2입력):

about
001
010
100
111

Verilog 게이트 프리미티브:

xnor(out, a, b);

연속 할당과 동등한 표현:

assign out = a ~^ b;   // 또는 ~(a ^ b)

여러 입력

XOR 및 XNOR 게이트는 2개보다 많은 입력을 가질 수 있습니다. 출력은 다음과 같습니다.

  • XOR: 입력 중 홀수 개가 1이면 1
  • XNOR: 입력 중 짝수 개가 1이면 1
xor(out, a, b, c);      // 3-입력 XOR
xnor(out, p, q, r, s);  // 4-입력 XNOR

예시(3-입력 XOR):

abcout
0000
0011
0101
0110
1001
1010
1100
1111

일반적인 사용

용도예시
두 비트가 다른지 비교xor(diff, a, b)
두 비트가 같은지 비교xnor(same, a, b)
패리티 생성 (1의 개수가 홀수)xor(parity, data[0], data[1], data[2], data[3])
패리티 검사 (1의 개수가 짝수)xnor(parity, data[0], data[1], data[2], data[3])

코드 예제

module xor_xnor_demo (
  input a, b,
  output xor_out,
  output xnor_out
);
  xor(xor_out, a, b);
  xnor(xnor_out, a, b);
endmodule

요약 표

게이트출력이 1인 경우원시 연산연산자
XOR입력이 서로 다름xor(out, a, b)^
XNOR입력이 samexnor(out, a, b)~^
challenge icon

챌린지

작업을 바탕으로 누락된 게이트 프리미티브를 추가하세요.

할 일:

  1. 출력이 xor_result이고 입력이 xy인 XOR 게이트를 만드세요
  2. 출력이 xnor_result이고 입력이 xy인 XNOR 게이트를 만드세요

직접 해보기

module xor_xnor_challenge (
  input x,
  input y,
  output xor_result,
  output xnor_result
);
  
  // TODO: XOR 게이트 추가 (xor_result = x ^ y)
  
  // TODO: XNOR 게이트 추가 (xnor_result = x ~^ y)

endmodule
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 Verilog 컴파일러