JK 플립플롭은 데이터 저장, 카운터 및 순차 논리 설계에 널리 사용되는 디지털 전자 장치의 기본 구성 요소입니다. 유효하지 않은 상태를 제거하고 Set, Reset, Hold 및 Toggle과 같은 유연한 제어 기능을 제공하여 SR 플립플롭의 한계를 극복합니다. 이 기사에서는 작동 원리, 내부 구조, 진리표, 유형, 응용 프로그램 및 실제 사용법에 대해 설명합니다.
씨1. JK Flip-Flop 정보
씨2. JK 플립플롭 진리표 및 상태 표
씨3. JK 플립플롭의 블록 선도

JK 플립플롭 개요
JK 플립플롭은 두 개의 안정 상태를 사용하여 1비트의 데이터를 저장하는 쌍안정 순차 논리 회로입니다. 2개의 입력(설정의 경우 J, 재설정의 경우 K), 2개의 출력(Q 및 Q') 및 클럭 입력(CLK)이 있습니다. 선택적 사전 설정(PR) 및 클리어(CLR) 입력을 통해 비동기 제어가 가능합니다.
JK 플립플롭은 두 가지 작동 모드를 지원합니다.
• 동기 모드 – 클럭 입력에서만 출력이 변경됩니다.
• 비동기 모드 – 사전 설정 및 지우기는 클럭을 재정의하고 출력을 즉시 강제로 변경합니다.
SR 플립플롭과 달리 JK 플립플롭은 잘못된 상태를 방지합니다. J = K = 1일 때 토글 작업을 수행하고 내부 피드백으로 인해 모든 클럭 펄스에서 출력이 전환됩니다.
JK 플립플롭 진리표 및 상태 표
진리표(비동기 입력 포함)
이 표는 출력이 클럭 입력 및 비동기 프리셋/클리어 조건에 어떻게 응답하는지 보여줍니다.
| 홍보 | CLR | CLK | J | 케이 | 큐(n+1) | 운영 |
|---|---|---|---|---|---|---|
| 0 | 1 | 엑스 | 엑스 | 엑스 | 1 | 비동기 세트 |
| 1 | 0 | 엑스 | 엑스 | 엑스 | 0 | 비동기 재설정 |
| 1 | 1 | 0 | 엑스 | 엑스 | 큐엔 | 변경 없음 |
| 1 | 1 | ↑ | 0 | 0 | 큐엔 | 보류 |
| 1 | 1 | ↑ | 1 | 0 | 1 | 세트 |
| 1 | 1 | ↑ | 0 | 1 | 0 | 재설정 |
| 1 | 1 | ↑ | 1 | 1 | 큐엔 | 토글 |
상태 테이블(특성 및 여기 테이블)
진리표는 설계 및 분석에 사용되는 두 가지 중요한 상태 표로 단순화할 수 있습니다.
특성 테이블
입력 및 현재 상태를 기반으로 다음 상태 출력을 정의합니다.
| J | 케이 | 큐(n) | 큐(n+1) |
|---|---|---|---|
| 0 | 0 | 큐엔 | Qn(보류) |
| 1 | 0 | 큐엔 | 1 (세트) |
| 0 | 1 | 큐엔 | 0 (재설정) |
| 1 | 1 | 큐엔 | Q̅n(토글) |
특성 방정식:
Q(n+1) = J· Q̅n + K̅· 큐엔
여기 테이블
특정 전환을 달성하는 데 필요한 입력(J, K)을 정의합니다.
| 큐(n) | 큐(n+1) | J | 케이 |
|---|---|---|---|
| 0 | 0 | 0 | 엑스 |
| 0 | 1 | 1 | 엑스 |
| 1 | 0 | 엑스 | 1 |
| 1 | 1 | 엑스 | 0 |
(X = 신경 쓰지 마세요)
JK 플립플롭의 블록 다이어그램

JK 플립플롭의 블록 다이어그램은 주요 입력과 내부 피드백이 어떻게 상호 작용하여 출력을 제어하는지 보여줍니다. J 및 K 입력은 설정 및 재설정 동작을 결정하여 출력이 입력 로직에 따라 상태를 저장하거나 변경할 수 있도록 합니다. 클럭(CLK) 신호는 이러한 작업을 동기화하여 특정 클럭 전환에서만 변경이 발생하도록 하여 디지털 회로에서 예측 가능한 타이밍을 보장합니다.
이러한 기본 입력 외에도 JK 플립플롭에는 사전 설정(PR) 및 클리어(CLR)와 같은 비동기 제어 입력도 포함될 수 있습니다. 이러한 입력은 클럭 상태에 관계없이 출력을 즉시 논리 1 또는 논리 0으로 강제할 수 있으므로 회로를 초기화하는 데 유용합니다. JK 플립플롭의 특징은 전류 출력 Q가 논리 네트워크로 피드백되는 내부 피드백 경로입니다. 이 피드백은 J와 K가 모두 1로 설정될 때 토글 동작을 활성화하여 출력이 각 클럭 펄스에서 상태를 번갈아 가며 사용할 수 있도록 합니다.
JK 플립플롭 로직 기호 및 핀 다이어그램

논리 기호
논리 기호는 다음을 강조 표시합니다.
• 2개의 입력: J(설정) 및 K(재설정)
• 에지 트리거 마커가 있는 클럭 입력 1개(삼각형 기호, 액티브 로우인 경우 종종 버블 포함)
• 선택적 비동기 입력: PR(사전 설정) 및 CLR(지우기)
• 두 가지 출력: Q 및 Q'(보완)
핀 다이어그램(예: 74LS76 JK 플립플롭 IC)

핀 다이어그램은 JK 플립플롭이 DIP-14와 같은 IC 패키지에서 구현되는 방법을 보여줍니다.
| 핀 번호 | 핀 이름 | 설명 |
|---|---|---|
| 1 | CLR₁ | Flip-Flop 1용 비동기 클리어(Active LOW) |
| 2 | K₁ | 플립플롭 1의 입력 K |
| 3 | J₁ | 플립플롭 1의 입력 J |
| 4 | CLK₁ | 플립플롭 1을 위한 클럭 입력 |
| 5 | 홍보₁ | Flip-Flop 1용 비동기 프리셋(Active LOW) |
| 6 | 큐₁ | Flip-Flop 1의 출력 Q |
| 7 | 접지 | 접지 |
| 8 | 분기 | Flip-Flop 2의 출력 Q |
| 9 | PR₂ | Flip-Flop 2용 비동기 프리셋(Active LOW) |
| 10 | CLK₂ | 플립플롭 2용 클럭 입력 |
| 11 | 제이(J₂) | Flip-Flop 2의 입력 J |
| 12 | K₂ | 플립플롭 2의 입력 K |
| 13 | CLR₂ | Flip-Flop 2용 비동기 클리어(Active LOW) |
| 14 | VCC | 포지티브 공급 전압 |
마스터-슬레이브 JK 플립플롭

JK 플립플롭의 일반적인 문제는 두 입력이 모두 HIGH(J = K = 1)이고 클럭 펄스가 출력이 한 사이클 내에서 반복적으로 전환될 수 있을 만큼 충분히 오랫동안 HIGH로 유지될 때 발생하는 레이스 어라운드 조건입니다. 이는 불안정한 행동으로 이어집니다.
마스터-슬레이브 구성은 클럭 펄스당 단 하나의 출력 변경을 보장하고 J = K = 1인 경우에도 원치 않는 발진을 방지합니다. 이 방법은 작업을 두 단계로 나누어 레이스 어라운드 문제를 제어합니다: 마스터는 CLK = HIGH일 때 응답하고 슬레이브는 CLK = LOW일 때 업데이트됩니다.
경합을 방지하는 고급 클럭 제어 방법은 섹션 9(트리거 메서드)를 참조하세요.
JK 플립플롭 트리거링 방법
레벨 트리거 클럭을 사용하는 직접 JK 플립플롭은 출력이 단일 클럭 펄스 내에서 반복적으로 전환될 수 있을 만큼 클럭이 HIGH로 유지되는 동안 J = K = 1일 때 발생하는 레이스 어라운드라는 문제가 발생할 수 있습니다. 이로 인해 작동이 불안정해집니다.
이 문제를 해결하기 위해 두 가지 트리거 전략이 사용됩니다.
| 트리거 유형 | 설명 | 레이스 어라운드 예방 | 사용법 |
|---|---|---|---|
| 마스터-슬레이브 JK | 두 개의 걸쇠가 계단식으로 연결되었습니다. HIGH 클럭에서 마스터 활성화, LOW에서 슬레이브 | 주기당 한 번으로 토글 제한 | 교육용 회로, 적당한 속도 |
| 에지 트리거 JK | ↑ 또는 ↓ 클럭 에지에서만 입력을 캡처합니다. 레이스 어라운드를 완전히 제거 | 최신 동기식 시스템 |
클럭 에지 동작 테이블
| 클럭 에지 | J | 케이 | 큐(n+1) |
|---|---|---|---|
| 가장자리 없음 | 엑스 | 엑스 | Qn(보류) |
| ↑ 또는 ↓ | 0 | 0 | 큐엔 |
| ↑ 또는 ↓ | 1 | 0 | 1 (세트) |
| ↑ 또는 ↓ | 0 | 1 | 0 (재설정) |
| ↑ 또는 ↓ | 1 | 1 | Q̅n(토글) |
에지 트리거 JK 플립플롭은 깔끔한 전환과 동기식 클럭 아키텍처와의 호환성을 보장하기 때문에 실용적인 디지털 설계를 지배합니다.
JK 플립플롭 타이밍 다이어그램

타이밍 다이어그램은 시간이 지남에 따라 클럭(CLK) 및 입력 신호(J 및 K)의 변화에 따라 JK 플립플롭의 출력이 어떻게 변하는지 보여줍니다. 동기식 회로에서 플립플롭의 동작을 이해하는 데 유용한 도구입니다.
각 활성 클럭 에지(일반적으로 상승 에지, ↑) 동안 플립플롭은 입력을 샘플링하고 다음 규칙에 따라 출력 Q를 업데이트합니다.
• J = 0, K = 0 → 보류 상태(출력은 변경되지 않음)
• J = 1, K = 0 → 집합(Q는 1이 됨)
• J = 0, K = 1 → 재설정(Q가 0이 됨)
• J = 1, K = 1 → 토글(Q는 반대 값으로 전환됨)
일반적인 JK 플립플롭 타이밍 다이어그램에는 다음이 포함됩니다.
• 클럭 파형(CLK) – 출력 업데이트가 발생하는 시기를 정의합니다.
• 입력 신호(J 및 K) – 시간 경과에 따른 입력 상태 표시
• 출력 신호(Q 및 Q') – 입력 및 클럭을 기반으로 상태 전환을 명확하게 표시합니다.
이 다이어그램은 상태 변경 순서를 시각화하는 데 도움이 되므로 타이밍 문제를 더 쉽게 분석하고, 동기 동작을 확인하고, 디지털 설계에서 설정 및 유지 시간 요구 사항을 이해할 수 있습니다.
NAND 게이트를 사용하는 JK 플립플롭

JK 플립플롭은 기본 NAND 게이트를 사용하여 구성할 수 있으며, 이는 장치가 게이트 수준에서 내부적으로 어떻게 작동하는지 보여줍니다. 이 구현은 피드백과 클럭 제어가 안정적인 순차 회로를 생성하기 위해 작동하는 방식을 보여주기 때문에 디지털 논리 교육에서 일반적으로 사용됩니다.
내부 로직은 다음을 사용하여 구축됩니다.
• 기본 쌍안정 래치를 형성하는 두 개의 교차 결합 NAND 게이트.
• 이전 출력 피드백과 함께 J 및 K 입력을 처리하는 두 개의 추가 NAND 게이트.
• 클럭 신호가 활성 상태일 때만 상태 변경을 가능하게 하는 클럭 제어 NAND 게이트로 동기식 작동을 보장합니다.
기능적 행동
• 피드백 로직은 잘못된 상태를 방지합니다 – SR 래치와 달리 JK 구성은 모든 입력 조합을 안전하게 처리합니다.
• J = K = 1에 대한 토글 동작 – 내부 피드백은 각 활성 클럭 펄스의 출력 상태를 번갈아 가며 사용합니다.
• 동기 작동 – 클럭 입력은 정의된 시간에만 출력이 변경되도록 하여 다른 순차 논리 회로와 통합할 수 있습니다.
이 게이트 수준 구조는 JK 플립플롭이 보편적이고 신뢰할 수 있는 것으로 간주되는 이유를 설명하는 데 도움이 됩니다. 그러나 상대적으로 복잡한 구조와 전파 지연으로 인해 실제 디지털 시스템은 일반적으로 개별 게이트에서 구축하는 대신 에지 트리거 JK 플립플롭 또는 통합 IC 버전을 사용합니다.
게이트 레벨 JK 플립플롭은 내부 로직을 설명하지만 실제 디지털 시스템은 레이스 어라운드와 같은 타이밍 문제도 해결해야 합니다. 이는 다음에 논의되는 향상된 트리거링 기술로 이어집니다.
인기 있는 JK 플립플롭 IC
JK 플립플롭은 TTL(트랜지스터-트랜지스터 로직) 및 CMOS 제품군 모두에서 집적 회로(IC)로 사용할 수 있습니다. 이러한 IC는 일반적으로 카운터, 주파수 분배기, 시프트 레지스터 및 메모리 제어 회로에 사용됩니다.
| IC 번호 | 로직 제품군 | 설명 |
|---|---|---|
| 74LS73 | TTL | 비동기식 클리어가 있는 듀얼 JK 플립플롭; 기본 순차 논리 응용 프로그램에 사용 |
| 74LS76 | TTL | 비동기 사전 설정 및 클리어가 있는 듀얼 JK 플립플롭; 초기 상태의 외부 제어 허용 |
| 74LS107 | TTL | 액티브 로우 클리어 및 토글 기능이 있는 듀얼 JK 플립플롭; 2로 나누기 카운터에 적합 |
| CD4027B | CMOS | 설정 및 재설정이 있는 듀얼 JK 플립플롭; 낮은 전력 소비 및 넓은 전압 범위 제공 |
JK 슬리퍼의 응용
JK 플립플롭은 메모리 요소, 토글 장치 및 동기 카운터로 작동할 수 있기 때문에 널리 사용됩니다. 일반적인 응용 분야는 다음과 같습니다.
• 주파수 분할 및 카운터 – 토글 모드에서 클럭 주파수를 2로 나눕니다.
• 시프트 레지스터 – 직렬-병렬 데이터 변환에 사용됩니다.
• 상태 머신(FSM) – 디지털 시스템의 제어 시퀀스 로직
• 신호 컨디셔닝 – 디바운싱 기계식 스위치
• 클럭 펄스 쉐이핑 – 구형파 신호 생성
JK 플립플롭과 SR, D, T 플립플롭 비교

| 특징 | JK 플립플롭 | SR 플립플롭 | D 플립플롭 | T 플립플롭 |
|---|---|---|---|---|
| 입력 | J, 케이 | S, R | 디 | 티 |
| 잘못된 상태 | 없음 | S=R=1 유효하지 않음 | 없음 | 없음 |
| 작동 모드 | 설정, 재설정, 토글 | 설정, 재설정 | 데이터 전송 | 토글만 |
| 사용 사례 | 카운터, 레지스터 | 단순 래치 | 메모리, 시프트 레지스터 | 카운터 |
| 복잡성 | 보통 | 단순 | 단순 | 매우 간단 |
| Edge 트리거링 지원 | 예 | 예 | 예 | 예 |
JK 슬리퍼는 모든 슬리퍼 중에서 가장 유연합니다. SR, D 및 T 플립플롭의 기능을 시뮬레이션할 수 있으며 카운터 및 디지털 제어 회로에 널리 사용됩니다.
문제 해결 및 일반적인 설계 실수
| 일반적인 문제 | 설명 | 솔루션 |
|---|---|---|
| 클럭 동기화 오류 | 동기화되지 않은 클럭을 사용하는 여러 플립플롭으로 인해 타이밍 불일치가 발생합니다 | 단일 글로벌 클럭 소스 사용** |
| 입력 노이즈 또는 스위치 바운스 | 시끄러운 입력 또는 기계식 스위치로 인해 잘못된 트리거링이 발생합니다. 디바운싱 회로 또는 RC 필터 추가 | |
| 플로팅 프리셋/클리어(PR/CLR) 핀 | 연결되지 않은 비동기 입력으로 인해 예측할 수 없는 출력이 발생합니다. | 사용하지 않는 PR/CLR을 정의된 논리 수준에 연결 |
| 설정 및 보류 시간 위반 | J/K를 클럭 전이에 너무 가깝게 변경하면 준안정성이 발생합니다 | 클럭 에지 전후에 입력 안정성 유지 |
결론
JK 플립플롭은 상태를 전환하고 동기식 및 비동기식 작업을 처리하는 기능으로 인해 현대 디지털 시스템에서 다재다능하고 안정적인 장치로 남아 있습니다. 논리 게이트를 사용하든 집적 회로를 사용하여 구현하든 카운터, 레지스터 및 제어 회로에 사용됩니다. 동작과 타이밍을 이해하면 안정적이고 효율적인 순차 논리 애플리케이션을 설계하는 데 도움이 됩니다.
자주 묻는 질문 [FAQ]
JK 플립플롭을 "범용 플립플롭"이라고 부르는 이유는 무엇입니까?
JK 플립플롭은 J 및 K 입력을 구성하기만 하면 SR, D 및 T 플립플롭의 기능을 수행할 수 있기 때문에 범용 플립플롭이라고 합니다. 이를 통해 다양한 순차 논리 응용 프로그램에 적용할 수 있습니다.
레벨 트리거 JK 플립플롭과 에지 트리거 JK 플립플롭의 주요 차이점은 무엇입니까?
레벨 트리거 JK 플립플롭은 클록 펄스의 전체 HIGH 또는 LOW 레벨에 응답하는 반면, 에지 트리거 JK 플립플롭은 상승 또는 하강 에지에서만 출력을 업데이트하여 레이스 어라운드 문제를 방지합니다.
JK 플립플롭을 D 플립플롭으로 어떻게 변환합니까?
JK 플립플롭은 J = D와 K = D'를 연결하여 D 플립플롭처럼 작동할 수 있습니다. 이렇게 하면 출력이 입력을 따르도록 강제되어 D 플립플롭의 데이터 전송 동작을 모방합니다.
JK 슬리퍼의 준안정성의 원인은 무엇입니까?
준안정성은 J 및 K 입력이 클럭 전환에 너무 가깝게 변경되어 설정 또는 홀드 시간을 위반할 때 발생합니다. 이로 인해 예측할 수 없거나 진동하는 출력 상태가 발생할 수 있습니다.
JK 플립플롭을 주파수 분할에 사용할 수 있습니까?
예. 입력 J와 K가 모두 HIGH(J = K = 1)로 연결되면 JK 플립플롭은 모든 클럭 펄스에서 출력을 전환합니다. 이것은 클럭 주파수를 2로 나누어 디지털 카운터 및 주파수 분배기에 유용합니다.