본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

JK 플립플롭(JK flip-flop)은 입력 J·K 두 개를 가진 플립플롭으로, 클록 에지에서 J·K 값에 따라 상태를 유지·리셋·세트하고 J = K = 1 이면 상태를 뒤집는(토글) 1비트 기억 소자이다.

SR 플립플롭은 S = R = 1 을 넣으면 출력이 정해지지 않아 쓸 수 없었다. JK 플립플롭은 출력 Q·Q' 를 입력 쪽 게이트로 되먹여, 이 경우에 상태를 반전하도록 바꾼 것이다. 유지·리셋·세트·토글 네 동작을 모두 할 수 있어 가장 범용적인 플립플롭이고, 입력을 묶어 D·T 플립플롭을 만들 수 있다. 카운터와 분주기에 많이 쓴다.

J K Q(t+1) 동작
0 0 Q(t) 유지(변화 없음)
0 1 0 리셋
1 0 1 세트
1 1 Q(t)' 토글(반전)

특성 방정식은

Q(t+1)=JQ(t)‾+K‾Q(t)

이다. 상태가 클록 에지에서만 바뀐다는 점은 다른 에지 트리거 플립플롭과 같다.

원하는 상태 변화를 일으키려면 J·K 를 무엇으로 주어야 하는지 나타낸 표다. 순차 회로를 설계할 때 쓴다(× 는 아무 값이나 된다).

Q(t) → Q(t+1) J K
0 → 0 0 ×
0 → 1 1 ×
1 → 0 × 1
1 → 1 × 0

입력에 게이트가 붙은 회로 읽기

편집 원본 편집

J·K 앞에 게이트가 있으면 먼저 J·K 의 식을 구하고, 입력이 들어올 때마다 특성표를 따라간다.

예: J = (X + Y)·Y', K = Y' 이고(X·Y 를 OR 한 결과와 Y' 를 AND 해 J 로, Y' 를 그대로 K 로) 지금 Q = 1 일 때 XY 가 11, 10 순으로 들어오면

  • XY = 11 : J = (1)·0 = 0, K = 0 → 유지, Q = 1
  • XY = 10 : J = (1)·1 = 1, K = 1 → 토글, Q = 0
  • 따라서 Q 는 1 → 1 → 0 이다

J = K = 1 로 묶어 두면 클록 에지가 올 때마다 출력이 뒤집힌다. 출력은 클록 두 번에 한 주기가 되므로 주파수가 클록의 1/2 인 구형파다. 이렇게 J·K 를 묶어 입력 하나(T)로 쓴 것이 T 플립플롭이다.

T Q(t+1)
0 Q(t)
1 Q(t)'

토글 상태의 JK 플립플롭을 여러 단 이어 앞 단 출력을 뒤 단 클록에 넣으면 단마다 주파수가 반으로 준다. 두 단이면 1/4, n 단이면 1/2n 이다. 2kHz 구형파를 두 단에 넣으면 500Hz 구형파가 나온다 → 카운터 (논리 회로)

클록이 High 인 동안 내내 입력을 받아들이는 레벨 트리거 JK 회로에서 J = K = 1 이면, 클록이 High 로 머무는 동안 출력이 되먹임되어 여러 번 뒤집힌다. 이것을 레이스(race-around) 현상이라 한다. 클록 펄스 폭을 전파 지연보다 짧게 하거나, 마스터-슬레이브 구성 또는 에지 트리거로 만들어 막는다 → D 플립플롭

다른 플립플롭으로 바꾸기

편집 원본 편집
  • D 플립플롭 : J = D, K = D' 로 넣는다
  • T 플립플롭 : J = K = T
  • SR 플립플롭 : J = S, K = R (S = R = 1 은 쓰지 않는다)