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장 논리식의 간략화 끝