전자회로의 조합 논리: 논리게이트

EOH·2023년 3월 27일
0
post-thumbnail

🍪 논리게이트(logic gate)

1️⃣ 논리게이트란?

논리게이트란 불 대수를 물리적으로 구현한 것으로, 하나 이상의 논리적 입력 값에 대해 논리연산을 수행하여 하나의 논리적 출력값을 얻는 전자회로를 말한다.

❓논리게이트와 집적회로(IC)의 차이는 무엇일까?

❗️ 앞 장에서 설명했듯이 집적회로는 말그대로 여러 부품을 하나로 모아놓은 물리적 회로만을 의미한다. 논리게이트는 논리회로라고도 하며 논리적연산이 가능하도록 설계한 회로를 의마한다.

2️⃣ 논리게이트의 필요성

논리게이트가 없다면 부품을 하나 하나 조합해서 논리연산을 하는 회로를 설계해야한다. 하지만 논리게이트는 논리연산을 하는 하나의 부품으로써 회로를 좀 더 단순하게 설계할 수 있게 만들었다.

3️⃣ 논리게이트의 종류

아래 그림은 회로도에 사용하는 논리게이트의 기호를 나타낸 것이다. NOT은 전압을 바꾸는 인버터를 이용해 구현할 수 있는데 NOT기호의 세모모양은 입력을 출력에 전달하는 버퍼역할을 의미하며 작은 동그라미 모양이 반전시키는 역할을 의미한다.

게이트 스키매틱 기호 (출처 : 위키백과 논리 회로 )

4️⃣ 논리게이트가 작동하는 원리

기호는 위 처럼 나타내지만 사실 NAND와 NOR의 만들 때 부품이 가장 적게 들어가기 때문에 AND와 OR은 NAND와 NOR에 출력을 반전시키는 덧붙여 만든다.
🌟 위 기호가 부품의 모양과 갯수를 그대로 그려놓은 것이 아니라 의미하는 바를 그림으로 표현한다는 것을 알아햐 한다!
NAND와 NOR을 가지고 AND와 OR을 만드려면 인버터가 필요하다. 인버터는 NAND와 NOR을 같은 입력에 연결해 인버터를 만들 수 있다. ‘같은 입력에 연결한다‘는 뜻은 a NAND a 또는 a NOR a를 하는 것이다.

예를 들어 a가 1이라고 할때 a NAND a는 0이나오고 a NOR a도 0이 나온다. 이것은 각각 a AND a와 a NOR a를 반전시킨 값이다. a가 0이라고 해도 마찬가지이다. a NAND a 는 1, a NOR a 도 1이 나온다. NOT a 의 역할, 인버터의 역할을 한다.

이 인버터를 가지고 AND와 OR게이트를 만들 수 있다.
AND게이트는 NAND의 출력에 NAND 인버터를 연결해서 만들고, OR게이트는 각각의 입력값을 NAND인버터에 연결 후 NAND게이트에 연결해서 만들 수 있다.

이게 가능한지 증명하려면
NOT (A AND B) = (NOT A) OR (NOT B)가 드모르간의 법칙을 알면 된다.

🍩 게이트를 사용할 때 발생할 수 있는 문제와 해결방법

1️⃣ 글리치
아날로그 입력신호를 디지털로 바꾸는 과정에서 입력신호가 천천히 변하면 잡음이 생기게 되고 문턱값을 여러번 오르내리면서 출력신호에 글리치라는 오류가 생긴다. (문턱값에 대한 내용은 아날로그와 디지털 편을 참고하자!)
이를 해결하기 위한 두 가지 방법이 있다.

  • 이력 현상
    판정기준이 과거에 벌어진 이력에 따라 달라지도록 만드는 것이다. 1로 가능 신호와 0으로 가는 신호에 각각 다른 문턱값을 사용한다. 간단히 말해서 두 개의 절대적인 문턱값을 사용하는 것이다. 이력전이함수를 보면 대칭적이지 않은 특징을 가지고 있다.
한 권으로 읽는 컴퓨터 구조와 프로그래밍, 조너선 스타인하트, 책만, 118p
  • 차동신호(differential signaling)
    차동신호는 상대적인 신호의 차이를 측정하는 방식으로 두 신호를 흘려 그 신호의 차이를 측정하는 방식이다.
    예를 들어 5v를 만드려면 두 신호의 차이가 5v가 되도록 설정하면 된다. (10v, 5v) 이렇게 설정하거나 (7v, 2v) 이렇게 설정할 수 도 있다. 이렇게 되면 0.5v의 잡음이 발생해도 (10.5v, 5.5v)가 되어 두 신호의 차이는 5v로 측정되는 것이다.
    2️⃣ 전파지연
    입력의 변화가 출력에 영향을 미칠 때까지 걸리는 시간을 뜻한다.
    게이트에는 최대 지연과 최소 지연이라는 개념이 있기 때문에 회로를 설계할 때 최대 지연값과 최소 지연값을 감안해 설계해야 한다.

🍫 게이트의 출력 유형

  • 토템플 출력 (totem pole)
    트랜지스터가 토템폴처럼 세로로 나란히 늘어서 있어서 붙은 이름으로 일반적인 게이트 출력을 토템폴이라고 부른다.
    입력이 low일 때 low를 출력, 입력이 high일 때 high를 출력한다.
  • 오픈 컬렉터 출력 (open-collector / open-drain)
    오픈 컬렉터나 오픈드레인 출력이 여기에 속한다. 입력이 low일때 출력이 low, high일 때 출력이 float인 출력회로이다. float인 경우 출력값을 알 수 없는 상태이다.
  • 트라이스테이플 출력 (tri-state)
    high, low, float 3가지 상태를 내보낸다.
profile
에-오

0개의 댓글