래치
더 많은 작업
래치(latch)는 두 개의 NOR 또는 NAND 게이트의 출력을 서로의 입력으로 되먹여 0 과 1 두 안정 상태 가운데 하나를 기억하고, 입력(또는 인에이블)이 걸려 있는 동안 그 입력에 따라 상태를 바꾸는 1비트 기억 회로이다.
래치는 가장 기본적인 순차 논리 회로로, 플립플롭의 재료다. 클록의 에지에만 반응하는 플립플롭과 달리 래치는 입력이나 인에이블이 걸려 있는 동안 내내 반응한다(레벨 감응). 출력은 보통 Q 와 그 반대인 Q' 두 개다.
NOR 게이트 두 개의 출력을 서로의 한 입력에 교차로 되먹이고, 남은 입력을 S(set)·R(reset)으로 쓴다. Q 를 내는 NOR 에 R 을, Q' 를 내는 NOR 에 S 를 넣는다.
| S | R | Q(다음) | 동작 |
|---|---|---|---|
| 0 | 0 | Q(유지) | 기억 |
| 1 | 0 | 1 | 세트 |
| 0 | 1 | 0 | 리셋 |
| 1 | 1 | (금지) | Q = Q' = 0 이 되고, 둘 다 0 으로 돌아가면 상태를 알 수 없다 |
- NOR 는 입력 중 하나라도 1 이면 출력이 0 이다. S = 1 이면 Q' 를 내는 NOR 의 출력이 0 이 되고, 그 0 이 Q 쪽 NOR 로 되먹여져(R = 0) Q = 1 이 된다
- 입력이 모두 0 이면 두 NOR 는 서로의 출력만 보고 있어 직전 상태를 그대로 유지한다
NAND 두 개를 교차 결합하면 입력이 0 일 때 동작한다(액티브 로우). S' = 0 이면 세트, R' = 0 이면 리셋, 둘 다 1 이면 유지, 둘 다 0 이 금지다.
SR 래치 앞에 AND 게이트 두 개를 두고 인에이블(EN, 클록) 신호를 함께 넣으면, EN = 1 인 동안만 S·R 이 래치에 전달되고 EN = 0 이면 입력과 관계없이 상태를 유지한다(게이트 SR 래치).
여기서 S 자리에 D, R 자리에 D 의 반전(D')을 넣으면 S 와 R 이 동시에 1 이 될 수 없어 금지 입력이 사라진다. 이것이 D 래치다. EN = 1 이면 Q = D(투명), EN = 0 이면 유지다. 두 개를 마스터-슬레이브로 이으면 D 플립플롭이 된다.
입력 X 가 인버터를 거쳐 위쪽 AND 로, X 가 그대로 아래쪽 AND 로 들어가고, 두 AND 의 다른 입력에 A 가 함께 들어간다. 위쪽 AND 출력은 출력 Y 를 내는 NOR 로, 아래쪽 AND 출력은 출력 Z 를 내는 NOR 로 들어가며, 두 NOR 의 출력은 서로 교차로 되먹여진다. A 는 t1 동안 1, t2 동안 0 이다.
- 이 회로는 EN = A, D = X, Q = Y, Q' = Z 인 D 래치다. Y = (A·X' + Z)', Z = (A·X + Y)'
- X = 1, t1(A = 1) : 아래쪽 AND = 1 이라 Z = 0, 위쪽 AND = 0 이고 Z = 0 이라 Y = 1. t2(A = 0) : 두 AND 가 모두 0 이라 직전 상태 Y = 1, Z = 0 을 유지한다
- X = 0, t1 : 위쪽 AND = 1 이라 Y = 0, Z = 1. t2 에도 그대로 Y = 0, Z = 1
- A 가 0 으로 내려가도 출력이 뒤집히지 않는다. t2 에 Y·Z 가 바뀐다고 본 풀이는 래치의 기억(유지) 동작을 놓친 것이다