본문 바로가기
공부/컴퓨터구조

[3주차]디지털 논리회로-불 대수

by IT공부방 2021. 3. 26.

★ 불 대수 기본 법칙

 '곱의 합-최소항'과 '합의 곱-최대항'

★ 카르노 맵을 이용하여 간소화 하는 법

 

 

1. 불 대수란?

- 조지 불이 창안한 논리식을 표현하고 간소화하는 수학.

- AND : 곱셈 / OR : 덧셈 / NOT : A' 로 표현.

 

 

 

1) 불 대수 기본 법칙 21가지

 

- 항등/누승/보간/이중 부정 법칙 (9가지)

▶ A+0=0+A=A

▶ A*1=1*A=A

▶ A+1=1+A=1

▶ A*0=0*A=0

▶ A+A=A

▶ A*A=A

▶ A+A'=1

▶ A*A'=0

▶ A''=A

 

- 교환법칙 (2가지)

▶ A+B=B+A

▶ A*B=B*A

 

- 결합법칙 (2가지)

▶ (A+B)+C=A+(B+C)

▶ (A*B)*C=A*(B*C)

 

- 분배법칙 (2가지)

▶ A*(B+C)=A*B + A*C

▶ A+B*C=(A+B) * (A+C)

 

- 드모르간의 정리 (2가지)★

▶ (A+B)'=A*B

▶ (A*B)'=A'+B'

 

- 흡수법칙 (2가지)

▶ A+A*B=A

▶ A*(A+B)=A

 

- 합의의 정리 (2가지)

▶ AB+BC+A'C=AB+A'C

▶ (A+B)(B+C)(A'+C)=(A+B)(A'+C)

 

++ 집합을 생각하면 이해하기 쉽다

0 : 공집합/ 1 : 전체집합/ + : 합집합/ * : 교집합

ex) A+A=A --> AA=A

 

 

2) '곱의 합-최소항'과 '합의 곱-최대항'

 

- 곱의 합이란? 곱으로 이루어진 항이 합으로 연결된 것.

ex> A'B + CD'

A B 최소항 기호
0 0 A'B' m0
0 1 A'B m1
1 0 AB' m2
1 1 AB m3

->위 표는 2변수 최소항을 표로 나타낸 것이다.

->출력이 1이되는 항의 입력 변수는 AND연산하고 그 결과 각 항을 OR연산해야 한다.

->최소항 식은 최소항들의 합 형태로이므로 ∑ 기호로 표현한다.

 

 

- 합의 곱이란? 합으로 이루어진 항이 곱으로 연결된 것.

ex> (A+B')(C'+D)

A B 최대항 기호
0 0 A+B M0
0 1 A+B' M1
1 0 A'+B M2
1 1 A'+B' M3

->위 표는 2변수 최대항을 표로 나타낸 것이다.

->최소항 식과 반대로 출력이 0이 되는 항의 입력 변수는 OR연산하고 그 결과 각 항을 AND연산해야 한다.

->최대항 식은 최대항들의 곱 형태이므로 ∏ 기호로 표현한다.

 

 

 

2. 간소화

- 간소화의 필요성?

: 논리식은 논리 게이트를 이용해 논리 회로로 구성할 수 있다. 논리식에서 필요하지 않은 항과 변수를 제거해 간소화하면 비용이 줄고, 소비 전력의 효율성이 좋아지며 제품의 소형화가 가능하다. 

 

 

 

1) 불 대수 법칙을 이용한 간소화

- 단순한 논리식에서 사용한다. 

- 식이 복잡한 경우 어떤 항끼리 결합해야할지 결정하기 어렵다.

- 이 방법은 드물게 사용한다.

 

2) 카르노 맵을 이용한 간소화

-> 출력이 1인 최소항만 카르노 맵에 1로 넣고 나머지는 빈칸으로 둔다.

-> 이웃하는 최소항끼리만 묶을 수 있다. 단, 최소항은 1,2,4,8,16개 단위로만 묶는 것이 가능하다.

-> 오직 직사각형, 정사각형으로만 묶는 것이 가능하다. (대각선은 불가능)

-> 중복해서 묶는 것이 가능하고 최대한 크게 묶는다.

-> 첫 칸과 끝 칸, 윗 칸과 아래 칸은 연결되어 있다. >3변수와 4변수 카르노 맵에서 아주 중요하다.

 

- 2변수 카르노 맵의 형태

A↘B  B' B
A' m0 m1
A m2 m3
A↘B 0 1
0 0 1
1 2 3

 

- 3변수 카르노 맵의 형태

ABC 00 01 11 10
0 0 1 3 2
1 4 5 7 6


- 4변수 카르노 맵

AB↘CD 00 01 11 10
00 0 1 3 2
01 4 5 7 6
11 12 13 15 14
10 8 9 11 10

 

 

 

 

<내가 만든 문제>

Q. 다음 카르노 맵에 나타난 논리 함수를 간소화 하시오.

ABC 00 01 11 10
0 1 1   1
1   1