본문 바로가기
컴퓨터 & IT 기타

Latch & Filp-flop 정리

by Kallunar 2022. 5. 13.

순차회로

현재 입력 뿐만 아니라 이전 데이터까지 고려하여 출력이 결정되는 회로. (cf. 조합회로)

따라서 이전 데이터를 저장하는 기능이 있다.(저장소자)

대표적으로 'Latch' 와 'Flip-flop'이 있다.

 

1. Latch

- S-R Latch(Set - Reset Latch)

S=R=0 : 현상유지(현재 시점의 Q값 보존)
S=1, R=0 : Q를 1로 변경
S=0, R=1 : Q를 0으로 변경
S=R=1 : not allowed(don't care)

※ S=R=1이 허용되지 않는 이유
 Q와 Q'이 동시에 0이 됨 = complement 관계가 깨져 모순 발생
 이후 S=R=0으로 바꿔도 Q=Q'=1로 변하고 이후 0,1,0,1... 진동 = 값이 안정되지 않아 저장소자로서 가치 상실

 다음 상태 방정식(Next-state equation)

 입력 S, R, 현재 상태 Q , 다음 상태 Q+로 하여 SOP 논리식으로 표현
 카르너 맵(Karnaugh-map) 형식으로 나타내어 단순화
 Q+ = R'S + R'Q (다음 상태가 1이려면 R이 1이 아니고 S가 1이거나, R이 1이 아니고 Q가 1이어야 한다.)

 특성 방정식(Characteristic equation)

 허용되지 않는 경우를 고려하여 표현한 식.
 S=R=1은 허용되지 않으므로 don't care로 처리
 don't care 이므로 S=R=1일 때도 Q+를 1로 봐도 무방
 Q+ = R'S + R'Q + SR = S + R'Q (SR = 0)

- S'-R' Latch

 NOR gate 대신 NAND gate를 이용하여 구현한 Latch.
 S'=R'=1 : 현재 상태 유지
 S'=1, R'=0 : Q를 0으로 변경
 S'=0, R'=1 : Q를 1로 변경
 S'=R'=0 : not allowed(don't care)

- Gated S-R Latch

 S-R Latch에 Gate 입력 추가.
 G=0이면 현재의 Q 유지, G=1일 때 S, R값에 따라 Q값 변경
 Q+ = GS + Q(R'+G')

- Gated D Latch

 G=1 일 때 Q는 D와 동일, G=0일 때 Q 보존
 Q+ = GD + G'Q

- Latch의 한계
 입력과 출력이 바뀌는 시점을 예측할 수 없음.
 gate가 있어도 언제 문을 닫고 열어야할지 불확실.
 원하는 값을 원하는 때에 저장하기 어려움. -> 저장소자로서 가치 하락

 

2. Flip-flop

 CLK 신호를 통해 Latch의 한계 보완 : 출력이 정해진 시점(clock edge)에만 변함.
 Edge-triggered flip-flop : 입력과 출력이 모두 clock edge에서만 변함.
 Master-slave flip-flop : 입력은 clock period(구간 내)에서 변하고, 출력은 clock edge에서만 변함.

 

댓글