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
FA
중복하여 묶
어도 된다.
간략화 예
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
ab
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
FA
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 AC
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 AC
FB
01 11 10
1
1
1
01 1
1
1
F BD
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 XX 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장 논리식의 간략화 끝