[논리회로설계] 플립플롭 (Flip-Flop)
플립플롭 (Flip-Flop)
Flip-Flop이란?
- 플립 플롭이란, 1bit를 기억할 수 있는 순서회로를 의미한다.
- 플립 플롭이 여러개 모여있는 장치가 레지스터다.
조합회로 vs 순서회로
▶ 조합회로
- 게이트로만 이루어진 논리회로
- 외부의 입력에 의해서만 출력이 발생하는 논리회로
▶ 순서회로
- Flip-Flop과 게이트를 연결한 논리회로
- 내부의 상태값에 따라 출력이 발생하는 논리회로
Flip-Flop의 기본형태
1비트를 기억하는 기본적인 방법

- 위의 회로는 loop(루프)를 도는 구조를 갖는다.
- 무한히 순환하는 구조로 인하여 NOT과 NOT 사이에 1비트가 계속 살아있게 되는 구조다.
- 즉, 1비트가 기억되는 것이다.
Flip-Flop 회로도
- 위에서 본 기본 형태를 기반으로 외부 입력에 따라 내부의 값이 변하는 회로로 확장시킨 것이 아래의 Flip-Flop 회로도다.

- 당연한 이야기지만, Q와 Q바는 무조건 서로 반대되는 값을 가진다.
- CP는 Clock Pulse를 의미한다.
- CP는 컴퓨터 내부의 장치와 회로의 동작을 일정하게 유지 및 동기화 시키기 위해서 규칙적으로 발생하는 전기신호를 의미한다.
NAND 란?

RS Flip-Flop
- R과 S 값에 따라 Q의 상태에 변화한다.
- 변화한 Q의 값에 따라 전기가 켜지고(1) 꺼지는(0) 결과가 정해진다.
- 어떤 식으로 결과가 나오는지 예시를 살펴보자.
RS Flip-Flop 이해하기
S = 0, R = 0, Q = 0인 경우

- 위의 그림처럼, R과 S값을 기반으로 NAND 연산을 통해 다음 값을 구한다.
- 현재의 Q와 Q바 값을 전달하여 최종적으로 현재 Q와 Q바의 변화된 값을 계산한다.
- 위의 예시의 경우, Q와 Q바의 값이 그대로 유지되는 것을 확인할 수 있다.
- Q와 Q바의 값이 서로 반대되어 있으므로, 유효한 값이라는 것 또한 알 수 있다.
RS Flip-Flop의 전체 경우의 수

결론
- RS 플립플롭은 전기가 꺼져있을 때는 키고, 켜져있을 때는 끄는 두가지 기능을 갖는 논리회로다.
Flip-Flop의 종류
- 각 Flip-Flop은 각자의 기능을 가지고 있다. 그러므로 필요한 상황에 맞춰 사용한다.
RS Flip-Flop


JK Flip-Flop


- RS 플립플롭에서 S=1, R=1인 경우 불능 상태가 되는 것을 해결한 논리회로다.
- J는 S(set)에, K는 R(reset)에 대응하는 입력이다.
- J와 K의 입력이 동시에 1이 입력되면 플립플롭의 출력은 이전 출력의 보수 상태로 변화하게 된다.
D Flip-Flop

- 입력 단자 R과 S에 동시에 1이 입력되는 것을 회로적으로 차단한다.
- 입력신호 D가 클럭펄스에 의해서 변화 없이 그대로 출력에 전달되는 특성을 가지고 있다.
- 데이터(Data)를 전달하는 것과 지연(Delay)을 의미하는 D 플립플롭이라고 한다.
T Flip-Flop


- JK 플립플롭의 J와 K 입력을 묶어서 하나의 입력신호 T로 동작시키는 플립플롭이다.
- 입력이 0이 되면 이전상태(Q)의 값이 그대로 출력된다.
- 입력이 1이 되면 이전상태(Q)의 보수 값이 출력된다.