7.1 래치(latch)

 

디지털 회로는 조합회로와 순차회로로 구분할 수 있으며, 조합회로는 단순히 현재의 입력에 의해서만 출력이 결정되는 회로로 기억능력이 없는 반면에 순차회로는 현재의 입력뿐만 아니라 회로 내부에 기억된 상태값(과거의 입력에 의해 결정됨)에 따라 출력값이 결정되는 회로를 말한다. 따라서 순차회로는 회로 내부에 값들을 기억하기 위한 메모리 소자들을 가지게 되며, 일반적으로 많이 사용되는 메모리 소자로는 플립플롭(flip-flop)이라고 하는 소자가 있다. 플립플롭은 1비트의 정보(0 또는 1)를 저장할 수 있는 소자이며, 논리 게이트들을 연결하는 방법에 따라 다음에 설명하는 바와 같이 다양하게 구성할 수 있다.

래치(latch)는 기본적인 플립플롭(basic flip-flop)을 말하며, 그림 7-1과 같이 NOR 게이트를 사용하여 구성할 수도 있고, 그림 7-2와 같이 NAND 게이트를 사용하여 구성할 수도 있다. 그림에서 각 게이트의 출력이 다른 게이트의 입력쪽으로 되돌아가 연결되는 일종의 피드백(feedback) 경로가 있음에 유의하라.

이제 그림 7-1에 나타낸 래치 회로의 동작을 먼저 분석해 보자. 그림 7-1(a)는 NOR 게이트 2개를 사용해 구성된 래치 회로로서, 입력 S, R과 출력 Q, Q'를 가지고 있다. 그림 7-1(b)는 입력 S와 R의 변화에 따른 출력 Q와 Q' 값의 변화 관계를 시간축상에 나타낸 타이밍도(timing diagram)이다. 회로의 동작을 분석하기 위해 먼저 래치 회로는 초기(시간 t0)에 입력 SR=00, 출력 QQ'=01 값을 가지고 있으며, NOR 게이트의 전달지연시간은 Δt 라고 가정하자. 만일 t1 시간에 S를 0에서 1로 변화시키면 Δt 시간 후에 Q'는 1에서 0으로 변하고, 이 변한 값은 위쪽 NOR 게이트에 영향을 미치게 되어 다시 또 Δt 시간 후에 Q가 1로 변하게 된다. 이때 1로 변한 Q 값은 아래쪽 NOR 게이트의 입력으로 다시 인가되긴 하지만 이미 아래쪽 NOR 게이트의 한쪽 입력 S에 1이 인가되고 있기 때문에 아래쪽 NOR 게이트의 출력 Q'의 값은 더 이상 바뀌지 않고 0으로 남아있게 되어 이 상태로 회로가 안정(SR=10, QQ'=10)된다. 이와 같은 상황에서 다시 t2 시간에 S를 1에서 0으로 바꾸어도 아래쪽 NOR 게이트의 출력 Q'는 Q=1 값에 의해 0이 됨으로 출력 Q'는 변하지 않으며, 따라서 SR=00 QQ'=10 인 상태가 된다.

이번에는 t3 시간에 입력 R의 값을 0에서 1로 변화 시켜보자. R=1이 되면 Δt 시간 후에 Q는 1에서 0으로 되고, 다시 Δt 시간 후에 Q'가 0에서 1로 바뀌게 된다. 1로 바뀐 Q' 값은 위쪽 NOR 게이트의 입력으로 전달되긴 하지만 이미 R=1이 입력되고 있기 때문에 Q 값은 1로 바뀐 Q' 값에 의한 영향을 받지 않게 되고, 따라서 전체적으로 SR=01 QQ'=01 상태로 안정된다. 이와 같은 상태에서 t4 시간에 다시 R을 0으로 바꾸어도 Q'=1 임으로 위쪽 NOR 게이트의 출력 Q의 값은 바뀌지 않게 되어 SR=00 QQ'=01 이 된다.

이제까지의 결과를 한번 정리해 보자. 래치회로의 입력 SR에 00, 01, 10을 각각 인가하면 출력 QQ' 값은 어떻게 변화되는가? 앞에서 배웠던 조합회로들과는 달리 순차회로의 한 종류인 래치 회로는 입력 SR에 00이 인가되면 출력 QQ'의 값은 입력 SR=00이 인가되기 전에 가지고 있던 값을 그대로 유지한다.(그림 7-1(b)의 타이밍도에서 t2 시간과 t4 시간에 입력 SR=00이 인가되었을 때 출력 QQ' 값을 확인해 보라.) 이것은 래치 회로가 일종의 기억소자로서의 기능을 수행한다고 볼 수 있다. 또한 SR=01 즉 R(reset)에 1을 입력하면 출력 Q=0이 되고, SR=10 즉 S(set)에 1을 입력하면 출력 Q=1이 됨을 알 수 있으며, Q'의 값은 항상 Q의 반대값을 가짐을 알 수 있다.

이제 마지막으로 래치 회로의 입력으로 SR=11을 인가하면 출력은 어떻게 될까? 이 경우 출력 Q와 Q'는 Q=Q'=0이 되어 버린다. 또한 SR=11, QQ'=00 인 상태에서 SR=00으로 변화시키면 출력 Q와 Q'는 11과 00 상태를 무한히 반복하는 불안정한 상태가 되어 버린다. 따라서 래치 회로는 입력 SR=11을 인가하지 않는다는 조건하에 사용하여야 한다.

그림 7-1(c)에는 래치 회로에 대한 블록 형태의 기호를 나타내었고, 그림 7-1(d)에는 래치 회로의 동작에 대한 진리표를 나타내었다. 진리표를 간단히 표현하기 위해 진리표에 나타내진 않았지만, 출력 Q'는 항상 Q의 반대값(Q=0일 경우 Q'=1, Q=1일 경우 Q'=0)을 가진다. 또한 일반적으로 2개의 출력 Q와 Q' 값 중 Q의 값을 래치 회로의 상태 값이라고 말한다. 예를 들어 그림 7-1(a)에 나타낸 래치 회로의 상태가 0이라고 하면 이는 Q=0(Q'=1)임을 말한다.

그림 7-1. NOR 게이트로 구성된 래치 회로 및 타이밍도      

 

그림 7-2. NAND 게이트로 구성된 래치 회로 및 타이밍도      

그림 7-2의 NAND 게이트로 구성된 래치 회로에 대한 동작을 분석하는 것은 그림 7-1의 NOR 게이트로 구성된 래치 회로의 동작 분석 과정과 유사하다. 먼저 회로에서 SR=11, QQ'=01 상태를 가정하자. 그림의 타이밍도에서와 같이 t1 시간에 S를 0으로 변화시키면 출력 QQ'=10이 된다. 다시 t2 시간에 S를 1로 되돌려도 출력 QQ'=10으로 변함이 없다. 이번에는 t3 시간에 R을 0으로 변화시키면 10 상태였던 QQ' 값이 01로 바뀌게 되며, 다시 t4 시간에 R을 1로 되돌려도 출력 QQ'=01로 변하지 않게 된다. 결론적으로 그림 7-2의 NAND 게이트로 구성된 래치 회로에서는 입력 S와 R이 active-low 신호로 동작하여, SR=11일 때는 회로의 출력 Q가 변하지 않으며(물론 Q'도 변하지 않음), S를 0으로 하면 세트(set) 기능이 수행되어 출력 Q=1(Q'=0)이 되고, R을 0으로 할 경우에는 리셋(reset) 기능이 수행되어 출력 Q=0(Q'=1)이 된다. 물론 NAND 게이트로 구성된 래치 회로에서는 입력 S와 R을 동시에 0으로 인가해서는 안된다. 참고로 그림 7-2(c)의 회로 기호에서 입력단자 S와 R에 그려져 있는 작은 원은 S와 R이 active-low 신호임을 의미한다.

지금까지 살펴본 래치 회로는 단순히 S와 R 입력 값을 조절함으로써 출력 Q 값을 유지시키거나 변화시켰다. 이제 그림 7-3과 같이 S와 R 입력 외에 별도의 enable 제어신호를 갖는 SR 래치 회로를 고려해보자. 이 회로는 그림 7-1에 나타내었던 NOR 래치 회로의 입력단자에 AND 게이트를 추가하여 연결하거나, 그림 7-2에 나타내었던 NAND 래치 회로의 입력단자에 NAND 게이트를 추가 연결하여 만들 수 있으며, 이들 회로에 대한 상세한 해석은 그림 7-1과 그림 7-2에 나타내었던 래치 회로의 동작을 이해하고 있다면 쉽게 할 수 있을 것이다. 먼저 NOR 래치를 이용한 그림 7-3(a1) 회로를 분석해보면 입력 E=0일 경우에는 S와 R 입력 값에 상관없이 NOR 래치의 입력 SiRi=00이 되고 따라서 출력 Q는 변하지 않게 된다. 만일 E=1일 경우에는 Ri=R, Si=S가 됨으로 NOR 래치 회로와 동일하게 동작된다. 다음에는 NAND 래치를 이용한 그림 7-3(a2) 회로를 분석해보면 입력 E=0일 경우에는 S와 R 입력 값에 상관없이 NAND 래치의 입력 SiRi=11이 되고 따라서 출력 Q는 변하지 않게 된다. 만일 E=1일 경우에는 Si=S', Ri=R'가 됨으로 입력 SR=00, 01, 10에 각각에 대해 SR=00→SiRi=11→출력 Q는 불변, SR=01→SiRi=10→Q=0, SR=10→SiRi=01→Q=1과 같이 동작하고, 입력 SR=11에 대해서는 SR=11→SiRi=00이 됨으로 S와 R을 동시에 1로 하는 입력을 인가해서는 안된다.

결론적으로 그림 7-3에 나타낸 enable 제어신호를 갖는 래치 회로는 E=0일 경우 SR 입력 값에 상관없이 출력 Q는 이전 상태를 그대로 유지한다. E=1일 경우에는 SR=00일때 출력 불변, SR=01일 때 리셋 기능(Q=0), SR=10일 때 세트 기능(Q=1)을 수행하며, SR=11 입력은 허용되지 않는다.

7-3. Enable 제어신호를 갖는 SR 래치 회로      

enable 제어신호를 갖는 SR 래치 회로를 "gated SR latch" 라고도 하며, 이 경우 그림 7-3 회로에서 입력 신호 E(enable)를 G로 표기하기도 한다.

 

그림 7-3에 나타낸 SR 래치 회로는 출력 Q를 1로 세트시키거나 0으로 리셋시키기 위해 S(set)와 R(reset)이라고 하는 입력단자를 가지고 있었다. 이제 이 회로를 이용하여 그림 7-4(a)의 회로도에 나타낸 것과 같이 회로를 구성하면, 소위 말하는 D(delay) 래치 회로가 된다. 이와 같은 enable 제어신호를 갖는 D 래치 회로는 E=0일 때에는 출력 Q 값이 변하지 않으며, E=1일 때에는 입력 D 값이 출력 Q 값으로 그대로 전달된다. 다시 말하면, E=1일 때 D=0이면 Q=0이 되고, D=1이면 Q=1이 된다.

그림 7-4. Enable 제어신호를 갖는 D 래치 회로