4. 논리게이트

4. 논리게이트[연습문제]

1. 다음 3입력 AND 게이트의 파형이 입력될 때 출력파형을 구하여라.

[풀이]

3입력 AND 게이트 진리표

[eqn: A~`B~`C]	출력
[eqn: 0~~0~~0# 0~~0~~1# 0~~1~~0# 0~~1~~1# 1~~0~~0# 1~~0~~1# 1~~1~~0# 1~~1~~1]	[eqn: 0# 0# 0# 0# 0# 0# 0# 1]

Text pp.126

2. 다음 그림의 수신장치(receiving device)에서 2, 3, 6, 7의  펄스를 얻기 위하여 인에이블 신호(enable signal)에 가해지는 파형을 그려보아라.

[풀이]

수신장치에서 2, 3, 6, 7의 펄스를 얻기 위해서는 인에이블 시그널이 2, 3, 6, 7 상태에서 High가 되어야만, AND 게이트 출력에 의해 원하는 값을 얻을 수 있다.

Text pp.126

3. 운전자가 승차 상태에서 안전벨트를 매지 않고 시동을 걸면, 경고등(W)이 켜지는 논리회로를 설계하여라. 운전자([eqn: D])가 승차하면 High, 하차하면 Low라고 하자. 안전벨트([eqn: S])를 매면 High, 그렇지 않으면 Low라고 하자. 또한 시동([eqn: I])을 걸면 High, 그렇지 않으면 Low라고 한다.

[풀이]

[eqn: D~~S~~I]	출력 상태	[eqn: W]
[eqn: 0~~0~~0]	탑승 상태가 아니므로 무조건 0	[eqn: 0]
[eqn: 0~~0~~1]
[eqn: 0~~1~~0]
[eqn: 0~~1~~1]
[eqn: 1~~0~~0]	탑승을 하였으나, 시동을 걸지 않았으므로 0	[eqn: 0]
[eqn: 1~~0~~1]	탑승상태에서 시동을 걸었으나, 안전벨트를 매지 않았으므로 1	[eqn: 1]
[eqn: 1~~1~~0]	탑승을 하였으나, 시동을 걸지 않았으므로 0	[eqn: 0]
[eqn: 1~~1~~1]	안전벨트를 맨 상태이므로 0	[eqn: 0]

진리표에서 출력이 1인 상태는 다음과 같이 된다.

[eqn: W=D {bar{S}} I]

Text pp.126

4. 자동차 도난경보기는 보통 문이 닫혀있을 때 4개의 각 문에 Low 스위치가 연결되어 있다. 만약 어떤 문리라고 열리게 되면 도난 경보가 울리게 된다. 경보는 active- high 출력을 필요로 하게 된다. 이 논리를 제공하기 위해서는 어떤 형태의 게이트가 필요한지 설명하여라.

각각의 문을 하나의 입력으로 정의하여 적어도 하나의 문이 열리게 되면 경보가 울리는 시스템이다. 따라서 적어도 하나가 1이면 무조건 출력이 1이 되는 OR 게이트가 필요하다.

[풀이]

Text pp.129

5. 5입력 OR 게이트에서 High를 출력하는 입력의 조합은 몇 가지나 있는가?

[풀이]

5입력을 갖는 게이트의 출력 조합은 다음과 같다.

[eqn: 2 ^{5} =32]

OR 게이트에서는 하나의 입력이 High이면 출력은 무조건 High가 된다. 따라서 출력이 Low인 경우는 모든 입력이 Low일 때만 가능이므로, 전체 조합에서 1을 빼면 OR 게이트에서 High를 출력하는 입력의 조합을 계산할 수 있다.

[eqn: 2 ^{5} -1=31]

Text pp.129

6. 다음 논리회로의 입력이 파형이 인가될 때 출력파형을 구하여라.

[풀이]

논리 게이트에 대한 진리표를 작성하되, AND 게이트의 출력을 [eqn: F _{1}]으로 가정한다.

[eqn: A~`B]	[eqn: F _{1}]	[eqn: F _{1} ~C]	출력
[eqn: 0~~0# 0~~1# 1~~0# 1~~1# 0~~0# 0~~1# 1~~0# 1~~1]	[eqn: 0# 0# 0# 1# 0# 0# 0# 1]	[eqn: 0~~0# 0~~0# 0~~0# 1~~0# 0~~1# 0~~1# 0~~1# 1~~1]	[eqn: 0# 0# 0# 1# 1# 1# 1# 1]

출력이 1이 되는 경우는

AND 게이트의 입력 [eqn: A,`B]가 1이 되거나

입력 [eqn: C]가 1일 때이다.

파형의 앞부분만을 입력으로 정의하여 출력을 그려보면 다음과 같이 된다.

Text pp.126~130

7. 아래 그림 ①과 그림 ②에 대하여 각각 진리표를 작성한 다음 논리식을 쓰시오. 이 결과를 더 확장한다면 어떤 결론을 내릴 수 있는가?

①

[풀이]

주어진 논리회로에 대한 진리표를 작성하면 다음과 같다.

[eqn: A~`B]	[eqn: F _{1}]	[eqn: F _{1} ~C]	출력
[eqn: 0~~0# 0~~1# 1~~0# 1~~1# 0~~0# 0~~1# 1~~0# 1~~1]	[eqn: 0# 0# 0# 1# 0# 0# 0# 1]	[eqn: 0~~0# 0~~0# 0~~0# 1~~0# 0~~1# 0~~1# 0~~1# 1~~1]	[eqn: 0# 0# 0# 0# 0# 0# 0# 1]

진리표로부터 논리식을 정의하면

[eqn: F=(AB)C=ABC]

와 같이 되며, 2입력 AND 게이트 두 개는 3입력 AND 게이트 하나로 동작한다. 또한 게이트를 확장하여 연결하는 경우에도 하나의 게이트로 동작할 수 있다.

②

[풀이]

주어진 논리회로에 대한 진리표를 작성하면 다음과 같다.

[eqn: A~~B]	[eqn: F _{1}]	[eqn: F _{1} ~C]	출력
[eqn: 0~~0# 0~~1# 1~~0# 1~~1# 0~~0# 0~~1# 1~~0# 1~~1]	[eqn: 0# 1# 1# 1# 0# 1# 1# 1]	[eqn: 0~~0# 0~~0# 0~~0# 1~~0# 0~~1# 0~~1# 0~~1# 1~~1]	[eqn: 0# 1# 1# 1# 1# 1# 1# 1]

진리표로부터 논리식을 정의하면

[eqn: F=(A+B)+C=A+B+C]

와 같이 되며, 2입력 OR 게이트 두 개는 3입력 OR 게이트 하나로 동작한다. 또한 게이트를 확장하여 연결하는 경우에도 하나의 게이트로 동작할 수 있다.

Text pp.126~130

8. OR 게이트인지 AND 게이트인지 모르는 2입력 게이트를 가지고 있다고 가정하자. 게이트의 입력에 어떤 신호의 조합을 인가해 보면 게이트의 유형을 알 수 있겠는가?

[풀이]

게이트 입력에 서로 다른 값을 입력하여 출력이 1이면 OR 게이트가 되고, 출력이 0이면 AND 게이트가 된다.

[eqn: A~~B]	OR 게이트	AND 게이트
[eqn: 0~~1# 1~~0]	[eqn: 1# 1]	[eqn: 0# 0]

Text pp.126~130

9. 제조공정에 필요한 액체 화합물을 두 개의 탱크에 저장하는 공장이 있다. 각 탱크에는 저장된 화합물이 25% 이하임을 검출할 수 있는 센서가 부착되어 있다. 이 센서의 출력은 저장된 화합물이 25% 이상이면 High, 25% 이하이면 Low이다. 두 탱크가 모두 25% 이상 채워졌을 때, 표시판의 녹색 LED가 on 되어야 한다. 이 논리를 제공하기 위해서는 어떤 형태의 게이트가 필요한지 설명하여라.

[풀이]

탱크의 저장 상태에 따른 출력을 표현하기 위해 진리표를 이용한다.

탱크1 탱크2	T1 T2	LED
25%이하 25%이하 25%이하 25%이상 25%이상 25%이하 25%이상 25%이상	[eqn: L~~L# L~~H# H~~L# H~~H]	[eqn: rm `OFF# rm`OFF# rm`OFF# rm`ON]

정논리를 이용한 진리표를 부울대수 논리로 바꾸어 정리하면 다음과 같다.

T1 T2	LED	Gate
[eqn: 0~~0# 0~~1# 1~~0# 1~~1]	[eqn: 0# 0# 0# 1]	화합물이 25% 이상이면 논리적으로 1의 상태로 설정하며, 두 탱크 모두가 1의 상태를 가지면 LED를 ON시키는 논리 ▷ AND gate

AND 게이트를 이용한 회로는 다음과 같이 그릴 수 있다.

논리적으로는 AND 게이트의 출력을 소스전류로 가정하여 탱크에 저장된 화합물의 저장 상태를 검출할 수 있다. 그러나 74 계열 TTL IC의 경우 싱크전류는 16[㎃]까지 가능하며, 소스전류는 0.2[㎃] 이하이다. LED를 점등하기 위해서는 2[V]~4[V]의 전압과 20[㎃] 정도의 전류가 필요하다. 따라서 AND 게이트로 회로를 구성하면 전류가 부족하여 LED를 켤 수가 없다.

AND 게이트를 이용한 회로에서 출력이 1일 때 발생하는 소스전류로만 LED를 ON시키는 것이 어렵다. 이러한 문제를 해결하기 위해서는 게이트의 출력이 싱크전류로 동작되도록 회로를 구성해야 한다. 즉, 게이트의 출력이 1일 때 LED가 ON되는 것이 아니라, 게이트의 출력이 0일 때 LED가 ON이 되도록 설계하는 것이다.

T1 T2	LED	싱크전류 구동	싱크전류를 이용한 LED 점등
[eqn: 0~~0# 0~~1# 1~~0# 1~~1]	[eqn: 0# 0# 0# 1]	[eqn: 1# 1# 1# 0]	입력 중 하나가 0이면 출력이 무조건 1이 되는 게이트 ▷ NAND gate

진리표를 이용하여 게이트를 찾을 수 있다. 그러나 논리적으로 AND 게이트 출력 뒷단에 NOT 게이트를 추가하면 싱크전류로 구동되는 회로를 설계할 수 있다. 즉, NAND 게이트를 이용함으로써 출력이 0일 때 LED를 ON되도록 회로를 변경한다.

Text pp.147~148

10. 4입력 NAND 게이트 하나를 포함하고 있는 회로를 고장 진단하던 중 NAND 게이트의 출력이 항상 High인 것을 발견하였다고 가정하자. 어떤 문제가 발생할 수 있는지 설명하여라.

[풀이]

NAND 게이트의 동작특성을 알아보기 위해 2입력 진리표를 작성한다.

[eqn: A~B]	NAND	동작특성
[eqn: 0~~0# 0~~1# 1~~0# 1~~1]	[eqn: 1# 1# 1# 0]	입력 중 적어도 하나가 0이면 출력이 무조건 1이 됨

NAND 게이트의 동작특성에 따라 4개의 입력 중 하나가 논리적으로 0이면 출력이 무조건 1이며, 전기적으로는 입력 중 하나가 0[V]에 접지되어 있는 상태이다.

Text pp.131

11. 다음 3입력 NOR 게이트의 입력파형을 보고 출력파형을 구하여라.

[풀이]

3입력 NOR 게이트 진리표

[eqn: A~`B~`C]	출력
[eqn: 0~~0~~0# 0~~0~~1# 0~~1~~0# 0~~1~~1# 1~~0~~0# 1~~0~~1# 1~~1~~0# 1~~1~~1]	[eqn: 1# 0# 0# 0# 0# 0# 0# 0]

Text pp.133

12. 다음 각 물음에 답을 2가지씩 제시하여라.

① 3입력 AND 게이트를 사용하여 2입력 AND 게이트 기능을 갖도록 구성하여라.

￭ AND 게이트의 입력이 1이면 다른 입력에 의해 출력이 결정된다. 따라서 3입력 중 하나를 1로 정의하면 되며, 전기적으로는 5[V]를 인가한 것과 같다.

￭ 3입력 중 2입력을 결합하여 하나의 입력으로 정의하면, 3입력 AND 게이트가 2입력 AND 게이트로 구성된다.

Text pp.126

② 3입력 OR 게이트를 사용하여 2입력 OR 게이트 기능을 갖도록 구성하여라.

￭ OR 게이트의 입력이 0이면 다른 입력에 의해 출력이 결정된다. 따라서 3입력 중 하나를 0으로 정의하면 되며, 전기적으로는 접지한 것과 같다.

￭ 3입력 중 2입력을 결합하여 하나의 입력으로 정의하면, 3입력 OR 게이트가 2입력 OR 게이트로 구성된다.

Text pp.129

③ 3입력 NAND 게이트를 사용하여 2입력 NAND 게이트 기능을 갖도록 구성하여라.

￭ NAND 게이트의 입력이 0이면 출력은 무조건 1이 된다. 그러나 입력이 1이면 다른 입력에 의해 출력이 결정된다. 따라서 3입력 중 하나를 1로 정의하면 되며, 전기적으로는 5[V]를 인가한 것과 같다.

￭ 3입력 중 2입력을 결합하여 하나의 입력으로 정의하면, 3입력 NAND 게이트가 2입력 NAND 게이트로 구성된다.

Text pp.131

④ 3입력 NOR 게이트를 사용하여 2입력 NOR 게이트 기능을 갖도록 구성하여라.

￭ NOR 게이트의 입력이 1이면 출력은 무조건 0이 된다. 그러나 입력이 0이면 다른 입력에 의해 출력이 결정된다. 따라서 3입력 중 하나를 0으로 정의하면 되며, 전기적으로는 접지한 것과 같다.

￭ 3입력 중 2입력을 결합하여 하나의 입력으로 정의하면, 3입력 NOR 게이트가 2입력 NOR 게이트로 구성된다.

Text pp.133

13. 항공기에는 3개의 착륙기어가 있으며, 각각의 기어에는 센서가 부착되어 있다. 착륙기어가 펴졌을 때 센서 출력은 Low이고, 그렇지 않으면 High라고 가정한다. 항공기가 착륙 전에 기어를 내리는 스위치를 동작시켰을 때, 3개의 기어가 모두 적절히 펴지면 녹색 LED가 on 되어야 한다. 이 논리를 제공하기 위해서는 어떤 형태의 게이트가 필요한지 설명하여라.

[풀이]

기어의 펴짐과 접힘 상태에 따른 LED 점등 상황을 표현한다.

기어1 기어2 기어3	G1 G2 G3	LED
펴짐 펴짐 펴짐 펴짐 펴짐 접힘 펴짐 접힘 펴짐 펴짐 접힘 접힘 접힘 펴짐 펴짐 접힘 펴짐 접힘 접힘 접힘 펴짐 접힘 접힘 접힘	[eqn: L~~L~~L# L~~L~~H# L~~H~~L# L~~H~~H# H~~L~~L# H~~L~~H# H~~H~~L# H~~H~~H]	[eqn: rm `ON# rm `OFF# rm `OFF# rm `OFF# rm`OFF# rm`OFF# rm`OFF# rm`OFF]

진리표를 이용하여 기어와 LED 점등 상황을 진리표로 표현한다.

G1 G2 G3	LED	Gate
[eqn: 0~~0~~0# 0~~0~~1# 0~~1~~0# 0~~1~~1# 1~~0~~0# 1~~0~~1# 1~~1~~0# 1~~1~~1]	[eqn: 1# 0# 0# 0# 0# 0# 0# 0]	입력 중 기어가 펴져있으면 Low 상태인 0으로 정의하며, 모든 기어가 펴져있을 때만 LED를 ON시키는 논리 ▷ NOR gate

NOR 논리를 이용하여 LED 점등 상황을 표현한 회로는 다음과 같다. 회로에서는 모든 기어가 펴진 Low 상태에서만 LED가 켜지도록 동작되도록 설계되었다.

NOR 게이트의 출력이 1일 때 발생하는 소스전류로만 LED를 ON시키기란 어렵다. 이러한 문제를 해결하기 위해서는 게이트의 출력이 싱크전류로 동작되도록 회로를 구성해야 한다. 즉, 게이트의 출력이 1일 때 LED가 ON되는 것이 아니라, 게이트의 출력이 0일 때 LED가 ON이 되도록 설계하는 것이다.

G1 G2 G3	LED	싱크전류 구동	싱크전류를 이용한 LED 점등
[eqn: 0~~0~~0# 0~~0~~1# 0~~1~~0# 0~~1~~1# 1~~0~~0# 1~~0~~1# 1~~1~~0# 1~~1~~1]	[eqn: 1# 0# 0# 0# 0# 0# 0# 0]	[eqn: 0# 1# 1# 1# 1# 1# 1# 1]	입력 중 하나의 입력이 1이면 출력이 1이 되는 논리 ▷ OR gate

진리표를 이용하여 게이트를 찾을 수 있다. 그러나 논리적으로 NOR 게이트 출력 뒷단에 NOT 게이트를 추가하면 싱크전류로 구동되는 회로를 설계할 수 있다. 즉, OR 게이트를 이용함으로써 출력이 0일 때 LED를 ON되도록 회로를 변경한다.

Text pp.133

14. 이륙 후에 3개의 착륙기어가 모두 접히지 않았을 경우를 식별하기 위해서는 어떤 형태의 게이트가 필요한지 설명하여라. LED는 게이트 출력이 Low일 때 on된다고 가정하자.

[풀이]

기어의 펴짐과 접힘 상태에 따른 LED 점등 상황을 표현한다.

기어1 기어2 기어3	G1 G2 G3	LED
펴짐 펴짐 펴짐 펴짐 펴짐 접힘 펴짐 접힘 펴짐 펴짐 접힘 접힘 접힘 펴짐 펴짐 접힘 펴짐 접힘 접힘 접힘 펴짐 접힘 접힘 접힘	[eqn: L~~L~~L# L~~L~~H# L~~H~~L# L~~H~~H# H~~L~~L# H~~L~~H# H~~H~~L# H~~H~~H]	[eqn: rm `ON# rm`ON# rm`ON# rm`ON# rm`ON# rm`ON# rm`ON# rm`OFF]

진리표를 이용하여 기어와 LED 점등 상황을 진리표로 표현한다.

G1 G2 G3	출력	LED	싱크전류로 LED를 구동
[eqn: 0~~0~~0# 0~~0~~1# 0~~1~~0# 0~~1~~1# 1~~0~~0# 1~~0~~1# 1~~1~~0# 1~~1~~1]	[eqn: 0# 0# 0# 0# 0# 0# 0# 1]	[eqn: 1# 1# 1# 1# 1# 1# 1# 0]	싱크전류로 LED를 구동하기 위해서는 게이트 출력이 0인 상태가 되어야 한다. 진리표에서 출력이 0인 상태에서 LED가 ON되는 논리 ▷ AND 게이트

AND 게이트를 이용하여 출력이 0일 때에 게이트의 출력이 싱크전류로 동작되도록 회로를 설계한다.

Text pp.125

15. 다음 3입력 XOR 게이트의 입력파형을 보고 출력파형을 구하여라.

[풀이]

3입력 XOR 게이트 진리표

[eqn: A~`B~`C]	출력
[eqn: 0~~0~~0# 0~~0~~1# 0~~1~~0# 0~~1~~1# 1~~0~~0# 1~~0~~1# 1~~1~~0# 1~~1~~1]	[eqn: 0# 1# 1# 0# 1# 0# 0# 1]

Text pp.135

16. 2입력 XOR 게이트 2개를 사용하여 2입력 XNOR 게이트 기능을 수행하는 회로를 구현하여라.

[풀이]

XOR 게이트는 입력되는 1의 개수가 짝수이면 0을 출력하고, 홀수이면 1을 출력한다. 즉, XOR는 짝수 패리티를 만드는 논리 게이트이다. 반대로 XNOR 게이트는 전체 1의 개수를 홀수로 만드는 논리 게이트이다. 문제는 XOR 두 개를 사용하여 홀수 패리티로 동작되는 XNOR 게이트를 구성하라는 것이다.

입력	XOR	입력	XOR	[eqn: alpha] 입력의 정의
[eqn: A~`B]	[eqn: F _{1}]	[eqn: F _{1} ~` alpha]	[eqn: F]	[eqn: F _{1}]과 [eqn: alpha]를 XOR
[eqn: 0~~0# 0~~1# 1~~0# 1~~1]	[eqn: 0# 1# 1# 0]	[eqn: 0`~ TIMES # 1`~ TIMES # 1~` TIMES # 0~` TIMES]	[eqn: 1# 0# 0# 1]	[eqn: 0 OPLUS TIMES =1~ -> ~ TIMES =1~# 1 OPLUS TIMES =0~ -> ~ TIMES =1~# 1 OPLUS TIMES =0~ -> ~ TIMES =1~# 0 OPLUS TIMES =1~ -> ~ TIMES =1~]

진리표에서 보는 바와 같이 [eqn: TIMES =1]로 정의하면 두 번째 XOR 게이트의 출력이 홀수 패리티를 정의하는 XNOR 게이트와 같이 된다.

Text pp.135

17. 아래 표는 2입력 논리 게이트에 대한 입출력 전압을 나타낸다.

입력		출력
[eqn: A]	[eqn: B]	[eqn: F]
0V 0V ＋5V ＋5V	0V ＋5V 0V ＋5V	＋5V 0V 0V ＋5V

① 정논리를 이용한 진리표로 바꿔라. 이때 어떤 함수가 실현되는가?

[풀이]

∙Low state에서 0V → 논리 0

∙High state에서 ＋5V → 논리 1

입력		출력
[eqn: A]	[eqn: B]	[eqn: F]
0 0 1 1	0 1 0 1	1 0 0 1

▷ 진리표에 따른 논리 게이트는 XNOR이다.

② 부논리를 이용한 진리표로 바꿔라. 이때 어떤 함수가 실현되는가?

[풀이]

∙Low state에서 0V → 논리 1

∙High state에서 ＋5V → 논리 0

입력		출력
[eqn: A]	[eqn: B]	[eqn: F]
1 1 0 0	1 0 1 0	0 1 1 0

▷ 진리표에 따른 논리 게이트는 XOR

18. 정논리 AND 게이트와 부논리 OR 게이트의 논리 동작이 서로 동일함을 증명하여라.

[풀이]

∙정논리에 대한 logic

Low level ＝ 0

High level ＝ 1

∙부논리에 대한 logic

Low level ＝ 1

High level ＝ 0

∙정논리에 의한 AND 게이트 출력

A B	F	→	A B	F
L L L H H L H H	L L L H		0 0 0 1 1 0 1 1	0 0 0 1

∙부논리에 의한 AND 게이트 출력

A B	F	→	A B	F
L L L H H L H H	L L L H		1 1 1 0 0 1 0 0	1 1 1 0

▷ 부논리에 의한 AND 게이트의 출력은 정논리 OR 게이트의 출력과 동일

19. 그림의 회로에서 입력 A에 구형파를 인가한 경우 개략적인 출력파형을 그려보아라. 단, NOT 게이트에서 전파지연은 펄스폭에 비해 매우 적다고 가정한다.

① NOT 게이트에서 전파지연을 무시한 경우

[풀이]

② NOT 게이트에서 전파지연을 고려한 경우

[풀이]

20. 그림의 회로에 대해 문제 14를 반복하여라.

① NOT 게이트에서 전파지연을 무시한 경우

[풀이]

② NOT 게이트에서 전파지연을 고려한 경우

[풀이]

21. 어떤 논리 게이트가 ＋5V DC 전원에서 동작하고, 논리 1에서 전류는 1.5㎃, 논리 0에서는 12.5㎃ 전류가 흐른다면 이 게이트의 평균 전력소모는 얼마인가?

[풀이]

∙논리1의 전력소모

[eqn: P=VI=5 TIMES 1.5 TIMES 10 ^{-3} =7.5]㎽

∙논리0의 전력소모

[eqn: P=VI=5 TIMES 12.5 TIMES 10 ^{-3} =62.5]㎽

∙평균 전력소모

[eqn: P _{avg} = {(7.5+62.5) TIMES 10 ^{-3}} over {2} =35]㎽

22. 게이트의 논리 0의 최대출력이 0.6V이고, 다른 게이트의 논리 0의 최대입력이 0.8V일 때 잡음여유도를 계산하여라.

[풀이]

∙게이트의 파라미터

[eqn: V _{OL} (max)=0.6rm`V]

[eqn: V _{IL} (max)=0.8 rm `V]

∙Low level의 잡음여유도

[eqn: V _{NL} =V _{IL} (max)``-V _{OL} (max)=0.8-0.6=0.2 rm `V]

23. 다음 표를 보고 각 계열별 잡음여유도를 계산한 후 게이트의 동작속도가 빠른 순서와 잡음여유도가 높은 순서대로 나열하여라.