Transcript 0 -

6
논리식의 간략화
IT CookBook, 디지털 논리회로
학습목표
카르노 맵을 이용한 논리식의 간략화에 대해 알아
본다.
Quine-McCluskey 최소화 알고리즘에 대해 알아
본다.
출력함수가 여러 개일 때 논리식을 공유하는 방법
에 대해 알아본다.
NAND와 NOR 게이트로 나타내는 방법을 알아본
다.
XOR 게이트와 XNOR 게이트의 특징에 대해 알아
본다.
목차
1. 2변수 카르노 맵
2. 3변수 카르노 맵
3. 4변수 카르노 맵
4. 선택적 카르노 맵
5. 논리식을 카르노 맵으로 작성
6. 5변수, 6변수 카르노 맵
7. Quine-McCluskey 최소화 알고리즘
8. 여러 개의 출력함수
9. NAND와 NOR 게이트로의 변환
10. XOR와 XNOR 게이트
Section 01 2변수 카르노 맵
 2변수 카르노 맵 표현 방법
 무관항(don't care) : 입력이 결과에 영향을 미치지 않는 민텀항.
 X로 표시하거나 d로 표시한다.
 일반항과 무관항 표현
A
F ( A, B ) 
 m(0,3)
B 0
1
0 1
X
1
1
F ( A, B) 
 m(0,3)   d (1)
Section 01 2변수 카르노 맵
 카르노맵을 이용한 간략화 방법
① 1, 2, 4, 8, 16개로 그룹을 지어 묶는다.
② 바로 이웃해 있는 항들끼리 묶는다.
③ 반드시 직사각형이나, 정사각형의 형태로 묶어야만 한다.
B
A
0
0
1
1
1
F  AB  AB
 A( B  B)  A 1  A
1
FA
중복하여 묶
어도 된다.
 간략화 예
a b
f
0
0
1
1
1
1
1
0
0
1
0
1
b
0
1
0
1
1
1
1
a
f  a b
f   m(0,1,2)  ab  ab  ab
 a(b  b)  b(a  a)  a 1  b 1
 ab
Section 02 3변수 카르노 맵
 3변수 카르노 맵 표현 방법
Section 02 3변수 카르노 맵
 간략화 예
BC
A 00 01 11 10
0 1
1
BC
A 00 01 11 10
0 1
1
1
1
1
1
양쪽 끝은 연결
되어 있다.
F  AB  AB
F  AC
BC
A 00 01 11 10
1
0 1
1
1
BC
A 00 01 11 10
1
0
1
1
1
1
1
F C
FA
BC
A 00 01 11 10
0 1
1
1 1
1
F C
양쪽 끝은 연결
되어 있다.
Section 02 3변수 카르노 맵
 간략화 예(Cont’d)
가능한 크게
묶는다.
BC
A 00 01 11 10
1
0 1
1
1
1 1
1
F  AC
BC
A 00 01 11 10
1
0 1
1
1
1 1
1
F  AC  C
Section 02 3변수 카르노 맵
 간략화 예(Cont’d)
a b c
f
0 0 0
0
0 0 1
0
0 1 0
0
0 1 1
1
1 0 0
0
1 0 1
1
1 1 0
1
1 1 1
1
f   m(3,5,6,7)  ab  bc  ac
a
bc
00 01 11 10
0
1
1
1
1
1
세 번 중복하여
묶었다.
Section 03 4변수 카르노 맵
 4변수 카르노 맵 표현 방법
CD
00 01 11 10
AB
00 ABC D ABCD ABCD ABC D
01
ABC D ABC D ABCD ABC D
11
ABC D ABC D ABCD ABC D
10
A BC D A BC D A BCD A BC D
상하 좌우는 연
결되어 있다.
Section 03 4변수 카르노 맵
예제 6-1
여러 가지 4변수 카르노 맵의 예제.
CD
AB 00 01 11 10
00
1
01
CD
AB 00
00
1
11
10
11 1
10
10
F  ABC
1
10
11
10 1
F  BC D
CD
AB 00
00
01
11
10
CD
AB 00
00 1
01
11
01 1
1
1
01 1
1
01
1
1
11 1
1
1
11 1
1
11
1
1
10 1
F  C D  BC
10
11
F  ABD
01 11
01
01
01
11
CD
AB 00
00 1
01
CD
AB 00
00 1
10 1
10
F  BD
10
1
1
F  BD  B D
Section 03 4변수 카르노 맵
CD
AB 00 01
1
00 1
11
10
CD
AB 00
00 1
01 11 10
1
1
1
CD
AB 00
00 1
01 11 10
1
1
1
01 1
1
01
01 1
1
11 1
1
11
11 1
1
10 1
1
10 1
10 1
1
F C
CD
AB 00
00 1
11 1
10 1
1
1
1
1
1
1
1
F  AB  AB  C D  CD
CD
AB 00
00 1
01 11 10
1
1
1
CD
AB 00 01 11 10
1
1
1
00 1
01 1
1
01
11 1
1
11 1
1
10 1
10 1
1
1
1
F  AC
FB
01 11 10
1
1
1
01 1
1
1
F  BD
1
1
1
1
1
F  AB  AD  AC  BC
Section 03 4변수 카르노 맵
CD
AB 00
00 1
01 1
01
CD
AB 00 01 11
00 1 1 1
11 10
1 1
1
11
10 1
01
1
1
11
1
1
10
1
1
10
1
F  ABC  ABC  BD  CD
F  ABC  ABC  BC D  BCD
CD
AB 00 01 11 10
00
1 1 1
01
1
1
11 1
1
1
10 1
1
1
1
F  AC  AC  D
Section 03 4변수 카르노 맵
예제 6-2 다음 식과 같이 무관항이 있을 경우 카르노 맵을 이용하여 간략화
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)
CD
AB 00 01 11 10
00 1 x 1 1
01 1
1
11
10
x
CD
AB 00
00 x
01 11 10
1
1
1
CD
AB 00 01 11 10
x
1
1
00 1
x
01 1
1
01 1
x
11 x
x
11 x
1
10 1
1
10 1
F  AB  CD  AC
F  D  AB
x
x
x
1
1
x
F  A B
Section 03 4변수 카르노 맵
예제 6-3 다음 진리표로부터 카르노 맵을 작성하고 간략화하여라.
ABCD
F
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
x
1
x
1
x
1
1
1
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
CD
AB 00 01 11 10
00 x 1 1 x
01 x
1
11
1
1
1
1
10
F ( A, B, C, D)  A  BCD  BCD
Section 04 선택적 카르노 맵
yz
x
00
01
0
1 1
1
11 10
1
1
1
yz
x
01 11
1
1
1 1
10
01
11 1
10
01
11 10
1
1
1
1
0
f  xy  x y  yz
f  xy  x y  xz
CD
AB 00
00
00
CD
AB 00
00
01 11
1
1
10
1
1
01
1
1
1
1
F  AB  ABD  ACD
11 1
10
1
1
F  AB  ABD  BCD
Section 05 논리식의 카르노 맵 작성
 논리식에서 생략된 부분을 찾아서 Minterm으로 변경
f ( x, y, z )  xyz  x y  x y
 xyz  x y ( z  z )  x y ( z  z )
 xyz  x yz  x y z  x yz  x y z
  m(0, 1, 2, 3, 7)
yz
x
00
0 1
1
01 11 10
1
1
1
1
f ( x, y, z)  x  yz
Section 05 논리식의 카르노 맵 작성
f ( w, x, y, z )  wx  wxy  wyz  w yz  wxy z
 wx( y  y )( z  z )  wxy( z  z )  w( x  x) yz  w( x  x) yz  wxy z
  m(1, 3, 5, 6, 7, 12, 13, 14, 15)
yz
wx 00 01 11
00
1 1
10
01
1
1
1
11 1
1
1
1
10
f (w, x, y, z)  wx  wz  xy
Section 05 논리식의 카르노 맵 작성
예제 6-4 다음 논리식을 카르노 맵으로 작성하고 간략화.
F ( A, B, C, D)  A  B  ABCD
CD
CD
00
AB
01
11
10
CD
00
AB
01
11
10
00
AB
00
00
01
01
1
1
1
1
01
1
1
1
1
11
11
1
1
1
1
11
10
1
1
1
1
10
00
01
1
11
10
10
B
A
ABCD
CD
최소항으로 바꾸지 않고 간
략화의 반대방법으로 카르
노 맵 작성
00
AB
00
01
1
11
10
F  A  B  CD
01
1
1
1
1
11
1
1
1
1
10
1
1
1
1
Section 05 논리식의 카르노 맵 작성
예제 6-5 다음 논리식을 카르노 맵으로 작성하고 간략화.
F ( A, B, C, D)  AB  BC  ACD  ABD  ACD
CD
CD
00
AB
01
11
10
00
AB
01
11
1
10
1
CD
00
AB
01
11
00
00
01
01
01
11
11
1
10
1
11
1
1
1
1
10
10
1
AB
00
AB
01
00
1
ACD
BC
CD
11
10
CD
CD
00
AB
01
11
10
AB
00
00
00
01
01
01
11
1
1
10
AB D
10
11
1
11
10
1
10
AC D
00
01
11
1
10
1
1
1
1
1
1
1
F  AB  BC
Section 06 5변수, 6변수 카르노 맵
 5변수인 경우
DE
BC 00
00 0
A=0
01 11 10
1
3
2
01 4
5
7
11 12
13
15
10 8
9
11
A=1
00 01 11 10
6
00 16 17 19 18
14
01 20 21 23 22
10
11 28 29 31 30
10 24
25
5변수 카르노 맵
27
26
Section 06 5변수, 6변수 카르노 맵
예제 6-6
다음 5변수 논리함수를 카르노 맵을 이용하여 간략화
F ( A, B, C, D, E )   m(4, 5, 6, 7, 9, 11, 13, 15, 16, 18, 27, 28,31 )
DE
BC 00
00
A=0
01 11
01 1
1
1
11
1
1
10
1
1
10
00
1
A=1
01 11
10
1
1
1
1
1
F ( A, B, C, D, E)  ABC  ABE  ABC E  ABCDE  BDE
Section 06 5변수, 6변수 카르노 맵
 6변수인 경우
AB=00
EF
CD 00 01 11 10
2
1
3
00 0
01
4
5
7
AB=01
EF
CD 00 01 11 10
6 00 16 17 19 18
11 12 13 15 14
10
8
9
11 10
AB=11
EF
CD 00 01 11 10
01 20 21 23 22 00 48 49 51 50
AB=10
EF
CD 00 01 11 10
11 28 29 31 30
01 52 53 55 54
00 32 33 35 34
10 24 25 27 26
11 60 61 63 62
01 36 37 39 38
10 56 57 59 58
11 44 45 47 46
10 40 41 43 42
6변수 카르노 맵
Section 06 5변수, 6변수 카르노 맵
예제 6-7 F ( A, B, C , D, E , F )   m(1, 3, 6, 8, 9, 13, 14, 17, 19, 24, 25, 29,32, 33
34, 35, 38, 40, 46, 49, 51, 53, 55, 56, 61, 63)
EF
CD 00
00
AB=00
01 11
1
1
10
00
AB=01
01 11
1
1
10
AB=11
00 01 11
1
1
1
01
11
1
10 1
1
1
1
1
1
10
00
1
AB=10
01 11 10
1
1
1
1
1
1
1
1
1
1
1
F  ABDF  C D E F  C DF
EF
CD 00
00
AB=00
01 11
x
x
10
00
AB=01
01 11
x
x
10
AB=11
00 01 11
x
x
1
01
11
1
10 x
1
1
1
x
1
10
00
1
AB=10
01 11 10
x
x
1
x
x
1
x
x
1
x
F  ABDF  C D E F  C DF  AC EF  BDE F  ABC D
x
F  AC EF  BDE F  ABC D
Section 07 Quine-McCluskey 최소화 알고리즘





Implicant: 간략화되거나 최소화될 항.
PI(Prime Implicant) : 카르노 맵에서 최대 크기로 묶어서 만들어진 곱의 항.
EPI(Essential Prime Implicant) : PI중에서 유일한 PI
PI와 EPI는 카르노 맵을 조사하여 결정.
PI의 집합이란 함수를 구성하는 각 최소항을 모두 포함하며, 각 최소항은 PI
집합 중에 최소한 한 개의 PI에는 포함된다.
F ( A, B, C, D)   m(0, 2, 3, 5, 7, 8, 9, 10, 11, 13, 15)
CD
AB 00
00 1
01
11 10
1
1
01
1
1
11
1
1
10 1
1
1
1
Prime Implicant
CD
AB 00
00 1
01
11 10
1 1
01
1
1
11
1
1
10 1
1
1
1
Essential Prime Implicant
Section 07 Quine-McCluskey 최소화 알고리즘
1. Quine-McCluskey 방법
 QM(Quine-McCluskey) 방법은 많은 변수, 특히 변수가 6개 이상일 때 유용
한 방법
 QM 방법은 최소 SOP 식으로 만들어 진다.
 QM 방법의 과정
 진리표에서 최소항을 모두 찾는다.
 최소항 중에서 입력 변수에 1이 나타나는 개수에 따라서 인덱스(index)를
매겨 그룹을 만든다.
 각 그룹간에 1비트만 다른 항들을 찾아서 간략화하며, 간략화에 사용된
항들은 표시한다.
 이 과정을 반복하여 더 이상 간략화되지 않을 때까지 반복한다.
 간략화 과정이 끝나고 표시되지 않은 항들이 PI가 된다.
 중복된 PI를 찾기 위하여 차트를 만들고, EPI를 찾는다.
 EPI에 포함되는 PI들을 제거한다.
 EPI에 포함되지 않은 항들에 대해서 최소 개수의 SOP 식을 찾는다.
Section 07 Quine-McCluskey 최소화 알고리즘
 QM 방법은 간단하게 2단계로 이루어진다.
 단계 1 : XY  X Y  X (Y  Y )  X 을 적용하여 가능한 한 많은 변수들을
제거한다. 결과 항들은 PI가 된다.
 단계 2 : PI 차트를 이용하여 함수를 PI의 최소 집합들로 표현한다.
 QM 방법을 이용한 간략화 과정
입력
XY  X Y  X
민텀항의 합
규칙을 이용하여
PI들을 구한다.
PI 차트를 이용하여
PI 집합을 구한다.
Section 07 Quine-McCluskey 최소화 알고리즘
2. 기본 규칙
 QM 방법은 규칙 A  A  1 을 반복 적용하여 최소화한다.
 함수의 각 항들은 2진 형태(0과 1)로 표현하고, 변수가 제거된 곳은 대시(-)
를 사용한다.
ABC : 101로 표현. (A=1, B=0, C=1)
ABC : 010로 표현. (A=0, B=1, C=0)
AB : 10-로 표현. (A=1, B=0, C= )
AC : 1-1로 표현. (A=1, B=, C=1)
Section 07 Quine-McCluskey 최소화 알고리즘
 QM 방법을 이용한 간략화 과정
A
0
1
-
B
0
0
0
C
1
1
1
D
1
1
1
변수가 결합되는 경우
F ( A, B, C , D) 
 m(0011, 1011 )
 ABCD  ABCD  BCD
A B C D
0 1 1 1
1 0 1 1
?
두 자리가
다르기 때문에
결합될 수 없다
변수가 결합되지 못하는 경우
F ( A, B, C , D) 
 m(0111, 1011 )
 ABCD  ABCD
 두 항을 결합하기 위한 QM 방법의 첫 번째 규칙은 오직 한 비트만 다를 때
제거된다는 것이다.
 첫 번째 규칙을 적용하기 위해서 minterm 항들을 서로 1의 개수에 따라서 재
배열한다.
 minterm 항을 2진 형태로 표현하여 1의 개수에 따라서 인덱스를 매기며, 인
덱스 0, 인덱스 1, 인덱스 2 등으로 나열한다.
Section 07 Quine-McCluskey 최소화 알고리즘
 QM 방법에서의 인덱스
index 0
index 1
index 2
index 3
index 4
A
0
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
B
0
0
0
1
0
0
1
1
0
0
1
1
0
1
1
1
C
0
0
1
0
0
1
0
1
0
1
0
1
1
0
1
1
D
0
1
0
0
0
1
1
0
1
0
0
1
1
1
0
1
10진 표기
0
1
2
4
8
3
5
6
9
10
12
7
11
13
14
15
Section 07 Quine-McCluskey 최소화 알고리즘
예
F ( A, B, C ) 
index 0
index 1
index 2
index 3
 m(000 , 010 , 100, 101, 111)
A
0
0
1
1
1
B
0
1
0
0
1
C
0
0
0
1
1
10진 표기
0
2
4
5
7
 인덱스 0의 000과 인덱스 1의 010은 가운데 비트 하나만 다르므로 결합될 수
있으며, 0-0이 된다.
 인덱스 1의 010과 인덱스 2의 101은 서로 인접한 인덱스이지만 두 개 이상의
비트가 다르므로 결합할 수 없다.
Section 07 Quine-McCluskey 최소화 알고리즘
3. QM 방법을 이용한 간략화
F ( A, B, C)  ABC  ABC  ABC  ABC
minterm
10진
2진
index
ABC
0
000
0
ABC
1
001
1
ABC
ABC
4
100
1
5
101
2
 첫 번째 과정
Column 1
index
decimal
ABC
0
(0)
000
1
(1)
(4)
001
100
2
(5)
101
Section 07 Quine-McCluskey 최소화 알고리즘
 두 번째 과정
Column 1
Column 2
index decimal A B C
index decimal A B C
0
(0)
000

1
(1)
(4)
001
100


(5)
101

2
0
(0,1)
(0,4)
00-00
1
(1,5)
(4,5)
-01
10-
BC
00
01
0
1
1
1
1
1
A
F ( A, B, C)  AB  BC  BC  AB
 세 번째 과정
Column 1
Column 2
index decimal A B C

(1)
(4)
001
100


(5)
101

(0)
1
2
index decimal A B C
000
0
Column 3
decimal
ABC
0
(0,1)
(0,4)
00-00


(0,1, 4,5)
-0-
1
(1,5)
(4,5)
-01
10-


(0,4,1,5)
-0-
F ( A, B, C)  B
11
10
Section 07 Quine-McCluskey 최소화 알고리즘
예제 6-8
다음 식을 QM방법을 이용하여 간략화 하여라.
 m(0, 1, 2, 3,5,7,8,10 ,12,13,15 )
F ( A, B, C , D)   m(0000, 0001, 0010, 0011,0101, 0111,1000, 1010,1100, 1101,1111 )
F ( A, B, C , D)   m(0, 1, 1, 2,2,3,1,2, 2,3,4 )
F ( A, B, C , D) 
Column 2
Column 1
index decimal A B C D
index decimal A B C D
0
(0,1)
(0,2)
(0,8)
00000-0
-000



1
(1,3)
(1,5)
(2,3)
(2,10)
(8,10)
(8,12)
00-1
0-01
001-010
10-0
1-00





(3,7)
(5,7)
(5,13)
(12,13)
0-11
01-1
-101
110-



(7,15) - 1 1 1
(13,15) 1 1 - 1


0
(0)
0000

1
(1)
(2)
(8)
0001
0010
1000



2
(3)
(5)
(10)
(12)
0
0
1
1
1
1
0
0




0111
1101


2
3
(7)
(13)
4
(15)
1111

3
0
1
0
1
1
0
1
0
Column 3
decimal
ABCD
(0,1,2,3)
(0,2,1,3)
(0,2,8,10)
(0,8,2,10)
00-00--0-0
-0-0
(1,3,5,7)
(1,5,3,7)
0--1
0--1
(5,7,13,15) - 1 - 1
(5,13,7,15) - 1 - 1
Section 07 Quine-McCluskey 최소화 알고리즘
AB  B D  AD  BD  AC D  ABC
IMPLICANTS
AB
BD
AD
BD
AC D
AB C
0
1
2
3
00--
X
X
X
X
-0-0
X
0--1
5
7
X
X
X
-1-1
X
X
X
X
1–00
8
10
X
(X)
X
X
X
X
X
F(A,B,C,D)  B D  BD  AB  AC D
F(A,B,C,D)  B D  BD  AD  AC D
X
13
15
X
(X)
X
110-
Essential
12
X
(X)
X
X
(X)
01
1
11
1
10
1
1
1
1
1
CD
00
AB
00 1
F(A,B,C,D)  B D  BD  AB  ABC
01
F(A,B,C,D)  B D  BD  AD  ABC
11
1
10
1
1
Section 07 Quine-McCluskey 최소화 알고리즘
예제 6-9
다음 식을 QM방법을 이용하여 간략화 하여라.
f (a, b, c, d )   m(0, 1, 2, 3,6,7,8,9,14,15)
Column 1
index decimal
abcd
0
(0)
0000
1
(1)
(2)
(8)
0001
0010
1000
2
(3)
(6)
(9)
0011
0110
1001
3
(7)
(14)
0111
1110
4
(15)
1111
Section 07 Quine-McCluskey 최소화 알고리즘
Column 2
Column 1
index decimal a b c d
index decimal a b c d
0
(0)
0000

1
(1)
(2)
(8)
0001
0010
1000



2
(3)
(6)
(9)
0011
0110
1001



3
(7)
(14)
0111
1110


(15)
1111

4
Column 3
index
decimal
abcd
0
(0,1)
(0,2)
(0,8)
00000-0
-000



0
(0,1,2,3)
(0,1,8,9)
00--00-
1
(1,3)
(1,9)
(2,3)
(2,6)
(8,9)
00-1
-001
0010-10
100-





1
(2,3,6,7)
0-1-
2
(3,7) 0 - 1 1
(6,7) 0 1 1 (6,14) - 1 1 0



2
(6,7,14,15)
-11-
3
(7,15) - 1 1 1
(14,15) 1 1 1 -


f (a, b, c, d )  ab  bc  ac  bc
Section 07 Quine-McCluskey 최소화 알고리즘
IMPLICANTS
ab
bc
ac
bc
0
1
2
3
00--
X
X
X
X
-00-
X
X
0-1-
X
-11-
Essential
X
X
f  bc  bc  ab
f  bc  bc  ac
X
6
7
14
15
(X)
(X)
(X)
(X)
(X)
01
1
11
1
10
1
01
1
1
11
1
1
X
X
X
X
X
X
8
9
(X)
(X)
(X)
cd
00
ab
00 1
10
1
1
Section 07 Quine-McCluskey 최소화 알고리즘
예제 6-10
다음 식을 QM방법을 이용하여 간략화 하여라.
f (a, b, c, d ) 
 m( 1, 2, 3, 4, 5, 7, 9, 15)
Column 1
index
decimal
0
없음
1
(1)
(2)
(4)
0001
0010
0100
2
(3)
(5)
(9)
0011
0101
1001
3
(7)
0111
4
(15)
1111
abcd
Section 07 Quine-McCluskey 최소화 알고리즘
Column 2
Column 1
index decimal a b c d
index decimal a b c d
1
(1)
(2)
(4)
0001
0010
0100



1
(1,3)
(1,5)
(1,9)
(2,3)
(4,5)
2
(3)
(5)
(9)
0011
0101
1001



2
(3,7)
(5,7)
3
(7)
0111
(15)
1111
00-1
0-01
-001
001010-


0-11
01-1



3
4
Column 3

(7,15) - 1 1 1
index
decimal
abcd
1
(1,3,5,7)
(1,5,3,7)
0--1
0--1
2
없음
Section 07 Quine-McCluskey 최소화 알고리즘
IMPLICANTS
1
ad
b cd
0--1
X
-001
X
abc
001-
abc
010-
bcd
-111
Essential
2
3
4
X
5
7
X
X
9
(X)
(X)
X
(X)
X
X
X
15
(X)
X
(X)
X
X
(X)
(X)
(X)
f  bcd  abc  abc  bcd
cd
00
ab
00
01
1
01
1
11
1
1
1
11
10
1
1
10
1
Section 07 Quine-McCluskey 최소화 알고리즘
예제 6-11
화
무관항 조건을 가진 다음 식을 QM방법을 이용하여 간략
하여라.
f (a, b, c, d )   m( 0, 1, 4, 6, 8, 14, 15)   d ( 2, 3, 9)
Column 2
Column 1
index decimal a b c d
index decimal a b c d
0
1
2
3
4
(0)
(1)
(2*)
(4)
(8)
0000
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0




0011
0110
1001



(14)
1110

1111
0
(0,1)
(0,2*)
(0,4)
(0,8)
00000-0
0-00
-000




1
(1,3*)
(1,9*)
(2*,3*)
(2*,6)
(4,6)
(8,9*)
00-1
-001
0010-10
01-0
100-






2
(6,14) - 1 1 0
3
(14,15) 1 1 1 -

(3*)
(6)
(9*)
(15)
Column 3

index
decimal
abcd
0
(0,1,2*,3*)
(0,2*,4,6)
(0,8,1,9*)
00-0--0
-00-
1
없음
2
없음
Section 07 Quine-McCluskey 최소화 알고리즘
IMPLICANTS
ab
ad
bc
bcd
abc
0
1
00--
X
X
0--0
X
-00-
X
4
6
8
14
X
(X)
X
X
(X)
-110
X
X
111-
Essential
X
X
15
(X)
X
(X)
X
(X)
X
(X)
f  a d  bc  abc
cd
00
ab
00 1
01
01
1
1
1
1
10
X
1
11
10
11
X
X
1
Section 07 Quine-McCluskey 최소화 알고리즘
예제 6-12 QM방법을 이용하여 POS 형태로 간략화 하여라.
 m( 0, 1, 4, 6, 8, 14, 15)   d ( 2, 3, 9)
f (a, b, c, d )   m( 5, 7, 10, 11, 12, 13)   d ( 2, 3, 9)
f (a, b, c, d ) 
Column 2
Column 1
index decimal a b c d
index decimal a b c d
1
(2*)
0010

2
(3*)
(5)
(9*)
(10)
(12)
0
0
1
1
1
1
1
1
0
0





(7)
(11)
(13)
0111
1011
1101



3
0
1
0
0
1
1
0
0
1
0
Column 3
1
(2*,3*) 0 0 1 (2*,10) - 0 1 0
2
(3*,7)
(3*,11)
(5,7)
(5,13)
(9*,11)
(9*,13)
(10,11)
(12,13)
0-11
-011
01-1
-101
10-1
1-01
101110-
index


1
decimal
(2*,10,3*,11) - 0 1 -

2

abcd
없음
Section 07 Quine-McCluskey 최소화 알고리즘
IMPLICANTS
5
bc
-01-
acd
0-11
abd
01-1
X
bcd
-101
X
abd
10-1
acd
111-
abc
111-
Essential
7
10
11
(X)
X
12
13
X
X
X
X
X
X
X
(X)
X
(X)
X
(X)
X
f (a, b, c, d )  bc  abc  abd
f (a, b, c, d )  (b  c)( a  b  c)( a  b  d )
cd
00
ab
00
01
11
10
0
01
11
X
0
0
10
X
0
X
0
0
Section 07 Quine-McCluskey 최소화 알고리즘
예제 6-13
라.
다음 식을 QM방법을 이용하여 SOP 형태로 간략화 하여
f (a, b, c, d )   m( 0, 1, 2, 5, 6, 7, 8, 9, 10, 14)
Column 2
Column 1
index decimal a b c d
index decimal a b c d
0
(0)
0000

1
(1)
(2)
(8)
0001
0010
1000



2
(5)
(6)
(9)
(10)
0
0
1
1
1
0
1
0




(7)
(14)
0111
1110


3
1
1
0
0
0
1
0
1
Column 3
0
(0,1)
(0,2)
(0,8)
00000-0
-000



1
(1,5)
(1,9)
(2,6)
(2,10)
(8,9)
(8,10)
0-01
-001
0-01
-010
10010-0





2
(5,7)
(6,7)
(6,14)
(10,14)
01-1
011-110
1-10


index
decimal
abcd
0
(0,1,8,9)
(0,2,8,10)
(0,8,1,9)
(0,8,2,10)
1
(2,6,10,14) - - 1 0
(2,10,6,14) - - 1 0
-
0
0
0
0
0-0
0-0
Section 07 Quine-McCluskey 최소화 알고리즘
IMPLICANTS
0
acd
0-01
abd
01-1
abc
011-
bc
-00-
X
bd
-0-0
X
cd
--10
Essential
1
2
X
5
6
9
X
(X)
10
14
X
X
X
X
X
X
X
X
8
X
X
X
7
X
X
X
X
X
f  abd  bc  c d
X
X
(X)
X
(X)
X
(X)
cd
00
ab
00 1
01
01
1
11
10
1
1
1
1
11
10
1
1
1
1
Section 08 여러 개의 출력함수
 두 개의 시스템으로 분리되어 있는 것을 하나의 시스템으로 통합하는 것이
가능하고, 공유 가능한 게이트가 있을 때 공유하여 시스템을 구성하면 경제
적으로 좋은 시스템이 될 수 있을 것이다.
X
Y
Z
F
X
Y
Z
G
2 개로 분리된 시스템
X
Y
Z
F
G
하나로 통합된 시스템
Section 08 여러 개의 출력함수
예제 6-14 다음과 같은 2개의 논리함수를 하나의 시스템으로 통합
G( X , Y , Z )   m(1, 3, 6, 7)
F ( X , Y , Z )   m(0, 2, 6, 7)
YZ
X 00 01 11 10
1
0 1
1
1
YZ
X 00 01 11 10
1 1
0
1
1
1
F  X Z  XY
1
G  X Z  XY
X
Z
X
Z
F
G
X
Y
X
Y
X
Z
F
X
Y
G
X
Z
Section 08 여러 개의 출력함수
F ( X , Y , Z )   m(0, 1, 6)
예제 6-15
YZ
X 00 01 11 10
0 1 1
1
1
G( X , Y , Z )   m(2, 3, 6)
YZ
X 00 01 11 10
0
1 1
1
1
F  X Y  XY Z
G  XY  Y Z
YZ
X 00 01 11 10
0 1 1
YZ
X 00 01 11 10
0
1 1
1
1
1
1
G  XY  XY Z
F  X Y  XY Z
X
Y
X
Y
Z
F
G
X
Y
Section 08 여러 개의 출력함수
F (W , X , Y , Z )   m(4, 5, 6, 8, 12, 13)
예제 6-16
G(W , X , Y , Z )   m(0, 2, 5, 6, 7, 13, 14, 15)
YZ
WX 00 01 11 10
00
01
1
1
11
1
1
10
1
1
YZ
WX 00 01 11 10
1
00 1
01
1
1
1
11
1
1
1
10
F
YZ
WX 00 01 11 10
00
01
1
1
11
1
1
10
1
1
F  W X Z WY Z  X YZ
G
YZ
WX 00 01 11 10
1
00 1
01
1
1
1
11
1
1
1
10
G  W X Z  XY  X Y Z
Section 08 여러 개의 출력함수
W
X
Z
W
Y
Z
X
Y
Z
X
Y
F
G
W
X
Z
F  W X Z WY Z  X YZ
G  W X Z  XY  X Y Z
Section 08 여러 개의 출력함수
F (W , X , Y , Z )   m(0,2,6,10,11,14,15)
예제 6-17
G(W , X , Y , Z )   m(0,3,6,7,8,9,12,13,14,15)
H (W , X , Y , Z )   m(0,3,4,5,7,10,11,12,13,14,15)
 세 함수끼리 서로 독립된 부분과 두 개의 함수에서 같은 영역 중 크게 묶을
수 있는 영역을 먼저 찾는다.
YZ
WX 00 01 11 10
1
00 1
01
YZ
WX 00 01 11 10
1
00 1
1
01
11
1
1
11 1
1
10
1
1
10 1
1
F
G
YZ
WX 00
00 1
01
11
1
10
1
1
01 1
1
1
1
1
11 1
1
1
1
1
1
10
H
Section 08 여러 개의 출력함수
 나머지 중에서 공통된 부분과 독립된 부분을 찾는다.
YZ
WX 00 01 11 10
1
00 1
01
YZ
WX 00 01 11 10
1
00 1
1
01
11
1
1
11 1
1
10
1
1
10 1
1
F
YZ
WX 00
00 1
01
11
1
10
1
1
01 1
1
1
1
1
11 1
1
1
1
1
1
10
G
F (W , X , Y , Z )  WY  Y Z  W X Y Z
G(W , X , Y , Z )  W Y  XY  W XY  W X Y Z
H (W , X , Y , Z )  X Y  WY  W XY  W X Y Z
H
Section 08 여러 개의 출력함수
 무관항을 갖는 경우
F (W , X , Y , Z )   m(2,3,4,6,9,11,12)   d (0,1,14,15)
G(W , X , Y , Z )   m(2,6,10,11,12)   d (0,1,14,15)
 서로 독립된 영역을 찾은 후, 선택되지 않는 부분을 찾아서 나머지를 묶는다.
YZ
WX 00 01 11 10
1 1
00 x x
01 1
F
1
11 1
10
x
1
x
1
YZ
WX 00 01 11 10
1 1
00 x x
01 1
11 1
10
YZ
WX 00 01 11 10
1
00 x x
x
1
1
01
G
11 1
x
x
10
1
1
YZ
WX 00 01 11 10
1
00 x x
1
1
01
x
11 1
x
x
10
1
1
1
F  X Y  X Z  WY Z
G  WY  WX Z  WY Z
Section 09 NAND와 NOR 게이트로의 변환
 기본 게이트의 NAND, NOR 식
NOT
X XX X X
AND
XY  XY  X  Y
OR
NAND
NOR
X  Y  X  Y  X Y
XY  XY  X  Y
X  Y  X  Y  X Y
X Y  X Y  X Y  X Y  X Y  X Y  ( X  Y )( X  Y )
XOR
 (X Y)  (X Y)
Section 09 NAND와 NOR 게이트로의 변환
 기본 게이트의 NAND, NOR 회로
기본
게이트
NAND 게이트로 표현
NOT
AND
X
X
Y
NOR 게이트로 표현
X
X
X
XY
X
XY
Y
X
OR
X+Y
X
Y
X+Y
Y
X
X
X+Y
X+Y
XOR
Y
Y
Section 09 NAND와 NOR 게이트로의 변환
 기본 게이트의 NAND, NOR 회로(Cont’d)
기본
게이트
NAND 게이트로 표현
X
Y
NAND
X
NOR
Y
NOR 게이트로 표현
X
XY
XY
Y
X+Y
X
Y
X+Y
Section 09 NAND와 NOR 게이트로의 변환
예제 6-18 다음 카르노 맵을 NAND 게이트만으로 표현하여라.
cd
ab 00
00 1
01
11
01 1
1
1
11
1
1
10 1
1
10
f  abc  ac d  bd
a
b
c
a
c
d
f
b
d
이 논리식을 이중 부정을 하여 드모르간의 정리를 적용하여 변형.
f  abc  ac d  bd
 abc  ac d  bd
 abc  ac d  bd
a
b
c
a
c
d
b
d
f
Section 09 NAND와 NOR 게이트로의 변환
Another Method 1
a
b
c
a
c
d
f
b
d
=
a  b  c  abc
a
b
c
a
c
d
b
d
f
Section 09 NAND와 NOR 게이트로의 변환
Another Method 2
2입력 NAND 게이트만으로 나타내기 위해 이 논리식을 변형.
f  abc  a c d  bd  c(ab  a d )  bd
 c(ab  a d )  bd  c(ab  a d )  bd
 c(ab  a d )  bd
ab  ad  ab  ad  ab  ad
a
b
a
c
d
b
f
d
Section 09 NAND와 NOR 게이트로의 변환
f  abc  ac d  bd  c(ab  a d )  bd
a
b
a
c
d
b
f
d
모든 AND 게이트의 뒤에 NOT을 두 개 붙인다.
a
b
a
c
d
b
f
d
a
b
a
c
d
b
f
d
Section 09 NAND와 NOR 게이트로의 변환
예제 6-19 다음 논리식을 2입력 NAND 게이트만으로 표현하여라.
F  C D  ABC  AC  BC
F  C ( D  AB)  C ( A  B)
C
D
A
B
C
A
C
A
B
D
F
B
C
F  C D  ABC  AC  BC
C
A
B
C
F  C ( D  AB)  C ( A  B)
AND 게이트 뒤에 NOT을 두개씩 붙이면,
F
Section 09 NAND와 NOR 게이트로의 변환
A
B
D
F
C
A
B
C
A
B
D
C
A
B
A
B
D
C
C
F
C
F
Section 09 NAND와 NOR 게이트로의 변환
예제 6-20 SOP로 나타낸 논리식을 NOR 게이트만으로 표현하여라.
0을 묶어서 SOP 식으로 표현하면,
f  c d  bc  abd  abd
이것을 부정하게 되면 f 가 되며, 드
모르간의 정리를 적용하면 다음과
같은 POS식이 만들어진다.
cd
ab 00 01 11 10
0 0 0
00 1
01 1
1
1
0
11 0
1
1
0
10 1
1
0
0
f  c d  bc  abd  ab d
 c d  bc  abd  ab d
 (c  d )(b  c)( a  b  d )( a  b  d )
b
c
c
d
a
b
d
a
b
d
f
Section 09 NAND와 NOR 게이트로의 변환
논리식을 이중 부정을 하여 드모르간의 정리를 적용하여 변형.
f  (c  d )(b  c)( a  b  d )( a  b  d )
 (c  d )  (b  c)  (a  b  d )  (a  b  d )
b
c
c
d
a
b
d
a
b
d
f
또는 OR 게이트의 출력에 이중 부정을 하여 다음과 같이 할 수 있다.
b
c
c
d
a
b
d
a
b
d
f
=
Section 09 NAND와 NOR 게이트로의 변환
2입력 NOR 게이트만으로 나타내기 위해 이 논리식을 변형.
f  ((c  d )(b  c))(( a  (b  d ))( a  (b  d ))
b
c
c
d
a
b
a
b
f
d
d
Section 09 NAND와 NOR 게이트로의 변환
OR의 출력쪽에 이중 부정을 하여 정리하면,
b
c
b
c
c
d
c
d
a
b
a
b
f
a
b
d
a
b
d
f
d
d
나머지 OR와 AND를 NOR로 바꾸기 위해서 OR의 출력에 NOT을 두 개 붙
이고, AND의 입력 쪽에 NOT을 두 개 붙인다.
b
c
b
c
c
d
a
b
a
b
f
d
a
d
d
f
Section 09 NAND와 NOR 게이트로의 변환
예제 6-21 NOR 게이트만으로 표현하여라.
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
F
1
1
0
1
0
1
0
1
0
0
1
1
0
1
0
1
CD
AB 00 01 11 10
00 1
1 1 0
01 0
1
1
0
11 0
1
1
0
10 0
0
1
1
F  ( A  C  D)( B  D)( A  B  C )
B
D
A
B
C
A
C
D
F
Section 09 NAND와 NOR 게이트로의 변환
B
D
A
B
C
A
C
D
B
D
A
B
C
A
C
D
F
F
2입력 NOR 게이트만으로 나타내기 위해 논리식을 변형.
F  ( A  C  D)( B  D)( A  B  C )
 ((( A  C )  D)(( A  B)  C ))( B  D)
B
D
A
B
C
A
C
D
F
Section 09 NAND와 NOR 게이트로의 변환
OR의 출력에 NOT을 2개 붙이면,
B
D
A
B
C
A
C
D
B
D
A
B
C
A
C
D
F
F
나머지 OR와 AND를 NOR로 바꾸기 위해서 OR의 출력에 NOT을 두 개 붙
이고, AND의 입력 쪽에 NOT을 두 개 붙인다.
B
D
A
B
C
A
C
D
B
F
A
C
D
F
Section 10 XOR와 XNOR 게이트
 XOR : 홀수개의 입력이 1인 경우, 출력이 1이 되는 게이트
YZ
X 00 01 11 10
1
1
0
1 1
1
3변수 XOR
F  X Y Z  X Y Z  X Y Z  XYZ
 X (Y Z  Y Z )  X (Y Z  YZ )
 X (Y  Z )  X (Y  Z )
 X Y  Z
Section 10 XOR와 XNOR 게이트
YZ
WX 00 01 11 10
1
1
00
01
1
1
11
10
1
1
1
1
4변수 XOR
F  W X Y Z  W X Y Z  W X Y Z  W XYZ  W X Y Z  W X YZ  WX Y Z  WXY Z
 W X (Y Z  Y Z )  W X (Y Z  YZ )  W X (Y Z  YZ )  WX (Y Z  Y Z )
 W X (Y  Z )  W X (Y  Z )  W X (Y  Z )  WX (Y  Z )
 (Y  Z )(W X  WX )  (Y  Z )(W X  W X )  (Y  Z )(W  X )  (Y  Z )(W  X )
 W  X Y  Z
Section 10 XOR와 XNOR 게이트
 XNOR : 짝수개의 입력이 1인 경우 출력이 1이 되는 게이트
YZ
X 00 01 11 10
1
0 1
1
1
3변수 XNOR
1
F  X Y Z  X YZ  X Y Z  XY Z
 X (Y Z  YZ )  X (Y Z  Y Z )
 X (Y  Z )  X (Y  Z )
 X  Y  Z  X⊙Y ⊙Z
Section 10 XOR와 XNOR 게이트
YZ
WX 00 01 11 10
1
00 1
1
01
11
10
1
1
1
1
1
4변수 XNOR
F  W X Y Z  W X YZ  W X Y Z  W XY Z  W X Y Z  W X Y Z  WX Y Z  WXYZ
 W X (Y Z  YZ )  W X (Y Z  Y Z )  W X (Y Z  Y Z )  WX (Y Z  YZ )
 W X (Y  Z )  W X (Y  Z )  W X (Y  Z )  WX (Y  Z )
 (Y  Z )(W X  WX )  (Y  Z )(W X  W X )  (Y  Z )(W  X )  (Y  Z )(W  X )
 W  X  Y  Z  W⊙ X⊙Y⊙Z
Section 10 XOR와 XNOR 게이트
YZ
X 00 01 11 10
1
1
0
1
1
1
YZ
WX 00 01 11 10
1
1
00
01
1
10
1
1
11
1
1
1
1
F  W X Z  W X Z  W X Z  WXZ
 W ( X Z  X Z )  W ( X Z  XZ )
 W (X  Z) W (X  Z)
YZ
X 00 01 11 10
1
0 1
1 1
F  YZ  Y Z  Y  Z
W  X Z
F  Y Z  YZ  Y  Z  Y ⊙ Z
Section 10 XOR와 XNOR 게이트
YZ
WX 00 01 11 10
00 1 1
1
01
11
1
1
1
 W ( X Y  XY )  W ( X Y  X Y )
 W (X Y ) W (X Y )
1
10
F  W X Y  W XY  W X Y  WX Y
1
 W  X  Y  W ⊙ X ⊙Y
YZ
WX 00 01 11 10
1 1
00
YZ
WX 00 01 11 10
1
00 1
01
1
1
11
1
1
10
1
1
1
01
1
11
1
1
10
1
1
F  WZ W Z  W  Z
F  W Z  WZ  W  Z  W ⊙ Z
Section 10 XOR와 XNOR 게이트
 XOR 게이트의 다른 표현
 XOR : 입력된 신호가 서로 다를 때 출력이 1이 되는 게이트
F  XY  X Y  X  Y
X
X
Y
F
F
Y
 XOR : 두 입력이 모두 0이거나 1이면 출력이 0이 되는 게이트
F  XY  X Y  ( XY )( X Y )  ( X  Y ) XY  ( X  Y )( X  Y )
X
Y
X
Y
F
X
Y
F
F
Section 10 XOR와 XNOR 게이트
 XOR 게이트의 다른 표현 (Cont’d)
 XOR를 NAND 만으로 표현하기 위하여 이중부정을 취하고 드모르간의 정리
를 적용하여 정리
F  XY  X Y  ( X  Y ) XY  X  XY  Y  XY
 X  XY  Y  XY  X  XY  Y  XY
X
F
Y
6장 논리식의 간략화 끝