논리회로 출력파형 - nonlihoelo chullyeogpahyeong

논리회로,FPGA

AND, NAND, OR, NOR, XOR, NOT 논리 게이트(Logic Gate)의 동작 실험

디지털 회로(digital circuit) 또는 논리회로(logic circuit)를 처음 공부할 때 논리 게이트(logic gate)를 접하는데요. 논리 게이트는 논리회로를 구성하는 기본적인 요소여서, 동작을 잘 알아두는 것이 중요합니다. 그래서 이 글에서 AND, NAND, OR, NOR, XOR, NOT 논리 게이트(logic gate) IC를 브레드보드에 회로로 꾸며서, 동작을 간단한 실험으로 살펴보겠습니다.

아래 사진은 AND 게이트와 NAND 게이트를 실험할 때 브레드보드의 모습인데요. 5.0V 전원을 인가하는데 파워서플라이를, 신호를 인가하는데 2채널 함수발생기를, 그리고 파형을 측정하는데 4채널 오실로스코프를 사용했습니다. 330nF 캐패시터는 두 IC의 전원전압을 안정시키기 위해 사용했습니다. 다른 게이트를 실험할 때도 회로는 비슷하게 꾸몄습니다.

AND 게이트와 NAND 게이트의 동작은 진리표(truth table)를 보면 알 수 있습니다. 진리표에서 입력은 A, B, 출력은 AND, NAND로 표시했습니다. AND 게이트는 두 입력이 모두 1이어야 출력이 1이고, 나머지 경우는 출력이 0이예요. NAND 게이트는 반대로 두 입력이 모두 1이어야 출력이 0입니다.

A

B

AND: AB

NAND: /(AB)

0

0

0

1

0

1

0

1

1

0

0

1

1

1

1

0

AND 게이트와 NAND 게이트의 동작을 보기 위해, 아래 회로도처럼 회로를 구성했습니다. AND와 NAND 게이트 IC는 각각 74LS08(7408)과 74LS00(7400) IC를 사용했는데요. 사용한 IC가 르네사스사의 제품이어서, 정확한 IC 이름은 위 사진처럼 HD로 시작합니다. 삼각형이 표시된 곳은 오실로스코프로 파형을 측정한 곳으로, 삼각형의 색은 오실로스코프에 나타난 파형의 색을 뜻합니다.

진리표에 나오는 4가지 입력의 조합을 게이트에 입력시키기 위해, 함수발생기가 주파수가 같고 위상이 다른 파형을 출력하도록 설정했습니다. 파형은 사각파, 주파수는 500kHz, 위상차이는 90도, 전압범위를 0V ~ 5V로 설정하면, 함수발생기는 A, B로 표시된 파형을 생성해서 두 논리 IC에 입력시킵니다.

74LS08 IC는 A, B 입력을 받아 AND 연산 결과를 분홍색 파형처럼 출력합니다. 분홍색 파형을 보면, A, B 입력이 모두 5V일 때만 4V 이상이고, 한 입력이라도 0V이면 분홍색 파형의 전압이 0.5V 정도로 보입니다. 74LS 계열의 IC는 TTL IC 이어서, 입력전압이 0.8V 이하이면 low 또는 0 상태로 인식하고, 2.0V 이상의 전압은 high 또는 1 상태로 인식해요. 출력전압의 범위는 입력전압의 범위보다 좁아서, low 상태의 출력은 0.5V 이하이고 high 상태의 출력은 2.7V 이상이 되도록 논리 IC가 설계되어 있습니다. 그래서 입출력 전압으로 논리를 따져보면, A, B 입력이 모두 1일 때 1이 출력되고, 한 입력핀에라도 0이 입력되면 0이 출력되는 것을 볼 수 있습니다. 참고로 0.8V - 2.0V 사이의 입력전압은 0과 1 중 어느 상태로도 인식될 수 있습니다.

NAND 연산은 74LS00 IC에 의해 파란색 파형처럼 수행되었는데요. 진리표처럼 A, B 입력이 모두 1일 때 0을 출력하고, 그 외에는 1을 출력하는 것이 보입니다.

이번엔 OR 게이트와 NOR 게이트의 연산을 살펴봅시다. 진리표를 보면, OR 연산 결과는 두 입력 중 1개라도 1이면 1 입니다. NOR 연산 결과는 두 입력이 모두 0일때만 1 이예요.

A

B

OR: A+B

NOR: /(A+B)

0

0

0

1

0

1

1

0

1

0

1

0

1

1

1

0

실험을 위해, OR 게이트 IC인 74LS32(7432)와 NOR 게이트 IC인 74LS02(7402) IC로 회로를 아래처럼 꾸몄습니다. 이전 게이트를 실험할 때와 같은 파형을 두 게이트에 인가하게 한 뒤, 삼각형으로 표시한 부분의 파형을 오실로스코프로 관찰했습니다. 74LS32 IC는 TI사의 것을, 74LS02 IC는 르네사스의 것을 사용했습니다.

오실로스코프 화면을 보면, OR 연산과 NOR 연산이 진리표에 따라 이루어진 것을 볼 수 있습니다.

3. XOR Gate

XOR는 exclusive OR을 뜻하는 말로, XOR 게이트의 동작은 XOR 연산을 따라 이루어집니다. 아래 진리표는 XOR 연산의 입력과 출력의 관계를 나타내는데요. 두 입력이 같으면 0을 출력하고, 두 입력이 다르면 1을 출력합니다.

A

B

XOR: (/A)B+A/B

0

0

0

0

1

1

1

0

1

1

1

0

XOR 게이트 IC의 번호는 7486입니다. 그래서 74LS86 IC로 회로를 구성해 XOR 게이트의 동작을 실험했습니다. 이 IC의 제조사는 르네사스입니다.

아래 오실로스코프 화면은 위 회로도의 삼각형 부분의 파형을 측정한 결과를 보여줍니다. A, B 입력상태가 같으면 0 상태가 출력되고, 입력상태가 다르면 1이 출력되어 XOR 연산이 제데로 되는것이 확인됩니다.

4. NOT Gate

NOT 연산의 진리표는 아래와 같습니다. NOT 게이트는 진리표를 따라 입력신호를 반전시켜 출력해요.

NOT 게이트 IC는 TI사의 SN74LS04(7404)를 사용해서 입력파형과 출력파형을 관찰했습니다.

이번에는 두 채널의 파형만 보기 때문에, 파형을 좀더 크게보기 위해 한칸당 전압을 2V/DIV로 낮췄습니다. 진리표에서 본 것처럼, 노란색 입력파형이 반전되어 분홍색 파형으로 출력되는 것이 보이네요. 분홍색 파형의 1(high) 상태 출력전압이 4.4V 정도로 읽히는데, 74LS04 IC가 TTL IC 이어서 전원전압인 5.0V보다 0.6V정도 낮습니다. 이와 다르게 CMOS IC에 속하는 74HC04 IC는 5.0V에 가까운 전압을 출력할 수 있습니다.

5. TTL IC의 Floating시 입력상태: High

여기까지 해서 게이트(gate) IC 6개를 실험했는데요. 74LS 계열의 TTL IC로 논리 게이트를 실험할 때 알아야 될 것 한개가 생각나서, 마지막으로 설명을 하나 더 해봅니다.

아래 오실로스코프 화면은 74LS04 IC의 입력파형과 출력파형을 나타내는데요. 이 파형은 함수발생기의 출력을 0, 1이 아닌, "floating" 상태로 설정했을 때 나타났습니다. Floating은 아무것도 연결되지 않았거나 이와 비슷한 상태(예: 스위치/BJT/MOSFET off)로, 입력핀이 오픈되었다고 표현하기도 합니다. 출력측에서는 high-Z 상태, high-impedance 상태, 3-state 또는 tri-state 라고도 불려요.

분홍색 출력파형을 보면, NOT 게이트는 0(low) 상태를 출력하고 있습니다. 이것은 NOT 게이트가 입력을 1(high)로 인식한 것을 의미하는데, 노란색 입력파형을 보면 전압이 1.4V 정도입니다. A 핀에 아무것도 연결하지 않았는데 1.4V 전압이 형성되고, 불확실한 영역에 있는 1.4V 전압이 1로 인식된거예요. 그리고 여러 자료를 보면, TTL IC는 입력핀이 floating 상태일 때 high로 인식한다고 나옵니다. 그래서 74LS 계열 TTL IC의 입력핀에 아무것도 연결하지 않으면, 0이 아니라 1(high)로 인식하는 것을 알아둘 필요가 있습니다.

이렇게 AND, NAND, OR, NOR, XOR, NOT 논리 게이트(logic gate)의 동작을 실험했습니다. 요즘은 TTL 논리 IC의 사용이 줄어서, 74HC로 시작하는 CMOS IC를 사용해도 같은 논리연산 결과를 얻을 수 있어요. 74HC00, 74HC02, 74HC04, 74HC08, 74HC32, 74HC86 IC를 사용하면 됩니다. 다만 CMOS IC는 입력핀이 floating 상태일 경우, TTL IC와 다르게 low와 high 어느 상태로도 인식할 수 있으니 유의하세요. 이 글에서 실험하지 않은 게이트 두개가 있는데요. 버퍼 게이트는 NOT 게이트와 다르게 입력신호 그대로 출력하고, XNOR 게이트는 XOR 게이트의 출력을 반전시켜 출력합니다. 버퍼 게이트와 XOR 게이트 IC로 실험하면 확인할 수 있어요.

이 글에서 사용한 르네사스사의 IC는 몇년 전 초보시절에 구입했던 IC 키트에 있었는데요. 이제까지 AND gate, NOT gate 정도만 사용했었는데, 지금이 아니면 앞으로도 실험해보지 못할 것 같아 실험했습니다.