1. 논리 연산
- 2진 디지털 시스템에서 입출력 관계를 표현하는 방법
- 그래프나 진리표로 표시
- 논리함수로 표시
논리연산과 논리 집합
논리집합
- 집합이 0(거짓)과 1(참)으로만 구성된 집합 {0,1}
논리연산(부울연산)
- 두 개의 이산값에 적용되는 연산
논리집합{0,1}에 대한 세 가지 논리연산
- AND 연산 : 점(·)으로 표시, 생략 가능
- OR 연산 : 덧셈 기호(+)로 표시
- NOT 연산 : 변수 위에 줄(-)을 그어 표시
2. 논리 게이트
1) AND 게이트
2) OR 게이트
3) NOT 게이트
4) NAND 게이트
![](https://blog.kakaocdn.net/dn/5r2cR/btsjRh9DMlK/zxF6viIDCwcmuLUx3n5Onk/img.png)
동그라미 기호로 not을 나타낸다.
AND게이트의 반대되는 동작을 나타낸다. (0001과 반대되는 1110 출력)
5) NOR 게이트
![](https://blog.kakaocdn.net/dn/bmMRx6/btsjQf5eRJs/oib4SzxuUjB28kHsU7Kpf0/img.png)
OR 게이트 심볼에다가 o (NOT)을 붙여준다.
OR에 대한 반대 (0111 -> 1000)
6) XOR 게이트
OR 게이트에다가 앞에 선을 하나 더 그은 형태
![](https://blog.kakaocdn.net/dn/NHghS/btsjWtapesA/pNW8D17eyitakwWnWKExD0/img.png)
베타적이라는 표현을 쓰는 이유는 입력이 서로 다른 것만 들어왔을 때 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
![](https://blog.kakaocdn.net/dn/C6kfu/btsjO4XNZzn/1O15kjZXtKZhByii96MgZk/img.png)
![](https://blog.kakaocdn.net/dn/NbdUa/btsjJVAlCD4/JzMrbxi3kyoA8Cxkoekh91/img.png)
드모르간 정리를 이용해서 좀 더 쉽게 구할 수 있다.
-> 쌍대를 이용해서 AND와 OR를 서로 바꿈
-> 구해진 것에다가 각 변수에 보수를 취함
![](https://blog.kakaocdn.net/dn/bO6kOX/btsjPsc4Dsb/rH4FUlRQKGTROzT1YU76G1/img.png)
-> AND와 OR를 바꿈
-> 각각에 보수를 취함
참고자료: 디지털논리회로(김형근, 손진곤 공저, KNOU press 출판)
'CS > 디지털논리회로' 카테고리의 다른 글
4변수 카르노 도표, 무관 조건, 기타 카르노 도표, NADN 게이트와 NOR 게이트를 이용한 논리회로 구현 (0) | 2023.06.14 |
---|---|
조합논리회로의 분석과 설계, 기본 연산회로, 가산기, 감산기, 가감산기 (0) | 2023.06.14 |
부울함수의 간소화, 카르노 도표 (0) | 2023.06.14 |
부울함수의 정규형 및 표준형, 최소항의 합, 최대항의 곱 (0) | 2023.06.14 |
디지털 시스템, 컴퓨터 구성, 집적회로, 수치 데이터, 디지털 코드 (0) | 2023.06.14 |