논리 회로
IT위키
더 많은 작업
(디지털 회로에서 넘어옴)
Logic Circuit
0과 1 두 값을 다루는 논리 게이트를 조합해 만든 디지털 회로
출력이 무엇에 의해 정해지는지에 따라 조합 논리 회로와 순차 논리 회로로 나눈다.
| 게이트 | 기호식 | 동작 |
|---|---|---|
| AND | Y = A·B | 둘 다 1일 때만 1 |
| OR | Y = A+B | 하나라도 1이면 1 |
| NOT | Y = A' | 입력을 뒤집는다 |
| NAND | Y = (A·B)' | AND의 반대. 이것 하나로 모든 회로를 만들 수 있다 |
| NOR | Y = (A+B)' | OR의 반대. 이것 하나로도 모든 회로를 만들 수 있다 |
| XOR | Y = A⊕B | 두 입력이 다를 때 1 |
| XNOR | Y = (A⊕B)' | 두 입력이 같을 때 1 |
NAND 는 범용 게이트라 이것만으로 모든 게이트를 만들 수 있다(NOR 도 같다). 근거는 드모르간의 법칙이다 → 부울 대수
| 만들 게이트 | NAND 연결 | 개수 |
|---|---|---|
| NOT | NAND 의 두 입력을 묶는다: (A·A)' = A' | 1 |
| AND | NAND 뒤에 입력을 묶은 NAND(NOT) | 2 |
| OR | 두 입력을 각각 NOT 한 뒤 NAND: (A'·B')' = A + B | 3 |
| NOR | OR 를 만든 뒤 NOT 하나 더: (A + B)' | 4 |
| XOR | n = (AB)' 를 만들고 (A·n)', (B·n)' 를 다시 NAND | 4 |
NAND 하나 뒤에 NOT 이면 AND, 입력마다 NOT 한 뒤 NAND 면 OR, 거기에 NOT 을 하나 더 달아야 NOR 다.
두 입력이 같을 때 1 인 XNOR 는 Y = AB + A'B' 다. 게이트 세 개로 만든 보기를 드모르간으로 풀어 본다.
- (AB)' 와 (A'B')' 를 NAND 하면 ((AB)'·(A'B')')' = AB + A'B' → XNOR
- (A + B)' 와 (A' + B')' 를 NOR 하면 (A'B' + AB)' → XOR
- (A + B')' = A'B 와 (A' + B)' = AB' 를 NAND 하면 (A'B·AB')' = 1(늘 1)
- (AB')' 와 (A'B)' 를 NOR 하면 AB'·A'B = 0(늘 0)
- Combinational Logic Circuit
출력이 현재의 입력에 의해서만 결정되는 회로. 기억 소자가 없다.
- 가산기(Half Adder, Full Adder) - 두 비트를 더한다
- 감산기
- 디코더 / 인코더 - n비트를 2n개 신호로 펼치거나 그 반대로 줄인다
- 멀티플렉서 / 디멀티플렉서 - 여러 입력 중 하나를 고르거나 하나를 여러 갈래로 보낸다
- 비교기 - 두 값의 대소를 판별한다
- 패리티 검사 회로
"3개의 입력 중 적어도 2개가 1이면 출력이 1" 처럼 지금 들어온 값만 보고 답이 정해지는 회로는 조합 논리 회로다.
| 조합 논리 회로 | 순차 논리 회로 | |
|---|---|---|
| 출력 결정 | 현재 입력만 | 현재 입력 + 이전 상태 |
| 기억 소자 | 없다 | 있다(플립플롭) |
| 클록 | 필요 없다 | 보통 필요하다 |
| 귀환(feedback) | 없다 | 있다 |
| 예 | 가산기, 디코더, 멀티플렉서 | 카운터, 레지스터, 시프트 레지스터 |