ch06 sym.ppt [호환 모드] - koreatech · 2016-10-31 ·...

54
6장 부울 함수의 간소화

Upload: others

Post on 22-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

6장 부울 함수의 간소화

한국기술교육대학교 전기전자통신공학부2

개 요l 모든 입력과 출력 조건이 동일한 경우에는 가능한 한 논리 회로를 간단하게

구성 à 논리회로 간소화 혹은 최적화

• 부울식의 간소화: term을 감소하거나 literal를 감소한다.

term은 게이트의 수, literal은 게이트의 입력수를 나타낸다.

l 논리 회로의 동작 속도 향상, 소비 전력 감소 등 효율적인 논리 회로 구성가능

l 논리 회로를 간소화하는 방법

• 논리 회로 자체를 간소화하는 방법

• 논리 회로를 부울 함수로 표현한 후 부울 함수를 간소화

• 부울 대수의 기본 정리를 이용하는 방법 – 연속적인 부울정리 사용으로trial and error

(1) 드 모르강의 정리와 합의 곱을 반복적으로 수행

-> SOP 형식을 유도

(2) SOP에서 공통인수를 찾고 이를 소거

• 카르노 맵(karnaugh map) 방법 – 도식적인 방법으로 6개 정도의 입력 변수까지 사용

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

6.1 부울 대수식의 기본 정리 이용

예) 부울 함수 F = wx'(y'+xz) + wx'(x+y'z)를 간소화 한후 논리 회로 비교

F = wx'(y'+xz) + wx'(x+y'z)= wx'y' + wx'xz + wx'x + wx'y'z

= wx'y' + wx'y'z = wx'y'(1+z) = wx'y'

Z(a,b,c) = m(2,3,7) = m2 + m3 + m7

= a'bc' + a'bc + abc ß sum of minterms 3 input AND 3개, 3 input OR 1개

= a'bc' + a'bc + a'bc + abc

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

= a'b + bc <- sum of products, 2 input AND 2개, 2 input OR 1개

å

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

6.2 카르노 맵¢ 진리표를 그림 모양으로 나타낸 것이며 벤다이어 그램(venn diagram)을 확장한 것

¢ 여러 형태의 사각형으로 된 그림으로 진리표의 각 항 (최소항 또는 최대항)들은 카르노 맵의 각 한칸의 사각형에 나타냄

¢ 카르노 맵의 각 칸에서 수평 또는 수직 방향으로 인접한 칸(adjacent term)은 한 변수의 논리상태만서로 다르다.

¢ 카르노 맵에서 인접항을 2,4,8,16…의 단위로 묶음으로써 부울변수를 1,2,3,4,… 개씩 감소한다.

l 카르노 맵에서의 간소화 과정

1.논리회로를 부울함수로 표시- 기본적으로 SOM(POM)으로 표현

2. 진리표로 나타낸다.

3. 카르노맵에 진리표의 각 값을 적합한 칸에 기입

4.SOP로 최소화할 때는 '1'로 구성되는 최대 인접항으로 묶고 POS로 최소화할때는 '0'으로 구성되는 최대인접항으로 묶는다. (최대인접항의 개수는 1,2,4,8,16,..로 형성된다.)

5. 각 항들은 중복되어 묶일 수 있다.

6. 모든 최소항은 한번 이상은 묶여야 한다.

7. 큰항의 묶음에서 남아있는 변수들로 간소화된 부울식을 구한다.

정규(x)및 반전(x')인 변수가 묶음내에 존재하면 그 변수는 식으로부터 소거

모든 칸에 나타나는 같은 변수는 최종식에 남는다

보다 큰 1(0)의 묶음은 더 많은 수의 변수를 소거시킨다.

'1'로 묶은 함수는 정규형 이므로 SOP로 바로 구하여진다.

'0'으로 묶은 함수는 보수형 이므로 그 결과를 반전하여 POS형의 정규함수를 구한다.

한국기술교육대학교 전기전자통신공학부5

카르노 맵¢ 2변수의 카르노 맵

l 2개의 2진 변수에 대한 4개의 최소항 구성

l 각 최소항은 하나씩 4개의 사각형에 배치

¢ 3변수의 카르노 맵

l 3개의 2진 변수에 대한 8개의 최소항 구성

x'y+xy

=y(x'+x)

=yxy'+xy

=x(y'+y)=x

x'y'z'+xy'z'+x'yz'+xyz'

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

xy'z+xyz

=xz(y'+y)

=xz

2개항의 묶음(looping) -인접한 1(0)의 쌍을 묶어 정규입력과 반전입력형태의 1개 변수 소거

x+x’ = 1

xy 중복묶임

¢ (A,B,C) 3변수 카르노 맵 표현 방법 – A 가 MSB

각 사각형에 최소항의 인덱스만 표현

6한국기술교육대학교 전기전자통신공학부

한국기술교육대학교 전기전자통신공학부 7

3변수 카르노 맵

예) F = x'y'z + x'yz' + x'yz + xy'z 을 카르노 맵을 이용하여 간소화하여라.

예) 다음 진리표에 대한 논리식의 최소화된 논리도를 그려라.

x y z F

0 0 0

0 0 0

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

1

0

1

0

1

1

1

0

SOP - '1' 묶음F = x'y + y'z

POS형 - '0'묶음F' = y'z' + xyF = (y'z' + xy) '

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

y'z' y'z yz yz'

x' 1 0 0 1

x 1 1 0 1

간소화된 부울식

F = z' + xy'

카르노맵

논리도

한국기술교육대학교 전기전자통신공학부8

3 변수 카르노 맵 예

F(A,B,C)= (1,2,3,5,7) = C+A'Bå

a b c f0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

abc

00

0 1

01 11 10

1 111

abc 항-세 번중복하여 묶임

f(A,B,C)= (3,5,6,7) = ab+bc+acå

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

4변수 카르노 맵¢ 4변수의 카르노 맵

l 4개의 변수에 대한 24 =16개의 최소항 구성

wx'y'

yz'

xz

CDDCABBAF +++= DBF +=

CF = BF = CAF +=

CBCADABAF +++=

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

4변수 카르노 맵 예

CD

1 1 1

1 1

1 1

AB 00 01 11 10

00

01

11

10

CD

1 1 1

1 1

1 1

1 1

AB 00 01 11 10

00

01

11

10

CD

1 1 1

1 1 1

1 1 1

1 1 1

AB 00 01 11 10

00

01

11

10

CDBDCBCBACBAF +++= CDBDCBACBAF +++=

DCACAF ++=

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

4변수 카르노 맵 요약

4변수 맵에서 term의 변수감소는

• single 1 = 4변수 (minterm)

• two 1s = 3변수

• four 1s = 2변수

• eight 1s = 1변수

• sixteen 1s = 0 변수 (상수 1)

xzyxyxf ++= yzyxyxf ++=

ACDDBAABF ++= CDBDBAABF ++=

선택적 카르노 맵

부울식의 해가 2개 이상인 경우 – 같은 간소화의 결과

12한국기술교육대학교 전기전자통신공학부

v 논리식에서 생략된 부분을 찾아서 Minterm으로 변경

å=++++=

++++=

++=

)7 3, 2, 1, 0,(

)()(

),,(

mzyxzyxzyxyzxxyz

zzyxzzyxxyz

yxyxxyzzyxf

yzxzyxf +=),,(

논리식의 카르노 맵 작성

å=+++++++++=

++++=

)15 14, 13, 12, 7, 6, 5, 3, 1,( )()()())((

),,,(

mzxywzyxxwyzxxwzzwxyzzyywx

zxywzywyzwwxywxzyxwf

xyzwwxzyxwf ++=),,,(

yz

1 1

1 1 1

1 1 1 1

wx 00 01 11 10

00

01

11

10

13한국기술교육대학교 전기전자통신공학부

예제 6-4 다음 논리식을 카르노 맵으로 작성하고 간소화.

DCBABADCBAF ++=),,,(

A B DCBA

00 01 11 10

11

00

01

11

10 1

CDAB

1

1

1

1

1

11 11

1 DCBAF ++=최소항으로 바꾸지 않고간략화의 반대방법으로

카르노 맵 작성

14한국기술교육대학교 전기전자통신공학부

¢ 5변수 카르노 맵l25 = 32 개의 최소항 : m0~m31

5변수 카르노 맵

15한국기술교육대학교 전기전자통신공학부

- 다음 5변수 논리함수를 카르노 맵을 이용하여 간소화

å= )28,31 27, 18, 16, 15, 13, 11, 9, 7, 6, 5, 4,(),,,,( mEDCBAF

DE

1 1 1 1

1 1

1 1

00 01 11 10

00

01

11

10

BC 1 1

1 1

1

00 01 11 10

A=1A=0

BDEEDABCECBABEACBAEDCBAF ++++=),,,,(

1 1

1 1 1

1 1w

x

y

z

1

1

1 1 1

1 1 1w

x

y

z

v

F = wy' + xyz

+ v'xz + vx'yz'

F(v,w,x,y,z) = m(5,7,8,9,12,13,15,18,23,24,25,26,28,29,31)å

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

¢ 6변수 카르노 맵l26 = 64 개의 최소항 : m0~m63

6변수 카르노 맵

17한국기술교육대학교 전기전자통신공학부

예제 6-763) 61, 56, 55, 53, 51, 49, 46, 40, 38, 35, 34,

33 29,32, 25, 24, 19, 17, 14, 13, 9, 8, 6, 3, 1,(),,,,,( å= mFEDCBAF

FDCFEDCABDFF ++=

DCBAFDEBFECAF ++=DCBAFDEBFECAFDCFEDCABDFF +++++=

18한국기술교육대학교 전기전자통신공학부

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

6.3 Don't Care l 출력이 완전히 정의되지 않는 경우의 함수에 대하여 사용한다.

l 입력 변수의 조합들에 대한 출력 값은 어떠한 입력 값이라도무관(don't care)하게 된다.

(예) BCD 코드에서 1010 ~ 1111은 정의되지 않는 값

l 부울함수를 더 간단하게 하는데 사용한다.

l don't care 항은 d 로 표시하고 K-map에서도 이를 사용한다.

¢ don't care가 있는 논리 함수의 표현

(예)함수 F를 SOM과 don't care 혹은 POM과 don't care로 표현하고 최소화

F(w, x, y, z) = ∑(0,7,8,10,15) + ∑d(1,2,9,11,13) = ∏ (3,4,5,6,12,14) ·∏d(1,2,9,11,13)

<곱의 합형>

F = x'z' + xyz

<합의 곱형>F'=xy' +xz' +x'zF=(x'+y)(x'+z)(x+z')

d(2)는 1로 포함, 나머지는 0로 포함

d(1,9,11,13)은 0로 포함, d(2)는 1로 포함

모든 1은 한번씩은 포함(cover)되어져야 함

모든 0은 한번씩은 포함(cover)되어져야 함

중첩항

(redundant term)

예제 : 다음 식과 같이 무관항이 있을 경우 카르노 맵을 이용하여 간소화

CD

1 x 1 1

1 1 x

x

x 1

AB 00 01 11 10

00

01

11

10

CACDBAF ++= BADF += BAF +=

)15,9,7,1()11,5,4,3,2,0(),,,( åå += dmDCBAF

å å+= )14,12,0()10,8,6,4,3,2,1(),,,( dmDCBAF

åå += )12,10,7,6,5,1()11,9,8,4,3,2,0(),,,( dmDCBAF

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

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

6.4 Quine-McClusky 논리 간소화

l 테이블 방법(tabulation method, Q-M 방법)

• 입력 변수가 많을 경우 표를 이용하여 논리 간소화

¢ Tabulation 방법의 단계

(1) Find PI(Prime Implicant)s - candidate

(2) Select PI - include minimum number of terms

¢ Prime Implicant : 2의 맥급수로 묶을 수 있는 최대 인접항으로 결합된product term

¢ Essential Prime Implicant (EPI) : 한개 혹은 그 이상의 minterms을 포함(cover)하는 유일한 PI 가 있다면 그 PI를 EPI라 한다.

K-map논리화 : EPI는 반드시 포함하고나머지 minterm를cover 하는 최소수의 PI를 포함한다.

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

Quine-McClusky 과정

¢ Find PI

1. Step 1 : Grouping - 최소항을 1의 개수로 분류

2. Step 2 : matching - 모든 상하 그룹에서 모든 최소항들을 각각 비교하여1개의 변수만이 다르다면 그 2개의 최소항을 결합하고 이때 1개의 변수가삭제된다. 결합된 항은 로 표시.

3. Step 3 : step 2의 결과에서 모든 상하 그룹에서 같은자리에 소거된 변수가 있는 항끼리 비교하여 1개의 변수만이 다르다면 그 2개 항을 결합하고1개의 변수가 소거된다. 결합된 항은 로 표시.

4. step 3의 과정을 변수항의 결합이 발생하지 않을 때까지 한다.

5. 위 과정에서 남은 항과 매칭되지 않은 모든 항들은 PI가 된다.

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

Tabulation 방법 예¢ PI 찾기 F= ∑m(0,1,2,8,10,11,14,15)를 QM으로 최소화

matching * PI's

w'x'y', x'z', wy

1 1 1

1 1

1 1 1w

x

y

z

* All PI's are EPI.

grouping

0

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

Q-M 방법 예

F(w,x,y,z)= ∑m(1,4,6,7,8,9,10,11,15)를QM으로 최소화

매칭시 10진수값으로 실행

두값을 비교하여 1,2,4,8,16…의 차이가 있을 때 결합

단, 아래 그룹의 값이 더 커야한다.

Find PI's

한국기술교육대학교 전기전자통신공학부25

PI 선택¢ Select PI's

(1) 행에 찾아진 모든 PI를 기입(포함하는 최소항을 같이 기입)

(2) 열에 모든 최소항 기입

(3) 각 PI가 cover하는 최소항을 각 해당란에 X로 표시

(4) 단 한 개의 X로 표시된 최소항을 가지는 PI를 한다. ß EPI

(5) (4)의 EPI가 cover하는 모든 최소항을 마지막 행에 표시

(6) (5)의 되지 않는 최소항을 포함하는 PI를 최소개가 되도록 선택

(7) (4)와 (6)을 포함하여 논리식을 작성

F = x'y'z + w'xz' + wx' + xyz

한국기술교육대학교 전기전자통신공학부26

Don't care를 포함한 Q-M 방법¢ F(w, x, y, z) = ∑(2,3,7,9,11,13) + ∑d(1,10,15)

l PI 찾기

l PI selection

d를 포함하여 PI를 찾는다

포함되어져야 할 최소항에는d를 불포함

F = x'y +yz +wz

예제 6-8 다음 식을 QM방법을 이용하여 간소화 하여라.

Column 1index decimal A B C D

0 (0) 0 0 0 0 ü

1(1)(2)(8)

0 0 0 10 0 1 01 0 0 0

üüü

2(3)(5)

(10)(12)

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

üüüü

3 (7)(13)

0 1 1 11 1 0 1

üü

4 (15) 1 1 1 1 ü

Column 2index decimal A B C D

0(0,1)(0,2)(0,8)

0 0 0 -0 0 - 0- 0 0 0

üüü

1

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

(2,10)(8,10)(8,12)

0 0 - 10 - 0 10 0 1 -- 0 1 01 0 - 01 - 0 0

üüüüü

2(3,7)(5,7)

(5,13)(12,13)

0 - 1 10 1 - 1- 1 0 11 1 0 -

üüü

3 (7,15)(13,15)

- 1 1 11 1 - 1

üü

Column 3decimal A B C D

(0,1,2,3)(0,2,1,3)

(0,2,8,10)(0,8,2,10)

0 0 - -0 0 - -- 0 - 0- 0 - 0

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

0 - - 10 - - 1

(5,7,13,15)(5,13,7,15)

- 1 - 1- 1 - 1

F(A,B,C,D) = m(0,1,2,3,5,7,8,10,12,13,15)

A’B’

B’D’

A’D

BD

AC’D’ ABC’

27한국기술교육대학교 전기전자통신공학부

CABDCABDDADBBA +++++

IMPLICANTS 0 1 2 3 5 7 8 10 12 13 15

0 0 - - X X X X

- 0 - 0 X X X (X)

0 - - 1 X X X X

- 1 - 1 X X X (X)

1 – 0 0 X X

1 1 0 - X X

Essential X X X X X (X) X (X)

BADBDA

BDDCACAB

CABDABDDBF(A,B,C,D)

CABBABDDBF(A,B,C,D)

DCADABDDBF(A,B,C,D)

DCABABDDBF(A,B,C,D)

+++=

+++=

+++=

+++=

1

ABCD

00 01 11 10111 1

1

00

01

11

10

11

1 1

1

(2) 모든 최소항

(1) 모든PI

(3) 각PI cover항

(4) EPI:BD,B’D’

(5) EPI cover항

(6)카버된최소항

(7)나머지 PI선택

4가지 해 가능

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

예제 6-11 무관항을 가진 다음 식을 QM방법을 이용하여 간소화

åå += )9 3, 2, ()15 14, 8, 6, 4, 1, 0, (),,,( dmdcbaf

Column 1

index decimal a b c d

0 (0) 0 0 0 0 ü

1(1)(2*)(4)(8)

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

üüüü

2(3*)(6)(9*)

0 0 1 10 1 1 01 0 0 1

üüü

3 (14) 1 1 1 0 ü

4 (15) 1 1 1 1 ü

Column 2

index decimal a b c d

0(0,1)(0,2*)(0,4)(0,8)

0 0 0 -0 0 - 00 - 0 0- 0 0 0

üüüü

1

(1,3*)(1,9*)(2*,3*)(2*,6)(4,6)(8,9*)

0 0 - 1- 0 0 10 0 1 -0 - 1 00 1 - 01 0 0 -

üüüüüü

2 (6,14) - 1 1 0

3 (14,15) 1 1 1 -

Column 3

index decimal a b c d

0(0,1,2*,3*)(0,2*,4,6)(0,8,1,9*)

0 0 - -0 - - 0- 0 0 -

1 없음

2 없음

PI를 찾는 과정에서는 무관항 포함

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

abccbdaf ++=

IMPLICANTS 0 1 4 6 8 14 15

0 0 - - X X X

0 - - 0 X (X) X

- 0 0 - X X (X)

- 1 1 0 X X

1 1 1 - X (X)

Essential X X (X) X (X) X (X)

badacbdbc

abc

abcd

00 01 11 10X11 X

1

00

01

11

10

11

1

1 X

PI를 선택하는 과정에서는 무관항 불포함

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

예제 6-12 QM방법을 이용하여 POS 형태로 간소화 하여라.

åå += )9 3, 2, ()15 14, 8, 6, 4, 1, 0, (),,,( dmdcbaf

Column 1

index decimal a b c d

1 (2*) 0 0 1 0 ü

2

(3*)(5)(9*)(10)(12)

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

üüüüü

3(7)(11)(13)

0 1 1 11 0 1 11 1 0 1

üüü

Column 2

index decimal a b c d

1 (2*,3*)(2*,10)

0 0 1 -- 0 1 0

üü

2

(3*,7)(3*,11)(5,7)

(5,13)(9*,11)(9*,13)(10,11)(12,13)

0 - 1 1- 0 1 10 1 - 1- 1 0 11 0 - 11 - 0 11 0 1 -1 1 0 -

ü

ü

Column 3

index decimal a b c d

1 (2*,10,3*,11) - 0 1 -

2 없음

åå += )9 3, 2, ()13 12, 11, 10, 7, 5, (),,,( dmdcbaf

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

f’=a’bd + abc’ + b’c è f = (a+b’+d’)(a’+b’+c)(b+c’)

v 두 개의 시스템으로 분리되어 있는 것을 하나의 시스템으로 통합하는 것이가능하고, 공유 가능한 게이트가 있을 때 공유하여 시스템을 구성하면 경제적으로 좋은 시스템이 될 수 있을 것이다.

2 개로 분리된 시스템 하나로 통합된 시스템

6.5 여러 개의 출력함수

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

예제 6-14 다음과 같은 2개의 논리함수를 하나의 시스템으로 통합

å= )7 6, 2, 0,(),,( mZYXF å= )7 6, 3, 1,(),,( mZYXG

XYZXF += XYZXG +=

YZ

1 1

1 1

X 00 01 11 10

0

1

YZ

1 1

1 1

X 00 01 11 10

0

1

XZ

X

XZ

X

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

예제 6-17 다음 3개 함수를 동시에 간소화하시오.

v 세 함수끼리 서로 독립된 부분과 두 개의 함수에서 같은 영역 중 크게 묶을수 있는 영역을 먼저 찾는다.

F G

å= )15,14,11,10,6,2,0(),,,( mZYXWF

å= )15,14,13,12,9,8,7,6,3,0(),,,( mZYXWG

å= )15,14,13,12,11,10,7,5,4,3,0(),,,( mZYXWH

YZ

1 1

1

1 1

1 1

WX 00 01 11 10

00

01

11

10

YZ

1 1

1 1

1 1 1 1

1 1

WX 00 01 11 10

00

01

11

10

YZ

1 1

1 1 1

1 1 1 1

1 1

WX 00 01 11 10

00

01

11

10

H

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

v 나머지 중에서 공통된 부분과 독립된 부분을 찾는다.

F G H

YZ

1 1

1 1

1 1 1 1

1 1

WX 00 01 11 10

00

01

11

10

YZ

1 1

1 1 1

1 1 1 1

1 1

WX 00 01 11 10

00

01

11

10

ZYXWZYWYZYXWF ++=),,,(

ZYXWXYWXYYWZYXWG +++=),,,(

ZYXWXYWWYYXZYXWH +++=),,,(

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

¢ 무관항을 갖는 경우

v 서로 독립된 영역을 찾은 후, 선택되지 않는 부분을 찾아서 나머지를 묶는다.

åå += )15,14,1,0()12,11,9,6,4,3,2(),,,( dmZYXWF

åå += )15,14,1,0()12,11,10,6,2(),,,( dmZYXWG

YZ

x x 1 1

1 1

1 x x

1 1

WX 00 01 11 10

00

01

11

10

YZ

x x 1

1

1 x x

1 1

WX 00 01 11 10

00

01

11

10

YZ

x x 1 1

1 1

1 x x

1 1

WX 00 01 11 10

00

01

11

10

YZ

x x 1

1

1 x x

1 1

WX 00 01 11 10

00

01

11

10

F G

ZYWZXYXF ++= ZYWZWXWYG ++=

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

한국기술교육대학교 전기전자통신공학부37

6.6 논리 회로의 간소화¢ 간소화 : 부울식의 간소화와 논리게이트의 간소화

¢ NOR 게이트와 NAND 게이트 – 만능(universal ) 게이트

l NAND 게이트

• 부울함수

• AND-NOT(AND 게이트의 출력을 반전), NOT-OR(OR 게이트의 모든 입력을 반전)의 두 가지로 표현

l NOR 게이트

• 부울함수

• OR-NOT(OR 게이트의 출력을 반전), NOT-AND(AND 게이트의 모든 입력을 반전)의 두 가지로 표현

xy

Fxy

Fx

Fy

xFy

xy

Fxy

F

한국기술교육대학교 전기전자통신공학부38

Universal 게이트l NOT : NAND 혹은 NOR 만으로 NOT 구현

l AND : NAND 혹은 NOR 만으로 AND 구현

l OR : NAND 혹은 NOR 만으로 OR 구현

x F x F x F

x Fy F

x

y

xFy F

x

y

한국기술교육대학교 전기전자통신공학부39

NAND 게이트의 논리 회로 구성¢ Two stage logic – SOP(SOM) 혹은 POS(POM)으로 표현

à 모든 디지털회로는 이단논리로 표현가능

l 부울 함수를 SOP 로 표시하는 방법

• 첫 번째 방법은 함수 값이 1인 최소항을 SOP 로 표시

• 두 번째 방법은 함수 값이 0인 최소항을 SOP로 표시한 후 보수화

l 함수를 2단계 NAND 게이트로 표시하는 방법.

• 함수 값이 1인 최소항을 구해 SOP 형식을 직접적으로 NAND 게이트로 변환(동일한 2단논리)

• 함수 값이 0인 최소항을 구해 보수를 한 후 SOP의 NAND 게이트로 표시, 마지막단에 NOT로 사용되는 NAND 사용(3단 논리)

l 함수를 2단계 NOR 게이트로 표시하는 방법.

• 함수 값이 0인 최대항을 구해 POS 형식을 직접적으로 NOR 게이트로 변환.(동일한 2단논리)

• 함수 값이 1인 최대항을 구해 보수를 한 후 POS의 NOR 게이트로 표시, 마지막단에 NOT로 사용되는 NOR 사용(3단 논리)

한국기술교육대학교 전기전자통신공학부40

SOP : NAND-NAND 논리¢ 2단 AND-OR 회로는 2단 NAND-NAND 논리로 변환

예) 부울 함수 F=wx+x'y+yz를 곱의 합형인 논리 회로로 표시하고, NAND 게이트로 구현하라.

y F

wx

z

y F

wx

z

y

wx

z

F y

wx

z

F

예제 6-18 다음 카르노 맵을 NAND 게이트만으로 표현하여라.

cd

1

1 1 1

1 1

1 1

ab 00 01 11 10

00

01

11

10

이 논리식을 이중 부정을 하여 드모르강의 정리를 적용하여 변형

bddcacbaf ++=

bddcacba

bddcacba

bddcacbaf

××=

++=

++=

41한국기술교육대학교 전기전자통신공학부

Another Method 1

abccba =++

42한국기술교육대학교 전기전자통신공학부

Another Method 2

2입력 NAND 게이트만으로 나타내기 위해 이 논리식을 변형.

bddabac

bddabacbddabac

bddabacbddcacbaf

××=

×+=++=

++=++=

)(

)()(

)(

dabadabadaba ×=+=+

43한국기술교육대학교 전기전자통신공학부

모든AND게이트의뒤에 NOT을두개붙인다.

bddabacbddcacbaf ++=++= )(

다단 2입력 NAND 게이트 논리 회로

44한국기술교육대학교 전기전자통신공학부

예제 6-19 다음식을 2입력 NAND 게이트만으로 표현

AND 게이트 뒤에 NOT을 두개씩붙인다.

CBCACABDCF +++= )()( BACABDCF +++=

45한국기술교육대학교 전기전자통신공학부

한국기술교육대학교 전기전자통신공학부46

POS : NOR-NOR 논리¢ 2단 OR - AND 회로는 2단 NOR-NOR 논리로 변환

예) 부울 함수를 POS 논리 회로를 구성하고 NOR 게이트로만 구현하라.

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

wx

y

z

F

wx

y

z

F

wx

y

z

F

예제 6-20 SOP로 나타낸 논리식을 NOR 게이트만으로 표현

l f = bd + a’c’d’ + ab’c’

dabdbacbdcf +++=

POS를 구하기 위하여 0으로 묶어서 f’ 를 SOP 식으로 먼저 표현

이것을 부정하게 되면 f 가 되며, 드모르강의 정리를 적용하여 다음과 같은 POS식을 구한다.

))()()((

dbadbacbdc

dabdbacbdc

dabdbacbdcf

++++++=

×××=

+++=

cd

1 0 0 0

1 1 1 0

0 1 1 0

1 1 0 0

ab 00 01 11 1000

01

11

10

OR 게이트의 출력을이중부정

47한국기술교육대학교 전기전자통신공학부

예제 6-21 NOR 게이트만으로 된 논리도 구하기

A B C D F0 0 0 0 1

0 0 0 1 1

0 0 1 0 0

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 0

0 1 1 1 1

1 0 0 0 0

1 0 0 1 0

1 0 1 0 1

1 0 1 1 1

1 1 0 0 0

1 1 0 1 1

1 1 1 0 0

1 1 1 1 1

))()(( CBADBDCAF +++++=CD

1 1 1 0

0 1 1 0

0 1 1 0

0 0 1 1

AB 00 01 11 1000

01

11

10

48한국기술교육대학교 전기전자통신공학부

• 2입력 NOR 게이트만으로 나타내기 위해 논리식 구하기

)))())(()(((

))()((

DBCBADCA

CBADBDCAF

+++++=

+++++=

각 OR 출력에 NOT을 2개 붙인다

49한국기술교육대학교 전기전자통신공학부

한국기술교육대학교 전기전자통신공학부50

게이트 간소화¢ 가능한한 IC 개수를 줄여서 x = AB + CD로 표현되는 식의 회로를 구현하려고

한다. TTL IC를 가지고 회로를 구성하여라.

2개 논리 게이트 사용

1개 논리 게이트 사용

한국기술교육대학교 전기전자통신공학부51

사용별 게이트의 표현선택¢ 회로 설계에 있어 대치 논리게이트를 적절히 사용하여 회로 해석을 쉽게 한다.

- 동작시킬 회로의 최종 출력이 Active High이냐 Active Low에 따라 선택- 그림 (b) : 출력 Z는 A=B=1 또는 C=D=1인 경우에 High - 그림 (c) : 출력 Z는 A 또는 B가 Low이고, C 또는 D가 Low일 때만 Low 출력

¢ Bubble 위치반전을 나타내는 버블은 출력에 버블이 있으면 그 다음 입력에 버블이 있도록 연결버블이 없는 출력에는 없는 입력을 연결

한국기술교육대학교 전기전자통신공학부52

6.7 XOR 게이트와 XNOR 게이트

l 비교 연산을 수행하는 게이트

l 교환 법칙과 결합 법칙 성립

¢ XOR 게이트

l A≠B이면 1 출력, A=B이면 0 출력

l 부울함수 : F = x Å y = x' y + x y'

¢ XNOR 게이트

l A≠B이면 0 출력, A=B이면 1 출력

l 부울 함수 : F = x � y = x' y' + x y

¢ XOR 과 XNOR는 서로 보수함수

l F' =( x' y + x y')' = (x+y')(x'+y)

= xx'+xy+x'y'+yy'

= xy+x'y' ç XNOR

한국기술교육대학교 전기전자통신공학부53

XOR 사용 예(예) x1x0와 y1y0는 각각 2비트 2 진수이다. 이 두수가 서로 같은 값을 가질 때 출력

이 HIGH가 되는 논리회로를 설계하라.

진리표 작성하면 각 입력의 같은 자리수가 같을 때 출력이 1

(예) 간소화시 XOR나 XNOR를 이용한 예

z = ABCD + AB'C'D + A'D'

= AD(BC + B'C') + A'D'

= AD(B � C) + A'D'

¢ 3변수 XOR 부울식

F(x,y,z)= x Å y Å z = ∑m(1,2,4,7)

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

ß 1의 개수가 홀수개

ß 홀함수( odd function)

¢ 3변수 XNOR 부울식 ?

ß 짝함수( even function)

1 1

1 1

K-map

4입력 XOR

ZYXWXWZYXWZYXWXWZYWXXWZY

ZYWXZYXWZYXWZYXW

ZYZYWXYZZYXWYZZYXWZYZYXW

ZWXYZYWXYZXWZYXWXYZWZYXWZYXWZYXWF

ÅÅÅ=ÅÅ+ÅÅ=+Å++Å=

Å+Å+Å+Å=

+++++++=

+++++++=

))(())(())(())((

)()()()(

)()()()(

4 입력 XOR/XNOR 맵

4입력 XNOR

• 4입력 XOR 논리식

54한국기술교육대학교 전기전자통신공학부

홀함수( odd function) 짝함수( even function)