부울대수와논리회로설계 - mjuants.mju.ac.kr/2017spring/dm/module3.pdf · 2016-03-24 ·...

43
부울 대수와 논리 회로 설계

Upload: others

Post on 12-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

부울 대수와 논리 회로 설계

Page 2: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)
Page 3: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

주요 내용

• 부울 대수(Boolean algebra)

• 부울 함수의 표현

• 부울식의 최소화

• 논리 회로의 설계

Page 4: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

집합 S={0, 1}에 대해다음의 세 가지 연산(operations)이 존재한다.

보수 (complement) 부울 합 (boolean sum) 부울 곱 (boolean product)

정의:

Page 5: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

보수: ′로 표시원소 0에 대하여 0′ = 1, 원소 1에 대하여 1′ = 0

1+1=11+0=10+1=10+0=0

합: + (또는 OR)로 표시

1∙1=11∙0=00∙1=00∙0=0

곱: ∙ (또는 AND)로 표시, (∙는 생략하여 표기하기도 한다.)

연산 우선순서 보수>> 곱 >> 합

Page 6: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

집합 S={0, 1}의 원소 값만을 갖는 변수

부울 변수(Boolean variable)

n-튜플 {(x1, x2, ..., xn)|xi ∊ X, 1≤i≤n}의 입력 변수를 갖는 함수

차수 n의 부울 함수(Boolean function)

0 또는 1의 입력값들에 대하여 0 또는 1의 출력값을 갖는 함수

부울 함수(Boolean function)

Page 7: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

정의: 부울 식(Boolean expression)

x1, x2, ..., xn : 부울 변수(1) 0, 1, x1, x2, ..., xn은 부울식이다. (2) E1, E2가 부울식이면, E1', (E1⋅E2), (E1+E2)도 부울식이다.

예부울 변수 x, y에 대해 다음은 부울 식이다. (1) x (2) y (3) x⋅y (4) x+y (5) x+y⋅0 (6) (1+x)'

부울 함수는 부울 변수와 부울 연산자로 구성된 부울 식으로표현할 수 있다.

Page 8: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제다음 부울식의 값을 구하라.(1) 1∙0 + (0 + 1') (2) (0 + 1)' ∙ (0 + 1)

(1) 1∙0 + (0 + 1') = 1∙0 + (0 + 0) = 0 + (0 + 0) = 0 + 0 = 0

(2) (0 + 1)' ∙ (0 + 1) = (1)' ∙ (0 + 1) = 0 ∙ (0 + 1) = 0 ∙ 1= 0

Page 9: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

부울식의 부울 변수에 0, 1을 대입하면 부울 함수 값을얻을 수 있다.

예: 부울 함수 F(x, y, z) = xy + z일 때 부울 함수 값을다음 표와 같이 구할 수 있다.

x y z xy z F(x,y,z)

1 1 1 1 0 1

1 1 0 1 1 1

1 0 1 0 0 0

1 0 0 0 1 1

0 1 1 0 0 0

0 1 0 0 1 1

0 0 1 0 0 0

0 0 0 0 1 1

Page 10: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

n개의 변수로 이루어진 부울 함수 F, G가 있을 때, 모든 변수 x1, x2, ..., xn 값에 대하여

F(x1, x2, ..., xn) = G(x1, x2, ..., xn) 이면,

부울 함수 F와 G는 동등(equivalent)하다고 한다.

정의: 항등(equivalence)

즉, 동일한 변수값에 대해서 진리표의 결과값이 동일하면두 부울 함수는 동등하다.

Page 11: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

부울 대수의 법칙항등성(identity) 법칙

(x')' = x 이중 보수 법칙 (double complement laws)

x + x = x, xx = x 멱등 법칙 (idempotent laws)

x + 0 = x, x1= x 항등법칙 (identity laws)

x + 1 = 1, x0 = 0 지배법칙 (dominance laws)

x + x' = 1, xx' = 0 보수 법칙

x + y = y + x

xy = yx

교환 법칙 (commutative laws)

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

x(yz) = (xy)z

결합 법칙 (associative laws)

x+yz = (x+y)(x+z)

x(y+z) = xy + xz

분배 법칙 (distributive laws)

(xy) ' = x' + y'

(x+y) ' = x'y'

드모르강의 법칙 (De Morgan's laws)

Page 12: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제: 분배법칙 x(y+z) = xy + xz가 성립하는 것을 보여라.

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

1 1 1 1 1 1 1 1

1 1 0 1 1 0 1 1

1 0 1 1 0 1 1 1

1 0 0 0 0 0 0 0

0 1 1 1 0 0 0 0

0 1 0 1 0 0 0 0

0 0 1 1 0 0 0 0

0 0 0 0 0 0 0 0

식이 성립하는 것을 진리표를 이용하여 보일 수 있다.

Page 13: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제: 부울 대수의 법칙을 이용하여 다음을 증명하라. x(x+y) = x

x(x+y) = (x+0)(x+y) (항등법칙) = x+0y (분배법칙) = x +y0 (교환법칙) = x + 0 (지배법칙) = x (항등법칙)

Page 14: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

정리: 쌍대성의 원리 (duality principle)부울 대수의 모든 항등 법칙에 대하여 다음 2개의 식이 쌍으로존재한다.

x+0=x, x∙1=x

이러한 쌍을 쌍대(dual)라고 한다.

부울식으로 표현된 함수들 사이에 항등성이 유지되면, 이들의 쌍대(dual)도 항등성을 유지한다.

부울 대수의 쌍대는 ∙과 +를 교환하고, 0과 1을 교환하여구할 수 있다. 예를 들어,

(1) x(x+y) = x(2) (x+y) = x’y’

Page 15: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제: 다음 부울식의 쌍대를 구하라. (1) x +y (2) x(y+1) (3) xz' + x0(4) x+x’(y+1) = x

Page 16: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

주요 내용

• 부울 대수

• 부울 함수의 표현

• 부울식의 최소화

• 논리 회로의 설계

Page 17: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

부울 함수값이 주어졌을 때 이 함수를부울식으로 표현할 수 있다.

Page 18: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

n개의 부울 변수 x1, x2, ... xn으로 이루어진 부울식이 있을때, 이 부울식의 최소항(minterm)은 부울 곱 y1y2...yn이다. 이때, yi=xi 또는 yi=xi이다.

즉, 최소항은 함수의 모든 변수에 대하여 부울 곱을 취한 것으로변수는 변수 문자 또는 변수 문자의 보수 형태가 한번씩만나타난다.

최소항

Page 19: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

부울 함수의 부울식은 함수의 값이 1이 되는 변수값의조합들에 대하여 최소항들을 구하고 그 최소항들의 부울 합(논리합 형식)을취하면 구할 수 있다.

부울 함수를 최소항들의 부울 합으로 나타내는 형식

논리합 형식(disjunctive normal form): 곱들의 합

Page 20: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제: 다음과 같은 값을 갖는 부울 함수를 부울식으로 표현하라.

x y F(x,y)

1 1 1

1 0 0

0 1 1

0 0 1

Page 21: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제: 부울 함수 F(x, y, z)가 다음의 진리표로 주어졌을 때이 함수의 부울식을 구하라.

x y z F(x,y,z)

1 1 1 0

1 1 0 1

1 0 1 0

1 0 0 0

0 1 1 0

0 1 0 1

0 0 1 0

0 0 0 0

Page 22: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제: 다음 함수 F(x, y, z)의 부울식을 구하라.

x y z F(x,y,z)

1 1 1 0

1 1 0 1

1 0 1 0

1 0 0 1

0 1 1 0

0 1 0 1

0 0 1 0

0 0 0 0

Page 23: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

주요 내용

• 부울 대수

• 부울 함수의 표현

• 부울식의 최소화

• 논리회로의 설계

Page 24: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

카르노 맵(Karnaugh Map)

부울 함수의 간단한 논리합 형식을 찾아내는 방법

(2)부울 함수에서 해당 최소항이 있으면 그 칸을 1로 표시한다.

(1) 두 변수 x, y를 갖는 부울식을 위한 카노우 맵은사각형에서 2 x 2개의 칸으로 구성된다. 각 칸은 부울 함수의최소항을 의미한다.

Page 25: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제: 두 변수를 갖는 다음 부울 함수를 카노우 맵으로 그려라. (1) x'y' (2) xy + xy' + x'y + x'y'

(1)

(2)

Page 26: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

하나의 변수만이 다른 최소항들을 서로 인접(adjacent)한다고한다.

예) x'y와 xy, x'y와 x'y'

카노우 맵에서 두개의 인접한 칸이 1일 때 인접된 칸을 나타내는최소항은 두 변수 중에서 공통된 변수 하나만으로 나타낼 수있다.

예) xy'와 x'y'는 변수 y'하나로 나타낼 수 있다. 왜냐하면, xy' + x'y' = (x + x')y' = y'

이러한 성질을 이용하면 주어진 부울식에서 항의 수를최소화할 수 있다.

xy x'y

x'y'

부울식의 최소화

Page 27: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

(1) xy와 x'y는 서로 인접하며 공통 변수 y로 나타낼 수 있다.

(2) x'y와 x'y'는 x'로 나타낼 수 있고, xy'와 x'y'는 y'로나타낼 수 있다. 따라서 x' + y'로 최소화된다.

예제: 다음 부울식을 카노우 맵을 사용하여 최소화하라. (1) xy + x'y (2) xy' + x'y + x'y'

Page 28: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

인접하는 네 개의 칸에 1이 있으면 네 개의 최소항은 공통변수하나의 최소항으로 합성될 수 있다. 예) xyz, xy'z, xyz', xy'z‘

왜냐하면,xyz +xy'z + xyz' + xy'z' = (y+y')xz + (y+y')xz'= xz + xz‘

= (z+z')x = x

맨 왼쪽 칸과 맨 오른쪽 칸은 이어진 것처럼 간주되며 인접된칸으로 묶을 수 있다. 최대 인접된 칸을 취하는 방법이 다양할수 있으므로 구한 최소항도 다양할 수 있다.

세 개의 변수를 가진 카노우 맵

xyz xy'z

xyz' xy'z'

z

z'

xy xy' x'y' x'y

Page 29: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

(1) 두 최소항이 인접해 있으므로 공통된 y'z'로 최소화된다.

예제: 다음 부울식을 카노우 맵을 사용하여 최소화하시오. (1) xy'z' + x'y'z' (2) xy'z + xy'z' + x'y'z + x'y'z'

(2) 인접해 있는 네 개의 칸을 묶어서 한 개의 항으로, 즉, 4개의 항이 공통적으로 가지고 있는 y'로 최소화할 수 있다.

Page 30: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

네 개의 변수를 갖는 카노우 맵

xyzw xy'zw x'y'zw x'yzw

xyzw' xy'zw' x'y'zw' x'yzw'

xyz'w' xy'z'w' x'y'z'w' x'yz'w'

xyz'w xy'z'w x'y'z'w x'yz'w

xy xy' x'y' x'y

zw

zw'

z'w'

z'w

예제: 다음 부울식을 카노우 맵을 사용하여 최소화하라. xy'zw + xyzw' + xyz'w' + xy'z'w + x'yzw' + x'yz'w'

1

1 1

1 1

1

yw' + xy'w

Page 31: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

주요 내용

• 부울 대수

• 부울 함수의 표현

• 부울식의 최소화

• 논리 회로의 설계

Page 32: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

게이트와 부울 연산전자 장치의 입력과 출력은 0 또는 1이기 때문에 전자 회로를설계하는데 부울 대수를 사용할 수 있다.

게이트(gate): 회로의 기본 요소

기본 게이트 부울 연산

인버터(inverter) 보수

OR 게이트 부울 합

AND 게이트 부울 곱

기본 게이트와 부울 연산과의 매핑

Page 33: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

두 개 이상의 부울 변수 값을 입력으로 받아이 값들의 부울 곱을 출력한다.

인버터

하나의 입력과 하나의 출력을 가진다. 입력으로 받은 값의보수를 출력한다. 즉, 인버터의 입력이 1이면 0을 출력하고0을 입력하면 1을 출력한다.

OR 게이트

두 개 이상의 부울 변수 값을 입력으로 받아 이 값들의 부울 합을출력한다.

AND 게이트

xx'

xy

x+y

xy

x•y

Page 34: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

부울식과 논리 회로

예다음 그림은 부울식 xy + x'y를 나타낸 논리 회로이다.

xy

xy

xy

x'xy+x’y

xy

부울식은 논리 회로로 표현할 수 있다.

Page 35: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제1: 다음 부울식을 논리 회로로 그려라. (1) x'y' (2) ((x'+z)(y+z'))'

xy

x'y'

xz

zy

((x‘+z)(y+z‘))‘

(1)

(2)

Page 36: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

예제2: 다음 회로에 해당하는 부울 식을 구하라.(1)

(2)xyzxyz

xy

Page 37: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

논리 회로 설계

문제입력과 출력 정의

부울 함수부울식(논리식) 논리 회로

Page 38: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

문제1: 두 개의 스위치와 전구

문제: 두 개의 스위치를 사용하여전구의 불 켜기를 제어하는회로가 있다. 전구는 하나의스위치라도 닫혀 있으면켜지고(on) 그렇지 않은 경우는꺼진다고 하자.

Page 39: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

입력: 각 스위치의 값, (x1, x2)xi=1: 스위치가 닫혀있을 때xi=0: 스위치가 열려있을 때

출력: 1: 전구가 켜진 상태0: 꺼진 상태

그러면 이 문제는 다음과 같은 진리값을 갖는 부울함수로표현할 수 있다.

단계1

Page 40: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

이 부울 함수를 부울식(논리식)으로 표현한다.단계2

Page 41: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

이 부울식(논리식)을 논리 회로로 표현한다.단계3

Page 42: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

문제2: 투표 시스템

3명의 참석자가 안건에 동의하면 자기 앞에 놓인 스위치를 누르고,반대하면 스위치를 누르지 않는다. 이때 다수결이 동의하였으면회의 결과를 나타내는 전구에 불이 들어오는 전기 회로 시스템을설계하라.

Page 43: 부울대수와논리회로설계 - MJUants.mju.ac.kr/2017Spring/DM/module3.pdf · 2016-03-24 · 집합S={0, 1}에대해 다음의세가지연산(operations)이존재한다. 보수(complement)

문제3: 숫자를 표시하는 LED 회로 설계

다음과 같은 LED 7개를 사용하여 0부터 9까지의숫자를 표시하려고 한다. 이 회로를 설계하라.