6-2장 논리회로 간소화

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

WONKWANG UNIVERSITY

Dept. of Computer · Software


Engineering

6-2장 논리회로 간소화

컴퓨터∙소프트웨어공학과

이 완 범

WONKWANG UNIVERSITY
Dept. of Computer · Software Engineering
0. 목 차

01. 2변수 카르노 맵

02. 3변수 카르노 맵

03. 4변수 카르노 맵

04. 선택적 카르노 맵

05. 논리식의 카르노 맵 작성

06. NAND와 NOR 게이트로의 변환

07. XOR와 XNOR 게이트

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


1. 2변수 카르노 맵

개요
• 불 대수를 이용한 간소화하는 방법은 복잡하고 검증도 어렵다.
• 카르노 맵(1953년 Maurice Karnaugh가 소개) 을 이용하면 논리식을 쉽게
간소화할 수 있다.

2변수 카르노 맵 표현 방법
B B B B B B B 0 1 A
A A A B A A
A A B AB A m0 m1 0 0 1 B m0 m2

A A B AB A m2 m3 1 2 3 B m1 m3

• 무관항(don't care) : 입력이 결과에 영향을 미치지 않는 최소항


• ⅹ로 표시하거나 d로 표시한다.

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


1. 2변수 카르노 맵

일반항과 무관항 표현
B 0 1 B 0 1
A A
0 1 0 1 x

1 1 1 1

F ( A, B)   m(0,3) F ( A, B)   m(0,3)   d (1)

• 출력이 1이거나 무관항만 표시한다.


• 출력 0을 표시하여도 되지만 일반적으로 생략한다.

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


1. 2변수 카르노 맵

카르노 맵을 이용한 간소화 방법

① 출력이 같은 항을 1, 2, 4, 8, 16개로 그룹을 지어 묶는다.


② 바로 이웃한 항들끼리 묶는다.
③ 반드시 직사각형이나 정사각형의 형태로 묶어야 한다.
④ 최대한 크게 묶는다.
⑤ 중복하여 묶어서 간소화된다면 중복하여 묶는다.
⑥ 무관항의 경우 간소화될 수 있으면 묶어 주고, 그렇지 않으면 묶지 않는다.

B 0 1 불 대수의 법칙으로 풀면
A
0 1 1 F  AB  AB
FA  A( B  B)  A 1  A
1
A=0이므로 A
B=0 and 1이므로 제거
즉, 한 변수에서 서로 다른 값이 묶여지면 제거한다.

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


1. 2변수 카르노 맵

간소화 예
중복하여도 되므로
크게 묶는다.

A B F B 0 1
A
0 0 1 불 대수의 법칙으로 풀면
0 1 1 A
0 1 1
1 0 1 1 1 B
F   m(0,1, 2)  AB  AB  AB
1 1 0
 AB  AB  AB  AB
F  AB  A( B  B)  B ( A  A)
 A 1  B  1
 A B

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


1. 2변수 카르노 맵

예제 1 다음 논리식을 카르노 맵을 이용하여 간소화하여라. 단, d는 무관항이다.

F ( A, B)   m(0,3)   d (2)

풀이
1. 2변수 카르노 맵

3변수 카르노 맵 표현 방법
C C C
BC BC AB
A BC BC BC BC A 00 01 11 10
AB ABC ABC
A ABC ABC ABC ABC 0 0 1 3 2
AB ABC ABC
A ABC ABC ABC ABC 1 4 5 7 6
AB ABC ABC

AB ABC ABC
AB AB
C AB AB AB AB C 00 01 11 10

C ABC ABC ABC ABC 0 0 2 6 4 C 0


AB 1

C ABC ABC ABC ABC 1 1 3 7 5 00 0 1

01 2 3

11 6 7
행과 열을 바꾸어도 상관없다.
설계자가 선호하는 방법을 선택하면 된다. 10 4 5

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


2. 3변수 카르노 맵

간소화 : F ( A, B, C)   m(0,1,6,7)

BC
A 00 01 11 10
0 1 1 AB

1 1 1 AB

F  AB  AB

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


2. 3변수 카르노 맵

 간소화 : 양쪽 끝 묶음
BC BC
A 00 01 11 10 A 00 01 11 10
0 1 1 AC 0

1 1 양쪽 끝은
연결되어 있다.
F  AC
동일한 카르노 맵

BC 01 11 10 00
A 이웃하는 비트들이 한 비트만 다르면
0 1 1 순서는 관계없다.
AC
1

F  AC
2. 3변수 카르노 맵

간소화 : 4개 항 묶음
BC BC
A 00 01 11 10 A 00 01 11 10
0 1 1 0 1 1 1 1 A
C
1 1 1 1

F C FA

BC
A 00 01 11 10
0 1 1
C 양쪽 끝은
1 1 1 연결되어 있다.

F C

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


2. 3변수 카르노 맵

간소화 : 다른 묶음에 모두 포함되어 있는 경우는 묶지 않는다.

BC
A 00 01 11 10
다른 묶음에 모두 포함되어
0 1 1 AC 있으므로 중복하여 묶지 않는다.
BC
1 1 1 AB

F  AC  AB

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


2. 3변수 카르노 맵

 간소화 : 최대한 크게 묶는다.

가능한 크게 크게 묶지 않아
묶는다. 간소화가 덜 된 식

BC BC
A 00 01 11 10
A 00 01 11 10 AC
0 1 1 1 1 A 0 1 1 1 1

1 1 1 1 1 1
C C

F  AC F  AC  C

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


2. 3변수 카르노 맵

간소화 : 세번 중복하여 묶는 경우
A B C F
F   m(3,5, 6, 7)  AB  BC  AC
0 0 0 0
0 0 1 0
BC
0 1 0 0 A 00 01 11 10
0 1 BC
0 1 1 1
1 0 0 0 1 1 1 1 AB
AC
1 0 1 1
1 1 0 1 세 번 중복하여 묶인 경우
1 1 1 1

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


2. 3변수 카르노 맵

 간소화 : 모두 0이거나 모두 1인 경우

BC
모두 0이면 논리식은
A 00 01 11 10 F=0이다.
0

1
F 0
1

모두 1이면 논리식은
BC F=1이다.
A 00 01 11 10
0 1 1 1 1
F 1
1 1 1 1 1
3. 4변수 카르노 맵

4변수 카르노 맵 표현 방법
CD CD
AB
00 01 11 10 AB 00 01 11 10
00 ABC D ABCD ABCD ABC D 00 0 1 3 2

01 ABC D ABCD ABCD ABC D 01 4 5 7 6

11 ABC DABCD ABCD ABC D 11 12 13 15 14

10 ABC D ABCD ABCD ABC D 10 8 9 11 10

CD
AB 00 01 11 10
00 0 1 3 2

01 4 5 7 6
상하 좌우는
11 12 13 15 14 연결되어 있다.

10 8 9 11 10

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


3. 4변수 카르노 맵

예제 2 다음과 같은 다양한 4변수 카르노 맵에서 간소화된 논리식을 구하여라.

CD CD CD
AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
00 00 00 1
01 1 1 01 01

11 11 1 1 11

10 10 10 1

CD
F FBC CD
F ABE CD
FEED
AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
00 1 00 00 1 1

01 1 1 1 01 1 1 01 1 1

11 1 1 1 11 1 1 11 1 1

10 1 10 10 1 1

FBP
FEED BC FBD 百万
3. 4변수 카르노 맵

CD CD CD
AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
00 1 1 00 1 1 1 1 00 1 1 1 1

01 1 1 01 01 1 1 1 1

11 1 1 11 11 1 1

10 1 1 10 1 1 1 1 10 1 1

FI FEB FATE
CD E CD CD CD
AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
1 1 1 1 00 1 1 1 1 00 1 1 1 1
00

01 1 1 01 1 1 01 1 1

11 1 1 11 1 1
11 1 1 1 1
AB
10 1 1 10 1 1 1 1 10 1 1 1

FFT
CD
ABEDI F 夏十万 FF Bt AFC TBC
3. 4변수 카르노 맵

CD CD CD
AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
00 1 1 1 00 1 1 1 00 1 1 1

01 1 1 01 1 1 01 1 1 1

11 11 1 1 11 1 1 1

10 1 1 10 1 1 10 1 1 1

FBC
q
FAB CTA BITE CDTBCD
FACTACT
ABCIBD ICD FFB.it
3. 4변수 카르노 맵 시헠순제
예제 3 다음 식과 같이 무관항이 있을 경우, 카르노 맵을 이용하여 간소화하여라.

F ( A, B, C , D)   m(0, 2,3, 4,5,11)   d (1, 7,9,15)


F ( A, B, C , D)   m(1, 2,3, 4, 6,8,10)   d (0,12,14) 嚴쫇더있음
F ( A, B, C , D)   m(0, 2,3, 4,8,9,11)   d (1,5, 6, 7,10,12)

F F B CDTAE
1 X 1 1
F ABC ABE t FCDT ECD t 돈키로사용전
I I X
뜨磊卉藿器

쁧r
X
3. 4변수 카르노 맵

예제 4 다음 진리표로부터 카르노 맵을 작성하고 간소화하여라.


ABCD F
풀이
0 0 0 0 ⅹ
0 0 0 1 1
0 0 1 0 ⅹ
0 0 1 1 1 1 1 X
0 1 0 0 ⅹ
0 1 0 1 1 1 1 1
0 1 1 0 1
0 1 1 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
F AB C D At BED BCD
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
WONKWANG UNIVERSITY Dept. of Computer · Software Engineering
4. 선택적 카르노 맵
 카르노 맵에서 선택적으로 묶을 수 있는 경우
BC BC
변수가중복되는것을
A 00 01 11 10 A 00 01 11 10
사용하는게좋다
0 1 1 0 1 1

1 1 1 1 1 1 1 1

F  AB  AB  AC F  AB  AB  BC
CD
2가지 답이 가능한 경우
CD
AB 00 01 11 10 AB 00 01 11 10
00 1 1 00 1 1

01 01

11 1 1 1 1 11 1 1 1 1

10 1 10 1

F  AB  A BD  ACD F  AB  A BD  BCD
WONKWANG UNIVERSITY Dept. of Computer · Software Engineering
4. 선택적 카르노 맵

CD CD CD
AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
00 x x 1 x 00 x x 1 x 00 x x 1 x

01 1 x x 01 1 x x 01 1 x x

11 x 1 1 x 11 x 1 1 x 11 x 1 1 x

10 x 10 x 10 x

F  AB  AB  BC F  AB  AB  AC F  AB  AB  BD

CD CD
AB 00 01 11 10 AB 00 01 11 10
00 x x 1 x 00 x x 1 x 5가지 답이 가능한 경우

01 1 x x 01 1 x x

11 x 1 1 x 11 x 1 1 x

10 x 10 x

F  AB  AB  AD F  AB  AB  CD
WONKWANG UNIVERSITY Dept. of Computer · Software Engineering
4. 선택적 카르노 맵

예제 5 다음 논리식과 같이 무관항이 있을 경우, 2가지 선택적 카르노 맵으로 간소화하여라.

F ( A, B, C, D)   m(0, 2,3, 4,5,11)   d (1,7,9,15)

풀이
6 oo
잇 1 1 1 AB
00 1 X

01 1 1 FE 1 1 X E

11 CD X

X 1 7D
10 X X
FAB FETE FAT Fit 石石

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


5. 논리식의 카르노 맵 작성

 논리식에서 생략된 부분을 찾아서 최소항(Minterm)으로 변경

F ( A, B, C )  ABC  AB  AB
 ABC  AB(C  C )  AB(C  C )
 ABC  ABC  ABC  ABC  ABC
 ABC  ABC  ABC  ABC  ABC
  m(0,1, 2,3, 7)

BC
A 00 01 11 10
0 1 1 1 1

1 1

F  A  BC

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


5. 논리식의 카르노 맵 작성

F ( A, B, C , D)  AB  ABC  ACD  ACD  ABC D


 AB(C  C )( D  D)  ABC ( D  D)  A( B  B)CD
 A( B  B )CD  ABC D
 ( ABC  ABC )( D  D)  ABC D  ABCD  ABCD  ABCD
 ABCD  ABCD  ABC D
 ABC D  ABCD  ABC D  ABCD  ABC D  ABCD  ABCD
최소한의
 ABCD  ABCD  ABCD  ABC D
변환   m(12,13,14,15,3, 7,1,5, 6)   m(1,3,5, 6, 7,12,13,14,15)
CD
00 01 11 10
AB
00 1 1

01 1 1 1

11 1 1 1 1

10

F  AB  AD  BC

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


5. 논리식의 카르노 맵 작성

 최소항식으로 전개하지 않고 직접 카르노 맵을 이용하는 방법

F  A  AB  ABC

BC BC B BC BC
A 00 01 11 10 A 00 01 11 10 A 00 01 11 10
A 0 1 1 1 1 0 0

1 A 1 1 1 A 1 1

BC
A 00 01 11 10
0 1 1 1 1 A

1 1 1 1 F  A BC
C
B

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


5. 논리식의 카르노 맵 작성

다음 논리식은 변수 4개로 구성되어 있고, 모든 항이 이미 어느 정도 간소화된 상태다.


예제 6
더 간소화할 수 있는지 카르노 맵을 이용하여 확인해보아라.

F  AB  BC  ACD  ABD  ACD

풀이
F ABCTAB 쫴
T57
FT BTC

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


6. NAND와 NOR 게이트로의 변환

기본 게이트의 NAND, NOR 식

NOT A  A  A  A A
AND AB  AB  A  B
OR A  B  A  B  A B
NAND AB  AB  A  B
NOR A  B  A  B  A B

AB  AB  AB  AB  AB  AB  ( A  B )( A  B )
XOR
 ( A  B)  ( A  B)

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


6. NAND와 NOR 게이트로의 변환

 기본 게이트의 NAND, NOR 회로


기본
NAND 게이트로 표현 NOR 게이트로 표현
게이트
NOT A A A A

A
AND A
AB AB
B
B

A
A
OR A B B
A B
B

A A

A B A B
XOR

B B

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


6. NAND와 NOR 게이트로의 변환

기본
NAND 게이트로 표현 NOR 게이트로 표현
게이트

A
NAND A
AB AB
B
B

A
A B A
NOR A B
B
B

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering


7. XOR와 XNOR 게이트

 XOR : 홀수개의 입력이 1인 경우, 출력이 1이 되는 게이트


BC
A 00 01 11 10
F ABC  ABC  ABC  ABC
0 1 1
 A( BC  BC )  A( BC  BC )
1 1 1  A( B  C )  A( B  C )
 A  (B  C )  A  B  C
3변수 XOR
CD
AB 00 01 11 10
1 1
F  ABCD  ABCD  ABCD  ABCD
00
 ABCD  ABCD  ABCD  ABCD
01 1 1
 AB (CD  CD )  AB (CD  CD )
11 1 1  AB (CD  CD )  AB (CD  CD )
 AB (C  D)  AB(C  D)
10 1 1
 AB (C  D)  AB(C  D)
4변수 XOR  ( AB  AB)(C  D)  ( AB  AB )(C  D )
 ( A  B)(C  D)  ( A  B)(C  D)
 A B C  D
WONKWANG UNIVERSITY Dept. of Computer · Software Engineering
7. XOR와 XNOR 게이트

 XNOR : 짝수개의 입력이 1인 경우 출력이 1이 되는 게이트


BC
A 00 01 11 10
F ABC  ABC  ABC  ABC
0 1 1
 A( BC  BC )  A( BC  BC )
1 1 1  A( B  C )  A( B  C )
3변수 XNOR  A B C  A B C
CD
AB 00 01 11 10
00 1 1 F  ABCD  ABCD  ABCD  ABCD
 ABCD  ABCD  ABCD  ABCD
01 1 1
 AB (CD  CD )  AB(CD  CD )
11 1 1  AB (CD  CD )  AB(CD  CD )
10 1 1  A B C  D
A B C D
4변수 XNOR

WONKWANG UNIVERSITY Dept. of Computer · Software Engineering

You might also like