XOR XNOR Gates
Coddy Verilog 여정의 기초 섹션에 포함된 레슨. 90개 중 41번째.
이 레슨에서는 두 가지 추가 논리 게이트인 XOR(배타적 OR)와 XNOR(배타적 NOR)을 다룹니다. 이러한 게이트는 비트를 비교하고 패리티를 확인하는 데 유용합니다.
XOR 게이트
XOR 게이트는 입력이 다를 때 1을 출력합니다.
진리표(2-입력):
| a | b | out |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Verilog 게이트 프리미티브:
xor(out, a, b);연속 할당과 동등한 표현:
assign out = a ^ b;XNOR 게이트
XNOR 게이트는 입력이 same일 때 1을 출력합니다. XOR의 반대입니다.
진리표(2입력):
| a | b | out |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
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):
| 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 |
일반적인 사용
| 용도 | 예시 |
|---|---|
| 두 비트가 다른지 비교 | 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 | 입력이 same | xnor(out, a, b) | ~^ |
챌린지
작업을 바탕으로 누락된 게이트 프리미티브를 추가하세요.
할 일:
- 출력이
xor_result이고 입력이x와y인 XOR 게이트를 만드세요 - 출력이
xnor_result이고 입력이x와y인 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이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
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 Logic직접 연습해 보세요: 온라인 Verilog 컴파일러