[FPGA]

플립플롭(Flip-Flop)의 종류 : RS, JK, T, D플립플롭

Neo Park 2012. 5. 19. 14:28

 

 

플립플롭(Flip-Flop)이란?

- 출력이 0과 1인 안정된 상태를 가짐

- 두개의 출력은 반드시 보수여야 함

 

RS플립플롭

- S = 1, R = 1의 입력신호는 금지됨(∵ 두 출력이보수관계가 아님)

- 회로도

 

 

 

- 진리표

R

S

Q(t+1)

0

0

Q(t)

변화 없음

0

1

1

1

0

0

리셋

1

1

-

금지

 

여기서 S는 set(신호를 1로 셋시킨다)의 의미를 지니고 있으며 R은 reset(신호를 0으로 리셋시킨다)의 의미를 지니고 있다.

논리표에서 보면 S와 R이 모두 비활성화상태일 경우 Q(t+1)(다음상태)은 현재상태를 유지하게 되는 불변상태를 지니게 된다. R만 활성화 상태인 경우 신호는 reset되며 다음상태는 0으로 바뀌게 된다. S만 활성화 된 경우 다음상태는 1로 바뀌게 되며 둘 다 활성화 상태인 경우에는 다음 신호를 결정짓지 못하고 만약 실제 회로에서 이런 신호가 들어온다면 오류가 발생하거나 하드웨어가 망가지게 된다. (이런 단점을 보완한 것이 JK플립플롭이다.)

- 여기표

Q(t)

Q(t+1)

S

R

0

0

0

X

0

1

1

0

1

0

0

1

1

1

X

0


여기표의 의미는 현재상태(Q(t))에 대한 다음상태(Q(t+1))를 정해놓고 입력 값이 어떤 것이 들어와야 하는 지를 결정하는 표이다.
그래서 현재 상태 0에서 다음상태 0으로 가는 입력 값은 현재 상태에서 불변 혹은 reset시키면 현재 상태 0에서 다음상태 0으로 간다. 그래서 여기표에서 보면 S가 0, R이 X로 표시되어 있는데 이것은 R의 값이 어떤 것이든 S가 0이 들어오면 현재 상태 0에서 다음상태 0으로 변한다는 의미가 된다.
아래도 마찬가지로 현재 상태 0에서 다음상태 1로 된다는 것은 set밖에 없으므로 S가 1 R이 0 인 상태가 되어야한다는 말이고 아래 현재 상태 1에서 다음상태 0이 된다는 것은 reset시켜야 한다는 의미이고 1에서 1로 간다는 것은 불변, 혹은 set이기 때문에 S값에 상관없이 R만 무조건 0이라면 그 상태가 된다는 의미를 가지고 있다.

 



JK플립플롭

- RS플립플롭에 AND게이트를 추가해서 금지조건을 해제 (헌재상태의 반전 출력)

- RS플립플롭과 T플립플롭을 결합한 것이다.

- RS플립플롭에서 입력이 1,1 일 때 처리하지 못하는 것을 보완하여 입력 두개의 값이 모두 1일 때 반전하는 성질을 가지고 있다.

- 회로도

 

 

 

JK플립플롭

- 진리표

R(K)

S(J)

Q(t+1)

0

0

Q(t)

변화 없음

0

1

1

1

0

0

리셋

1

1

Q‘(t)

보수

 

- 여기표

Q(t)

Q(t+1)

J

K

0

0

0

X

0

1

1

X

1

0

X

1

1

1

X

0

 

 

 

 


T플립플롭

- T플립플롭은 토글(toggle) 플립플롭 혹은 트리거(trigger) 플립플롭이라고도 한다.

- JK플립플롭을 변형시킨 것으로 T에 1이 입력되면 보수가 출력 됨

- 회로도

 

SR플립플롭

 

 

JK플립플롭

D플립플롭

 


T

Q(t+1)

0

Q(t)

변화 없음

1

Q'(t)

보수

 

- 특성식

Q(t+1) = T (+) Q = TQ' + T'Q


D플립플롭

- RS플립플롭 또는 JK플립플롭을 변형시킨 것으로 입력신호가 그대로 출력 됨

- D 플립플롭은 RS플립플롭에 약간 변형을 가한 것으로 데이터 플립플롭이라고도 한다.

- 다음 상태는 무조건 입력 D값과 같게 만든다. 보통 데이터의 지연을 위해 사용하기에 딜레이 플립플롭이라고도 한다.

- 회로도

 

 

SR플립플롭

 

 

JK플립플롭

T

Q(t+1)

0

0

리셋

1

1

 

- 특성식

Q(t+1) = D

 

 

 

참조:http://gongmo.edu-i.org/2001/ibeom/FRAME.html