본문 바로가기
CS/디지털논리회로

논리연산, 논리 게이트, 부울 대수, 대수적 간소화

by Renechoi 2023. 6. 14.

1. 논리 연산

 

- 2진 디지털 시스템에서 입출력 관계를 표현하는 방법 

 

- 그래프나 진리표로 표시 

- 논리함수로 표시 

 

 

논리연산과 논리 집합

 

논리집합
- 집합이 0(거짓)과 1(참)으로만 구성된 집합 {0,1}

 

논리연산(부울연산)
- 두 개의 이산값에 적용되는 연산

 

논리집합{0,1}에 대한 세 가지 논리연산
- AND 연산 : 점(·)으로 표시, 생략 가능

- OR 연산 : 덧셈 기호(+)로 표시
- NOT 연산 : 변수 위에 줄(-)을 그어 표시

 

 

 

2. 논리 게이트

 

1) AND 게이트 

 

 

2) OR 게이트 

 

3) NOT 게이트

 

4) NAND 게이트

 

 

 

동그라미 기호로 not을 나타낸다.

 

AND게이트의 반대되는 동작을 나타낸다. (0001과 반대되는 1110 출력) 

 

 

5) NOR 게이트

 

 

OR 게이트 심볼에다가 o (NOT)을 붙여준다. 

 

OR에 대한 반대 (0111 -> 1000) 

 

 

 

6) XOR 게이트

 

 

OR 게이트에다가 앞에 선을 하나 더 그은 형태 

 

 

 

베타적이라는 표현을 쓰는 이유는 입력이 서로 다른 것만 들어왔을 때 1 값을 내기 때문.

0 1 -> 1 

1 0 -> 1 

 

같은 값이 들어오면 출력은 0 

 

 

7) XNOR 게이트

 

XOR에 NOT을 붙여준 형태

 

 

 

3. 부울 대수 

 

 

어떤 논리 집합에 따라 어떤 연산이 이루어지는가 

 

Boolean이라는 수학자가 만든 논리적 표현 

 

부울대수(Boolean Algebra)
- 0과 1의 값을 갖는 논리변수와 논리연산을 다루는 대수

 

부울함수(Boolean Function)
- 논리변수의 상호관계를 나타내기 위해 부울변수, 부울연산기호, 괄호 및 등호 등으로 나타내는 대수적 표현

 

 

부울 함수와 논리회로도 

- 부울 함수는 논리 게이트들로 구성되는 논리회로도를 작성 가능하게 한다. 

 

 

이와 같이 주어진 부울 함수를 논리 회로를 그림으로 나타나게 함 

회로도를 그려야지 실제로 PCB 같은 기판을 이용해서 회로를 물리적으로 만들어질 수 있게 한다. 

 

따라서 논리 회로도를 작성하는 것이 중요한데, 그것을 그리기 위해서 부울 함수가 도출되어 있어야 한다. 

 

 

부울 함수와 진리표 

-> 진리표라는 것은 어떤 게이트에 대한 입출력 관계를 표로 나타낸다. 

-> 즉 어떤 논리회로에 대한 동작 특성을 보여줌 

-> 0과 1의 조합의 리스트 

 

부울 함수를 진리표로 나타낼 수 있다. 

 

 

부울함수 <=> 진리표 

부울함수가 존재하면 진리표로 표현이 되고, 진리표가 있으면 부울함수를 나타낼 수 있다. 

 

 

원시적인 방법으로 하나 하나를 따져주면 된다.

 

입력 변수 3개 => 2진 조합은 3개 나온다. 

X, Y, Z = > 2의 3승 => 8개 

 

나열된 입력 변수에 따라서 모든 경우의 수에 따라서 표현한다.

 

예를 들어 X~Y에 대해 X=0, Y=0이면, Y는 bar가 있으니까 1이되고 따라서 두 개의 곱은 0 

=> 첫번째 항은 0이 된다. 

 

그것을 따져서 출력 F를 구함 

 

 

 

부울 함수와 진리표와의 관계 

- 부울 함수에 대한 진리표는 하나이다. 

- 그러나 동일 진리표를 만족하는 부울 함수는 여러 개가 될 수 있다. 

-> 따라서 동일 진리표에 대한 논리회로도는 여러 개가 될 수 있다. 

 

F = X + Y 

 

X Y F 

0 0 0

0 1 1

1 0 1 

1 1 1

 

F = ~XY + X~Y + XY 

 

 

하나의 동작만을 수행하는데 그림이 여러 개가 될 수도 있다 => 소자가 많이 사용될 수도 있고 적게 사용될 수도 있다

=> 단순해야 한다.

=> 간소화 필요성 

 

 

 

간소화 방법 

- 대수적인 방법

- 도표를 이용한 방법

- 테이블을 이용한 방법 

(입력 변수가 4개까지는 도표를 이용하면 쉬운데, 그 이상으로는 테이블이 필요하다. )

 

 

 

다음과 같은 부울 대수의 기본 공식을 이용해 대수적인 방법으로 간소화 할 수 있다. 

9번을 제외한 나머지는 좌우가 쌍으로 이루어져 있다. 

1번 -2번 

3번 - 4번 

서로 상관관계를 갖는다 => 쌍대 관계 

 

 

 

 

부울대수의 쌍대성 원리(principle of duality) 

-> 부울대수에서 어떤 부울공식이 항상 성립하고 자신의 쌍대형태를 구할 수 있다면 그 쌍대형태의 부울식도 성립한다. 

 

쌍대형태란 ? 

- 논리 연산자 +와 · 그리고 논리상수 1과 0을 맞바꾼 형태 

=> +의 쌍대는 · 

=> 1의 쌍대는 0 

 

 

쌍대형태의 예)

X + 0 = X  <-> X · 1 = X

 

  

 

항 결합 

F = X·~Y + X·Y·Z + ~X·Y·Z 

   = X~Y + YZ(X+~X)         //X+~X = 1

   = X~Y + YZ · 1 

   = X~Y + YZ 

 

 

문자소거

X + ~XY = (X + ~X)(X + Y)  = 1 · (X+Y)  = X + Y 

 

 

 

중요한 개념은 수학적인 방식으로 간소화를 할 수 있지만 공식을 놓치면 그 다음 간소화가 힘들다

=> 대수적인 방법은 가장 간소화를 못할 수 있다는 문제점 

 

 

 

부울 함수 F의 보수는 ~F

 

 

 

 

드모르간 정리를 이용해서 좀 더 쉽게 구할 수 있다. 

-> 쌍대를 이용해서 AND와 OR를 서로 바꿈 

-> 구해진 것에다가 각 변수에 보수를 취함 

 

-> AND와 OR를 바꿈 

-> 각각에 보수를 취함 

 

 

 

 

 

 


참고자료: 디지털논리회로(김형근, 손진곤 공저, KNOU press 출판) 

 

 

 

 

 

반응형