370 likes | 686 Views
3. 게이트레벨 최소화. Karnaugh Map 을 이용한 논리함수 간소화 방법. 논리함수식을 간소화하기 위해 체게화된 방법 K-map 을 이용하여 함수 간소화 방법 수평 , 수직으로 인접한것들끼리 묶는다 겸치는부분이 있더라도 가능하면 크게 묶는다 1, 2, 4, 8, … , 2ⁿ 개씩 묶으면 각각 0, 1, 2, 3, … n 개의 literal 수를 줄일수 있다 “ 1” 을 묶으면 f 에대한 표현식 , “0” 을 묶으면 f′ 에 대한 표현식을 얻을수 있다
E N D
Karnaugh Map을 이용한 논리함수 간소화 방법 • 논리함수식을 간소화하기 위해 체게화된 방법 • K-map 을 이용하여 함수 간소화 방법 • 수평, 수직으로 인접한것들끼리 묶는다 • 겸치는부분이 있더라도 가능하면 크게 묶는다 • 1, 2, 4, 8, … , 2ⁿ 개씩 묶으면 각각 0, 1, 2, 3, … n 개의 literal수를 줄일수 있다 • “1” 을 묶으면 f 에대한 표현식, “0” 을 묶으면 f′에 대한 표현식을 얻을수 있다 • Sum of Product : “1”을 묶어 f 에 대하여 표현한 식 • 입력수가 7 개 이상이면 다루기 어렵다
게이트-레벨 최소화 – 2-입력 맵 y y y x x x y x x’y + xy = y(x+x’) = y x’y’ + x’y = x’(y’+y) = x’ xy’ + xy = x(y+y’) = x y y y x x x x’y’ + xy’ = (x’+x)y’ = y’ x + x’ = 1 or y + y’ = 1 0
게이트-레벨 최소화 – 2-입력 맵 2. map 이용 1. Bool 대수 이용 y f = x’y + xy’ + xy = x’y + x(y’+y) = x’y + x = (x’+x)(y+x) = x+y x f = x + y
게이트-레벨 최소화 – 3-입력 맵 y y’ yz x x’ x z
게이트-레벨 최소화 – 3-입력 맵 yz yz yz x x x yz yz yz x x x
게이트-레벨 최소화 – 3-입력 맵 f = ∑(3 ,5 ,6 ,7) yz x f = xy + yz + xz
게이트-레벨 최소화 – 3-입력 맵 f = ∑(2, 3, 4 ,6 ,7) yz x f = y + xz’
+ + + + + + + 게이트-레벨 최소화 – 3-입력 맵 f = ∑(1, 2, 4, 7) (ex) f = A’C+A’B+AB’C+BC BC A F = A’B’C+A’BC’+AB’C’+ABC = A’(B’C+BC’)+A(B’C’+BC) = A’(B C)+A(B ᆞ C) = A’(B C)+A(B C)’ = A (B C) = A B C
게이트-레벨 최소화 – 4변수 맵 y y’ yz wx w’ x’ w z
게이트-레벨 최소화 – 4변수 맵 yz yz yz wx wx wx yz yz yz wx wx wx
게이트-레벨 최소화 – 4변수 맵 yz yz yz wx wx wx f = A’B’C’+B’CD’+A’BCD’+AB’C’ f = ∑(0,1,2,4,5,6,8,9,12,13,14) yz yz wx wx
게이트-레벨 최소화 – 4변수 맵(ex) f = ∏(3,4,6,7,11,12,13,14,15) f = ∑(0,1,2,5,8,9,10) yz yz wx wx
게이트-레벨 최소화 – 5변수 맵 CDE AB
게이트-레벨 최소화 – 5변수 맵 CDE CDE AB AB CDE CDE AB AB
게이트-레벨 최소화 – 5변수 맵 CDE CDE AB AB CDE CDE AB AB
게이트-레벨 최소화 – 5변수 맵 f = ∑(0,2,4,6,9,13,21,23,25,29,31) CDE CDE AB AB f = A’B’E’ + BD’E+ACE
게이트-레벨 최소화 – 5변수 맵 f = ∑(0,2,4,6,9,11,13,15,17,21,25,27,29,31) CDE CDE AB AB f = A’B’E’ + BD’E+ACE
게이트-레벨 최소화 – 5변수 맵 • Ex 3-7) 다음 Boole 함수를 간략화하라. F(A,B,C,D,E)=Σ(0,2,4,6,9,13,21,23,25,29,31) F = A'B'E' + BD'E + ACE
합의 곱(Product of Sum) 간략화 • (1) “0”을 묶어 f’의 Sum of Product 를 구한 후 • (2) f’의 보수를 취하여 f 를 구한다 yz f = ∑(0,1,2,5,8,9,10) wx yz wx Product of Sum f’ = AB + CD + BD’ f = (f’)’ f = (A’+B’)(C’+D’)(B’+D) Sum of Product f = B’C’ + B’C’ + A’C’D
Don’t-Care 조건 • 논리값이 규정(“0” or “1”) 되어있지 않은 Minterm의 집합 • Don’t Care 조건항을 포함하여 묶어도 관계없다 f = ∑(1,3,7,11,15) d = ∑(0,2,5) yz yz wx wx or f = yz + w’z f = yz + w’x’
Don’t-Care 조건 f = ∑(1,3,6,7,11,15) d = ∑(4,5,14) yz yz wx wx f = w’x + yz + w’z f = yz + xy + w’z
Don’t-Care 조건(ex:7-Segment Display) Don’t-Care 조건
NAND와 NOR의 구현 • NAND 와 NOR 게이트가 집적회로로 제작, 구현하기가 용이 • Digital 회로는 대부분 NAND/NOR/NOT 게이트로 구성 • NAND/NOR/NOT 게이트를 digital logic family 의 universal gate 라 함 AND 게이트의 구현 OR 게이트의 구현 ((xy)’)’ = xy ((x+y)’)’ = x+y (x’y’)’ = x+y (x’+y’)’ = xy
NAND와 NOR의 구현 • NAND 와 NOR 게이트로의 변환 = (xyz)’ x’ + y’ + z’ = (xyz)’ = (x + y + z)’ x’y’z’ = (x + y + z)’
NAND회로의 구현 [방법 1] 게이트의 변환을 이용 (ex) [방법 1] f = AB + CD+ E
NAND회로의 구현 [방법 2] “1”를 묶어 f의 sum of product 를 구한후, f에 보수를 두번 취한다 (ex) f = ∑(0, 6) yz x f = x’y’z’ + xyz’ = ((x’y’z’+xyz’)’)’ = ((x’y’z’)’(xyz’)’)’
NAND회로의 구현 [방법 3] “0”을 묶어 f’의 sum of product 를 구한후, 다시 보수를 두번 취하여 f’에 대한 NAND 회로로 구현한후, 출력에 NOT 게이트를 연결 yz x f’ = x’y + xy’+z = ((x’y+xy’+z)’)’ = ((x’y)’(xy’)’(z)’)’
NAND회로의 구현 (ex) f = ∑(0, 2, 4) [방법 2] [방법 3] yz yz x x
NAND회로의 구현 [방법 1] 게이트의 변환을 이용
NAND회로의 구현 [방법 2] “0”를 묶어 f’의 sum of product 를 구한다 f’에 보수를 취하여 f를 구한후, f에 보수를 두번 취한다 (ex) f = ∑(0, 6) yz x f’ = x’y+xy’+z (f’)’ = (x’y+xy’+z)’ = (x+y’)(x’+y)z’ ((f)’)’ = (((x+y’)(x’+y)z’)’)’ = ((x+y’)’+((x’+y)’+z)’
NAND회로의 구현 [방법 3] “1”를 묶어 f의 sum of product 를 구한 후, f에 보수를 취하여 f’에 대한 NOR 회로로 구현 후 출력에 NOT 게이트를 연결한다 yz x f = x’y’z’+xyz’ f’ = (x’y’z’+xyz’)’ = (x’y’z’)’(x+y+z’)’ = (x+y+z)(x’+y’+z) = ((x+y+z)’+(x’+y’+z)’)’
Exclusive-OR 함수 • 패리티의 생성과 검사 P = x y z
Exclusive-OR 함수 C = x y z P