5장부울대수 - KOREATECH · 2016. 10. 31. · 5.1 부울대수...

36
5장 부울 대수

Transcript of 5장부울대수 - KOREATECH · 2016. 10. 31. · 5.1 부울대수...

  • 5장 부울 대수

  • 5.1 부울대수ã 부울대수(boolean algebra)를 근거로 한 스위칭 이론(switching theory)은 논

    리설계에 있어서 이론적인 근거가 되는 수학적 체계.

    ã 부울대수

    - 부울상수와 부울변수로 구성, 0과 1의 두 개 값을 가짐

    - 논리레벨의 여러 정의

    논리 0 False Off Low No Open Switch

    논리 1 True On High Yes Closed switch

    - 부울대수는 논리회로의 입력 및 출력의 상관관계를 표현하는 방법

    입력의 논리 레벨에 따라 출력 결정

    논리변수 표현 : A, B.. 등과 같이 문자로 표현. 값은 A=0 또는 B=1 등으로 표현

    ã 부울대수의 기본 연산 : 논리동작 (logic operation)

    OR, AND, NOT

    ã 논리 게이트 : 입력신호에 대해 기본 논리연산(OR, AND, NOT)을 수행하는 디지털 회로는 다이오드, 트랜지스터, 저항 등을 사용하여 구성

    - 부울 변수를 전자회로에서 사용할 때 실제적인 전압 레벨

    0~0.8 V 논리 레벨(logic level) 0, 2~ 5V 논리 레벨 1로 표시,

    0.8~2V undefined 값, 논리레벨의 전이영역(transition region)

    한국기술교육대학교전기전자통신공학부 장영조

    ã 부울대수(boolean algebra)를 근거로 한 스위칭 이론(switching theory)은 논

    리설계에 있어서 이론적인 근거가 되는 수학적 체계.

    ã 부울대수

    - 부울상수와 부울변수로 구성, 0과 1의 두 개 값을 가짐

    - 논리레벨의 여러 정의

    논리 0 False Off Low No Open Switch

    논리 1 True On High Yes Closed switch

    - 부울대수는 논리회로의 입력 및 출력의 상관관계를 표현하는 방법

    입력의 논리 레벨에 따라 출력 결정

    논리변수 표현 : A, B.. 등과 같이 문자로 표현. 값은 A=0 또는 B=1 등으로 표현

    ã 부울대수의 기본 연산 : 논리동작 (logic operation)

    OR, AND, NOT

    ã 논리 게이트 : 입력신호에 대해 기본 논리연산(OR, AND, NOT)을 수행하는 디지털 회로는 다이오드, 트랜지스터, 저항 등을 사용하여 구성

    - 부울 변수를 전자회로에서 사용할 때 실제적인 전압 레벨

    0~0.8 V 논리 레벨(logic level) 0, 2~ 5V 논리 레벨 1로 표시,

    0.8~2V undefined 값, 논리레벨의 전이영역(transition region)

    2

  • ã 1입력 논리식, 2입력 논리식, 3입력 논리식

    입력 출력

    X Y Z F

    0 0 0

    0 0 1

    0 1 0

    ZYXF =

    ZYXF =

    ZYXF =

    입력 출력

    X F01

    XF =XF =

    1입력 논리식

    입력 출력

    X Y F0 00 11 01 1

    YXF =YXF =

    YXF =YXF =

    2입력 논리식

    0 1 0

    0 1 1

    1 0 0

    1 0 1

    1 1 0

    1 1 1

    ZYXF =

    ZYXF =

    ZYXF =

    ZYXF =

    ZYXF =

    ZYXF =

    3입력 논리식

    3한국기술교육대학교전기전자통신공학부 장영조

  • v 2입력 논리식 예

    v 3입력 논리식 예

    입력 출력X Y F0 0 10 1 11 0 11 1 0

    YXF +=

    X=0 또는 Y=0일 때, 1을 출력하는 논리식

    X=1이거나 (Y=0이고 Z=1)일 때, 1을 출력하는 논리식

    v 2입력 논리식 예

    v 3입력 논리식 예

    입력 출력

    X Y Z X=1 Z0 0 0 1 00 0 1 1 1 1 10 1 0 00 1 1 1 01 0 0 1 1 11 0 1 1 1 1 1 11 1 0 1 11 1 1 1 1 1

    ZYXF +=

    Y ZY ZYX +

    4한국기술교육대학교전기전자통신공학부 장영조

  • 5.2 부울대수 정리

    Ý 단일변수에 관한 정리 (공리)

    Ý duality 성립 : 0 1, + ·

    한국기술교육대학교전기전자통신공학부 장영조

    Ý 단일변수에 관한 정리 (공리)

    Ý duality 성립 : 0 1, + ·

    5

  • 다변수 부울 대수정리

    교환법칙 (9) x+y = y+x (10) x · y =y · x결합법칙 (11) x+(y+z) (12) x(yz)

    = (x+y)+z = x+y+z z = (xy)z = xyz

    분배법칙 (13a) x (y + z) (13b) x + yz

    = xy + xz = (x + y)(x + z)

    Absorption (14a) x + xy = x (14b) x(x+y) = x

    (15) x + x'y = x + y

    Consensus (16a) xy+x'z+yz = xy+x'z (16b) (x+y)(x'+z)(y+z) =(x+y)(x'+z)

    컨센서스 항

    (13b) 역 유도 (x+y)(x+z) = xx+xz+xy+yz = x(1+z+y)+yz = x + yz

    (14a) x + xy = x (1 + y) = x · 1 = x(14b) x(x+y) = xx+xy = x + xy = x

    (15) x+x'y =(x+x')(x+y) = 1 ·(x+y) = x+y (정리 13b)(16a) xy+x'z+yz = xy+x'z+yz(x+x') = xy+x'z+xyz+x'yz

    = xy(1+z) + x'z(1+y) = xy + x'z

    한국기술교육대학교전기전자통신공학부 장영조

    교환법칙 (9) x+y = y+x (10) x · y =y · x결합법칙 (11) x+(y+z) (12) x(yz)

    = (x+y)+z = x+y+z z = (xy)z = xyz

    분배법칙 (13a) x (y + z) (13b) x + yz

    = xy + xz = (x + y)(x + z)

    Absorption (14a) x + xy = x (14b) x(x+y) = x

    (15) x + x'y = x + y

    Consensus (16a) xy+x'z+yz = xy+x'z (16b) (x+y)(x'+z)(y+z) =(x+y)(x'+z)

    컨센서스 항

    (13b) 역 유도 (x+y)(x+z) = xx+xz+xy+yz = x(1+z+y)+yz = x + yz

    (14a) x + xy = x (1 + y) = x · 1 = x(14b) x(x+y) = xx+xy = x + xy = x

    (15) x+x'y =(x+x')(x+y) = 1 ·(x+y) = x+y (정리 13b)(16a) xy+x'z+yz = xy+x'z+yz(x+x') = xy+x'z+xyz+x'yz

    = xy(1+z) + x'z(1+y) = xy + x'z

    6

  • 드모르강 정리

    Ý DeMorgan's theorems는 변수의 합이나 곱의 형태를서로 바꾸며 식을 단순화하게 한다.

    (17a) x+y = x y NOR

    (17b) x y = x + y NAND

    식 F= 를 단순화하라.

    F = = (A'+C)' + (B+D')'

    = (A')' C' + B' (D')' = AC' + B'D

    Ý 드 모르강 정리로 간략화할 때 전체반전기호가 없어지면서 + 기호는 . 로, . 기호는 +로 변경, 단일 변수에 대한 반전만 남을 때까지 계속

    한국기술교육대학교전기전자통신공학부 장영조

    Ý DeMorgan's theorems는 변수의 합이나 곱의 형태를서로 바꾸며 식을 단순화하게 한다.

    (17a) x+y = x y NOR

    (17b) x y = x + y NAND

    식 F= 를 단순화하라.

    F = = (A'+C)' + (B+D')'

    = (A')' C' + B' (D')' = AC' + B'D

    Ý 드 모르강 정리로 간략화할 때 전체반전기호가 없어지면서 + 기호는 . 로, . 기호는 +로 변경, 단일 변수에 대한 반전만 남을 때까지 계속

    7

  • 드모르강 논리게이트

    좌변식: 입력변수 x 와 y를 갖는 NOR 게이트의 출력

    우변식: 입력변수 x 와 y를 각각 반전한 후 AND의 입력

    인버트된 입력을 갖는 AND = NOR 연산

    좌변식: 입력 x 와 y 의 NAND 게이트로 구성

    우변식: 반전된 두 입력 x 와 y를 OR 게이트 입력

    인버트된 입력을 갖는 OR게이트 = NAND 연산

    한국기술교육대학교전기전자통신공학부 장영조

    좌변식: 입력변수 x 와 y를 갖는 NOR 게이트의 출력

    우변식: 입력변수 x 와 y를 각각 반전한 후 AND의 입력

    인버트된 입력을 갖는 AND = NOR 연산

    좌변식: 입력 x 와 y 의 NAND 게이트로 구성

    우변식: 반전된 두 입력 x 와 y를 OR 게이트 입력

    인버트된 입력을 갖는 OR게이트 = NAND 연산

    8

  • ã 드모르강의 정리 예제

    ZYZXZYXZYXZYX +=+=+=++ )()(

    XYZYZWYZXWYZXWYZXW +=+=×+=++ )(

    FEDFECFEBAFEDCBA

    FEDCBAFEDCBAFEDCBA

    ++=×++=

    ×+++=××+=+++

    )(

    )()()(

    ã 드모르강의 정리 예제

    FEDFECFEBAFEDCBA

    FEDCBAFEDCBAFEDCBA

    ++=×++=

    ×+++=××+=+++

    )(

    )()()(

    ABCDFDEDFCECAB

    ABCDFEDCAB

    CDABFECDAB

    CDABFECDABCDABFECDAB

    +++++=

    ++++=

    ×+×+=

    ++++=++

    ))((

    )(

    )()())((

    9한국기술교육대학교전기전자통신공학부 장영조

  • v 회로에서 게이트를 거칠 때마다 게이트의 출력을 적어주면서 한 단계씩출력 쪽으로 나아가면 된다.

    논리회로 논리식 유도 과정

    5.3 논리회로의 논리식 변환

    논리회로 논리식 유도 과정

    10한국기술교육대학교전기전자통신공학부 장영조

  • v AND, OR, NOT을 이용하여 논리식으로부터 회로 구성

    yzyxyx ++

    보수 입력 사용NOT 게이트 사용

    논리식의 회로 구성

    AND-OR

    보수 입력 사용NOT 게이트 사용

    ))(( zyxyxf +++=

    OR-AND

    )( wxzvyxwzf +++=

    다단계 논리회로

    11한국기술교육대학교전기전자통신공학부 장영조

  • 5.4 부울 함수

    ã 부울 함수의 표현

    Ý 2진수(0, 1), 연산자(OR, AND, NOT), 괄호, 등호 등을 사용하여 표현.

    ã 부울 함수의 간소화Ý 게이트 수 (term)와 게이트의 입력이 되는 변수(literal)의 수

    를 줄이는 것.

    Ý 간소화 방법

    1. 부울 함수로 표현한다.

    2. 부울 대수의 항등식 규칙 등으로 간소화한다.

    3. 회로를 구성

    한국기술교육대학교전기전자통신공학부 장영조

    ã 부울 함수의 표현

    Ý 2진수(0, 1), 연산자(OR, AND, NOT), 괄호, 등호 등을 사용하여 표현.

    ã 부울 함수의 간소화Ý 게이트 수 (term)와 게이트의 입력이 되는 변수(literal)의 수

    를 줄이는 것.

    Ý 간소화 방법

    1. 부울 함수로 표현한다.

    2. 부울 대수의 항등식 규칙 등으로 간소화한다.

    3. 회로를 구성

    12

  • 대수적 간소화 방법ã 항(term) 결합 : 두 개의 항을 결합하여 하나의 항으로 만든다.

    ã 항 제거 : 항들을 제거하기 위하여 사용되는 정리.

    ã 문자(literal) 제거 : 문자들을 제거하기 위하여 사용되는 정리.

    ã 함수식의 의미가 변하지 않도록 주의하며, 적절한 항들을 함수식에 첨가

    한국기술교육대학교전기전자통신공학부 장영조

    ã 항(term) 결합 : 두 개의 항을 결합하여 하나의 항으로 만든다.

    ã 항 제거 : 항들을 제거하기 위하여 사용되는 정리.

    ã 문자(literal) 제거 : 문자들을 제거하기 위하여 사용되는 정리.

    ã 함수식의 의미가 변하지 않도록 주의하며, 적절한 항들을 함수식에 첨가

    13

  • ã 콘센서스(consensus) 정리Ý 부울 대수식에 있어서 콘센서스 항을 더해도 부울 대수식은 변하

    지 않는다.

    Ý 부울 표현식을 최소화하는데 유리하다.

    xy + xz' + yz = xy(z+z')+xz'+yz = xyz+xyz'+xz'+yz

    = yz(x+1) + xz'(y+1) = yz + xz'

    (예) F = x'y' + xz + yz' + y'z + xy

    x'y'와 xz의 컨센선스는 y'z

    y'z 와 xy 의 컨센선스는 xz

    컨센선스 y'z와 xz를 생략하여 간소화한다.

    F = x'y' + xy + y'z

    (예) F = (x+y)(x'+z)(y+z)

    = (x+y)(x'+z)

    consensus

    한국기술교육대학교전기전자통신공학부 장영조

    ã 콘센서스(consensus) 정리Ý 부울 대수식에 있어서 콘센서스 항을 더해도 부울 대수식은 변하

    지 않는다.

    Ý 부울 표현식을 최소화하는데 유리하다.

    xy + xz' + yz = xy(z+z')+xz'+yz = xyz+xyz'+xz'+yz

    = yz(x+1) + xz'(y+1) = yz + xz'

    (예) F = x'y' + xz + yz' + y'z + xy

    x'y'와 xz의 컨센선스는 y'z

    y'z 와 xy 의 컨센선스는 xz

    컨센선스 y'z와 xz를 생략하여 간소화한다.

    F = x'y' + xy + y'z

    (예) F = (x+y)(x'+z)(y+z)

    = (x+y)(x'+z)

    consensus

    14

  • 부울 함수의 보수ã 함수의 보수(complement of a function)구하는 방법

    1. 부울 함수 F 값에서 1은 0으로, 0은 1로 바꾸어서 구할 수 있다.

    2. 드모르강 정리를 이용하여 AND 연산자는 OR 연산자로, OR 연산자는 AND 연산자로 서로 바꾸고, 각 변수의 값도 1이면 0으로, 0이면 1로 바꾸어 구할 수 있다.

    3. 연산자들의 쌍대를 구한 후 각 변수의 값에 보수를 취하면 된다. 함수의 쌍대는 AND 연산자와 OR 연산자를 상호 교환하고, 1과 0을 바꾸어 구할 수 있다.

    F = x'y'z + xy'z' + x'z 의 보수함수 F' ?

    (2) à F' = (x+y+z')(x'+y+z)(x+z')

    (3) à F의 쌍대 (x'+y'+z)(x+y'+z')(x'+z)

    각 변수를 보수화 F' = (x+y+z')(x'+y+z)(x+z')

    한국기술교육대학교전기전자통신공학부 장영조

    ã 함수의 보수(complement of a function)구하는 방법

    1. 부울 함수 F 값에서 1은 0으로, 0은 1로 바꾸어서 구할 수 있다.

    2. 드모르강 정리를 이용하여 AND 연산자는 OR 연산자로, OR 연산자는 AND 연산자로 서로 바꾸고, 각 변수의 값도 1이면 0으로, 0이면 1로 바꾸어 구할 수 있다.

    3. 연산자들의 쌍대를 구한 후 각 변수의 값에 보수를 취하면 된다. 함수의 쌍대는 AND 연산자와 OR 연산자를 상호 교환하고, 1과 0을 바꾸어 구할 수 있다.

    F = x'y'z + xy'z' + x'z 의 보수함수 F' ?

    (2) à F' = (x+y+z')(x'+y+z)(x+z')

    (3) à F의 쌍대 (x'+y'+z)(x+y'+z')(x'+z)

    각 변수를 보수화 F' = (x+y+z')(x'+y+z)(x+z')

    15

  • 5.5 부울함수의 정형과 표준형ã 논리곱(AND게이트), 논리합(OR게이트)로 나타냄.

    ã 최소항 또는 표준곱(standard product)

    Ý 2개의 변수 a와 b에 대해서는 4가지 조합(a'·b', a'·b, a·b', a·b)이 가능하며, AND연산의 항으로 표시

    ã 최대항 또는 표준합(standard sum)

    Ý 2개의 변수 x와 y에 대해서는 4개의 조합(a+b, a+b‘, a'+b, a'+b')이 가능하며, OR연산의 항으로 표시

    ã 변수의 값이 0일 때는 ( ', bar) 기호로 하고, 1일 때는 붙이지 않는다.

    2 변수 최소항

    2 변수 최대항

    한국기술교육대학교전기전자통신공학부 장영조 16

    입력 출력

    a b f0 0 00 1 11 0 11 1 1

    abbabaf ++=Þ진리표로부터 최소항식 표현법

  • 부울함수 표현형식(1) SOP 형식 (곱의 합, Sum of Products ) : standard form

    - 예 : (a) ABC + A'BC'

    (b) AB + A'BC' + C'D' + D

    2개 이상의 AND 항을 ORing ==> AND 결과들을 OR 입력

    각 입력은 normal 혹은 inverted 형태로 사용

    입력변수의 개수가 가변

    (2) POS 형식 (합의 곱, Product of sums) : standard form

    - 예 : (a) (A + B' + C)(A + C)

    (b) (A + B)(C' + D)F

    2개 이상의 OR 항을 ANDing

    입력변수의 개수가 가변

    (3) minterm 또는 standard product

    n개의 변수는 0 - 2n-1의 값을 갖는 2n개의 minterm을 가짐

    각 minterm은 모든 입력변수(normal/inverted)에 대하여 AND

    (4) maxterm 또는 standard sum

    n개의 변수는 0 - 2n-1의 값을 갖는 2n개의 maxterm을 가짐

    각 maxterm은 모든 입력변수(normal/inverted)에 대하여 OR한국기술교육대학교전기전자통신공학부 장영조

    (1) SOP 형식 (곱의 합, Sum of Products ) : standard form

    - 예 : (a) ABC + A'BC'

    (b) AB + A'BC' + C'D' + D

    2개 이상의 AND 항을 ORing ==> AND 결과들을 OR 입력

    각 입력은 normal 혹은 inverted 형태로 사용

    입력변수의 개수가 가변

    (2) POS 형식 (합의 곱, Product of sums) : standard form

    - 예 : (a) (A + B' + C)(A + C)

    (b) (A + B)(C' + D)F

    2개 이상의 OR 항을 ANDing

    입력변수의 개수가 가변

    (3) minterm 또는 standard product

    n개의 변수는 0 - 2n-1의 값을 갖는 2n개의 minterm을 가짐

    각 minterm은 모든 입력변수(normal/inverted)에 대하여 AND

    (4) maxterm 또는 standard sum

    n개의 변수는 0 - 2n-1의 값을 갖는 2n개의 maxterm을 가짐

    각 maxterm은 모든 입력변수(normal/inverted)에 대하여 OR

    17

  • q 2변수 최소항의 표현 방법

    q3변수 최소항의 표현 방법

    a b 최소항 기호0 0 m00 1 m11 0 m21 1 m3

    baba

    baba

    å=++=++=

    )3,2,1(

    ),(

    321

    m

    mmmabbababaf

    a b c 최소항 기호

    최소항 (minterm)

    q 2변수 최소항의 표현 방법

    q3변수 최소항의 표현 방법 a b c 최소항 기호0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

    0mcbacbacbacbacbacbacbacba

    1m

    2m

    3m

    4m

    5m

    6m

    7m18한국기술교육대학교

    전기전자통신공학부 장영조

  • ã 3변수 최소항의 표현 방법

    x y z f 최소항 기호0 0 0 10 0 1 10 1 0 00 1 1 11 0 0 01 0 1 1

    0mzyxzyxzyxzyxzyxzyx

    1m

    2m

    3m

    4m

    5m

    xyzzyxyzxzyxzyx

    mzyxf

    ++++=

    ),,,,(),,( 75310

    zxyzyxzyx

    mzyxf

    ++=

    )6,4,2(),,(

    1 0 1 11 1 0 01 1 1 1

    zyxzyxzyx

    5m

    6m

    7m

    zxyzyxzyx

    mzyxf

    ++=

    )6,4,2(),,(

    zyxzyxzyxmzyxf

    xyzzyxyzxzyxzyxmzyxf

    ++===

    ++++==

    åå

    )6,4,2(),,(

    )7,5,3,1,0(),,(

    xyzzyxyzxzyxzyxm

    zyxzyxzyxmzyxf

    ++++==

    ++==

    åå

    )7,5,3,1,0(

    )6,4,2(),,(

    19한국기술교육대학교전기전자통신공학부 장영조

  • 예제 5-1 다음 진리표를 이용하여 f 와 를 최소항식으로 나타내어라.

    a b c f0 0 0 0 10 0 1 1 00 1 0 1 00 1 1 1 0

    f

    cbacbabcacbacba

    mcbaf

    ++++=

    )5,4,3,2,1(),,(

    abccabcba

    mcbaf

    ++=

    )7,6,0(),,(

    f

    0 1 1 1 01 0 0 1 01 0 1 1 01 1 0 0 11 1 1 0 1

    abccabcba

    mcbaf

    ++=

    )7,6,0(),,(

    20한국기술교육대학교전기전자통신공학부 장영조

  • ã 4변수 최소항의 표현 방법

    a b c d 최소항 기호 a b c d 최소항 기호0 0 0 0 1 0 0 00 0 0 1 1 0 0 10 0 1 0 1 0 1 00 0 1 1 1 0 1 10 1 0 0 1 1 0 0

    0m

    1m

    2m

    3m

    4m

    8m

    9m

    10m

    11m

    12m

    dcbadcbadcbadcbadcba

    dcbadcbadcbadcbadcba0 1 0 0 1 1 0 0

    0 1 0 1 1 1 0 10 1 1 0 1 1 1 00 1 1 1 1 1 1 1

    4m

    5m

    6m

    7m

    12m

    13m

    14m15m

    dcbadcbadcbadcba

    dcbadcbadcbadcba

    사용예

    abcdcdbadcbadcbadcbadcba

    mdcbaf

    +++++=

    )15,11,9,5,1,0(),,,(

    21한국기술교육대학교전기전자통신공학부 장영조

  • ã 최대항 표현 방법

    a b c 최대항 기호0 0 00 0 10 1 00 1 11 0 01 0 1

    0M

    cba ++cba ++cba ++cba ++cba ++cba ++

    1M

    2M

    3M4M

    5M

    a b 최대항 기호0 00 11 01 1

    ba +ba +ba +ba +

    0M

    1M

    2M

    3M

    2변수

    최대항 (maxterm)

    1 0 11 1 01 1 1 cba ++

    cba ++cba ++ 5M

    6M

    7M

    3변수

    22한국기술교육대학교전기전자통신공학부 장영조

  • a b c d 최대항 기호 a b c d 최대항 기호0 0 0 0 1 0 0 00 0 0 1 1 0 0 10 0 1 0 1 0 1 00 0 1 1 1 0 1 10 1 0 0 1 1 0 00 1 0 1 1 1 0 1

    0M

    1M

    2M

    3M

    4M

    5M

    8M

    9M

    10M

    11M

    12M

    13Mdcba +++

    dcba +++dcba +++dcba +++dcba +++dcba +++

    dcba +++

    dcba +++dcba +++dcba +++

    dcba +++dcba +++

    4변수 최대항

    0 1 0 1 1 1 0 10 1 1 0 1 1 1 00 1 1 1 1 1 1 1

    5M

    6M

    7M

    13M

    14M

    15Mdcba +++dcba +++dcba +++

    dcba +++dcba +++dcba +++

    23한국기술교육대학교전기전자통신공학부 장영조

  • 최소항과 최대항과의 관계

    v 최소항은 출력이 1인 항을 SOP로 나타낸 것이고, 최대항은 출력이 0인항을 POS로 나타낸 것이다.

    v 최소항과 최대항은 상호 보수의 성질을 가진다.

    Ý minterm과 maxterm의 관계

    mj = Mj m3 = abc = a+b+c = M3

    a b c f 최소항 기호 최대항 기호 관 계0 0 0 0 1 0mcba

    f

    cba ++ 0M 00 mM =0 0 0 0 10 0 1 1 00 1 0 1 00 1 1 1 01 0 0 1 01 0 1 1 01 1 0 0 11 1 1 0 1

    0mcbacbacbacbacbacbacbacba

    1m

    2m

    3m

    4m

    5m

    6m

    7m cba ++cba ++cba ++cba ++cba ++cba ++cba ++cba ++ 0M

    1M

    2M

    3M

    4M

    5M

    6M

    7M

    00 mM =

    11 mM =

    22 mM =

    33 mM =

    44 mM =

    55 mM =

    66 mM =

    77 mM =

    24한국기술교육대학교전기전자통신공학부 장영조

  • (5) Canonical formã 부울함수를 SOM(sum of minterms) 혹은 POM( product of

    maxterms)로 표현

    (a) sum of minterms

    f1 = x'y' + xy' = m0 + m2f2 = x'y'z + xyz' + xyz = m1 + m6 + m7f3 = a'b'cd + a'bc'd + ab'cd' + abcd' = m3 + m5 + m10 + m14f1(x,y) = ∑m(0, 2)

    f2(x,y,z) =∑m(1, 6, 7)

    f3(a,b,c,d) =∑m(3, 5, 10, 14)

    (b) product of maxterms

    f1 = (x+y+z)(x+y'+z)(x'+y'+z) = M0M2M6f2 = (a+b+c+d')(a+b'+c+d) (a'+b+c+d') (a'+b'+c+d)

    = M1M4M9M12f1(x,y,z) = ∏M(0, 2, 6)

    f2(a,b,c,d) = ∏M(1,4 , 9, 12)

    한국기술교육대학교전기전자통신공학부 장영조

    ã 부울함수를 SOM(sum of minterms) 혹은 POM( product of maxterms)로 표현

    (a) sum of minterms

    f1 = x'y' + xy' = m0 + m2f2 = x'y'z + xyz' + xyz = m1 + m6 + m7f3 = a'b'cd + a'bc'd + ab'cd' + abcd' = m3 + m5 + m10 + m14f1(x,y) = ∑m(0, 2)

    f2(x,y,z) =∑m(1, 6, 7)

    f3(a,b,c,d) =∑m(3, 5, 10, 14)

    (b) product of maxterms

    f1 = (x+y+z)(x+y'+z)(x'+y'+z) = M0M2M6f2 = (a+b+c+d')(a+b'+c+d) (a'+b+c+d') (a'+b'+c+d)

    = M1M4M9M12f1(x,y,z) = ∏M(0, 2, 6)

    f2(a,b,c,d) = ∏M(1,4 , 9, 12)

    25

  • (6) Canonical form의 상호 변환

    f1 = x'y'z+xyz'+xyz = m1+m6+m7f1'= x'y'z'+ x'yz'+ x'yz+ xy'z'+ xy'z

    f1 = (f1')' = ( x'y'z'+ x'yz'+ x'yz+ xy'z'+ xy'z)'

    = (x+y+z)(x+y'+z)(x+y'+z')(x'+y+z)(x'+y+z')

    = M0M2M3M4M5

    f2 = m0 + m2 + m5 + m6= M1M3M4M7

    x y z f1 f2

    0 0 0

    0 0 1

    0 1 0

    0 1 1

    1 0 0

    1 0 1

    1 1 0

    1 1 1

    0

    1

    0

    0

    0

    0

    1

    1

    1

    0

    1

    0

    0

    1

    1

    0

    한국기술교육대학교전기전자통신공학부 장영조

    f1 = x'y'z+xyz'+xyz = m1+m6+m7f1'= x'y'z'+ x'yz'+ x'yz+ xy'z'+ xy'z

    f1 = (f1')' = ( x'y'z'+ x'yz'+ x'yz+ xy'z'+ xy'z)'

    = (x+y+z)(x+y'+z)(x+y'+z')(x'+y+z)(x'+y+z')

    = M0M2M3M4M5

    f2 = m0 + m2 + m5 + m6= M1M3M4M7

    0 0 0

    0 0 1

    0 1 0

    0 1 1

    1 0 0

    1 0 1

    1 1 0

    1 1 1

    0

    1

    0

    0

    0

    0

    1

    1

    1

    0

    1

    0

    0

    1

    1

    0

    26

  • (7) Standard form과 canonical form의 변환

    f1 = x + y'z = (x+y')(x+z)

    = (x+y'+zz')(x+z+yy')

    = (x+y'+z)(x+y'+z')(x+y+z)(x+y'+z)

    = (x+y'+z)(x+y'+z')(x+y+z) = M0M2M3 ; POM

    f1 = x+y'z = x(y+y')(z+z') + (x+x')y'z

    = xyz + xyz' + xy'z + xy'z' + xy'z + x'y'z

    = m7+m6+m5+m4+m1 ; SOM

    f2 = (a + c')(a + b') = aa+ ab'+ ac' + c'b'

    = a(b+b')(c+c') + ab'(c+c') + ac'(b+b') + c'b'(a+a')

    = a(bc+bc'+b'c+b'c')+ab'c+ab'c'+ ...

    = abc+abc'+ab'c+ab'c'+a'b'c'

    한국기술교육대학교전기전자통신공학부 장영조

    f1 = x + y'z = (x+y')(x+z)

    = (x+y'+zz')(x+z+yy')

    = (x+y'+z)(x+y'+z')(x+y+z)(x+y'+z)

    = (x+y'+z)(x+y'+z')(x+y+z) = M0M2M3 ; POM

    f1 = x+y'z = x(y+y')(z+z') + (x+x')y'z

    = xyz + xyz' + xy'z + xy'z' + xy'z + x'y'z

    = m7+m6+m5+m4+m1 ; SOM

    f2 = (a + c')(a + b') = aa+ ab'+ ac' + c'b'

    = a(b+b')(c+c') + ab'(c+c') + ac'(b+b') + c'b'(a+a')

    = a(bc+bc'+b'c+b'c')+ab'c+ab'c'+ ...

    = abc+abc'+ab'c+ab'c'+a'b'c'

    27

  • 예제 5-2 다음 최대항 식을 진리표로 만들어 보고, 논리식을 구하시오.

    x y z f 최대항 기호0 0 0 00 0 1 00 1 0 1

    0M

    zyx ++zyx ++

    zyx ++

    1M

    2M

    Õ= )7 5, 3, 1, 0,(),,( Mzyxf

    0 1 0 10 1 1 01 0 0 11 0 1 01 1 0 11 1 1 0 zyx ++

    zyx ++zyx ++zyx ++zyx ++zyx ++ 2M

    3M4M

    5M

    6M

    7M

    ))()()()((

    )7 5, 3, 1, 0,(),,(

    zyxzyxzyxzyxzyx

    Mzyxf

    ++++++++++=

    28한국기술교육대학교전기전자통신공학부 장영조

  • åÕÕå

    ==

    ==

    )7 ,6 ,0()7 ,6 ,0(

    )5 4, 3, 2, 1,( )5 4, 3, 2, 1,(),,(

    mM

    Mmcbaf

    Õ

    å

    =

    ++++++++++=

    ××××=++++=

    ++++==

    )5 4, 3, 2, 1,(

    ))()()()((

    )5 4, 3, 2, 1,(),,(

    M

    cbacbacbacbacba

    cbacbabcacbacbacbacbabcacbacba

    cbacbabcacbacbamcbaf

    Þ

    최소항을 부정하면최대항

    최대항을 부정하면최소항

    åÕÕå

    ==

    ==

    )7 ,6 ,0()7 ,6 ,0(

    )5 4, 3, 2, 1,( )5 4, 3, 2, 1,(),,(

    mM

    MmcbafÞ

    Õ

    å

    =

    ++++++=××=++=

    ++==

    )7 6, 0,(

    ))()((

    )7 6, 0,(),,(

    M

    cbacbacbaabccabcbaabccabcba

    abccabcbamcbaf

    åÕÕå==

    ==

    )5 4, ,3 ,2 ,1()5 4, ,3 ,2 ,1(

    )7 6, 0,( )7 6, 0,(),,(

    mM

    MmcbafÞ

    29한국기술교육대학교전기전자통신공학부 장영조

  • ã (1)식을 간소화하는 과정

    (1)

    (2)

    (3)

    (4)

    xyzzyxzyxyzxzyx ++++

    xyzyxyx ++

    xzyxyx ++

    yzyxyx ++yzyxyx

    yzyxyx

    xxyzzzyxzzyx

    yzxxyzzyxzyxyzxzyx

    yzxxyzzyxzyxyzxzyx

    ++=

    ×+×+×=

    +++++=

    +++++=

    +++++

    111

    )()()(

    )()()(

    X+X=X를 이용

    5.6 부울 대수 법칙을 이용한 논리식의 간소화

    ã (1)식을 간소화하는 과정

    (1)

    (2)

    (3)

    (4)

    xyzyxyx

    xyzyxyx

    xyzzzyxzzyx

    xyzzyxzyxyzxzyx

    xyzzyxzyxyzxzyx

    ++=

    +×+×=

    ++++=

    ++++=

    ++++

    11

    )()(

    )()(

    xzyxyx

    xzyxyx

    yyxzzzyxzzyx

    zyxxyzzyxzyxyzxzyx

    zyxxyzzyxzyxyzxzyx

    ++=

    ×+×+×=

    +++++=

    +++++=

    +++++

    111

    )()()(

    )()()(

    X+X=X를 이용

    yzyxyx

    yzyxyx

    xxyzzzyxzzyx

    yzxxyzzyxzyxyzxzyx

    yzxxyzzyxzyxyzxzyx

    ++=

    ×+×+×=

    +++++=

    +++++=

    +++++

    111

    )()()(

    )()()(

    X+X=X를 이용

    30한국기술교육대학교전기전자통신공학부 장영조

  • ã (2)식을 간소화하는 과정

    (1)

    (2)

    (3)

    (4)

    xyzzyxzyxyzxzyx ++++

    xyzyxyx ++

    xzyxyx ++

    yzyxyx ++

    bababaaaaba +=+×=++=+ )(1))((abababaabaa =+=+=+ 0)(

    ã (2)식을 간소화하는 과정

    (1)

    (2)

    (3)

    (4)

    xzyxyxzyxyx

    zyyyxyxyzyxyxxyzyxyx

    ++=+×+=

    +++=++=++

    )(1

    ))(()(

    yxyzyxyxzxy

    yxzxxxyyxxzxyxyzyxyx

    ++=++×=

    +++=++=++

    )(1

    ))(()(

    31한국기술교육대학교전기전자통신공학부 장영조

  • 예제 5-3 논리식 를 간소화하여라.cbabcacbacba +++

    babcac

    babacbabaac

    bacbacacbabaca

    cbabcacbaccbca

    cbabccacbabcaca

    cbabcabbcacbabcacbacba

    cbabcacbacba

    ++=

    ++=++=

    ++=++=

    ++=+++=

    ++=++=

    +++=+++=

    +++

    )()(

    )())((

    )(

    )()(

    babcac

    babacbabaac

    bacbacacbabaca

    cbabcacbaccbca

    cbabccacbabcaca

    cbabcabbcacbabcacbacba

    cbabcacbacba

    ++=

    ++=++=

    ++=++=

    ++=+++=

    ++=++=

    +++=+++=

    +++

    )()(

    )())((

    )(

    )()(

    bacb

    ccbaaacb

    bcacbacbacba

    cbabcacbacba

    +=

    +++=

    +++=

    +++

    )()(

    32한국기술교육대학교전기전자통신공학부 장영조

  • ã 간소화하는 과정 예

    zyxxxzyx

    xzzxyxyyxzyyzxzzyx

    xyzzyxyzxzyxzyxmzyxf

    +=

    ++=

    ++=

    +++++=

    ++++=

    å=

    )(

    )()()(

    )7 5, 3, 1, 0,(),,(

    zyxxxzyx

    xzzxyxyyxzyyzxzzyx

    xyzzyxyzxzyxzyxmzyxf

    +=

    ++=

    ++=

    +++++=

    ++++=

    å=

    )(

    )()()(

    )7 5, 3, 1, 0,(),,(

    zxzy

    yyzxxxzy

    zxyzyxzyx

    mmzyxf

    +=

    +++=

    ++=

    == åå

    )()(

    )6 4, 2,()7 5, 3, 1, 0,(),,(

    33한국기술교육대학교전기전자통신공학부 장영조

  • 예제 5-4 다음 진리표를 보고 논리식을 구하고 간소화하여라.

    a b c f 0 0 0 0 10 0 1 1 00 1 0 1 00 1 1 1 01 0 0 1 0

    f

    babacb

    ccbaccbacbaa

    cbacbabcacbacbacba

    cbacbabcacbacba

    mcbaf

    ++=

    +++++=

    +++++=

    ++++=

    )()()(

    )5 4, 3, 2, 1,(),,(

    1 0 0 1 01 0 1 1 01 1 0 0 11 1 1 0 1

    babacb

    ccbaccbacbaa

    cbacbabcacbacbacba

    cbacbabcacbacba

    mcbaf

    ++=

    +++++=

    +++++=

    ++++=

    )()()(

    )5 4, 3, 2, 1,(),,(

    abcba

    ccabcba

    abccabcba

    mcbaf

    +=

    ++=

    ++=

    )(

    )7 6, 0,(),,(

    34한국기술교육대학교전기전자통신공학부 장영조

  • ã 논리식의 간소화 효과Z = ABC + AB' (A'C')'

    = ABC + AB'(A+C) = ABC+AB'+AB'C

    = AB'(1+C)+ABC = AB'+ ABC = A(B'+BC)

    = A(B'+B)(B'+C) = A(B'+C) = AB' + AC

    한국기술교육대학교전기전자통신공학부 장영조 35

  • ã 2변수로 나타낼 수 있는 모든 함수의 경우

    ã 2변수로 나타낼 수 있는 모든 경우의 함수 논리식

    a b f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f150 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

    0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

    1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

    1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

    00 =f abf =1 baf =2 af =3

    부울함수의 종류ã 2변수로 나타낼 수 있는 모든 함수의 경우

    ã 2변수로 나타낼 수 있는 모든 경우의 함수 논리식

    00 =f abf =1 baf =2 af =3

    baf =4 bf =5 babaf +=6 baf +=7

    baf =8 abbaf +=9 bf =10 baf +=11af =12 baf +=13 baf +=14 115 =f

    n개의 입력 변수가 있을 때 진리표의 행의 개수는 개이며, 개의 서로 다른 함수가 존재.

    n2n22

    n=2 16222 = n=3 25622 82

    3== n=4 6553622

    1624 ==

    36한국기술교육대학교전기전자통신공학부 장영조