플립플롭으로 이해하는 순차 논리의 상태 저장

플립플롭의 에지 트리거 방식과 SR·JK·D·T 플립플롭의 상태 전이, 타이밍 제약 및 순차 논리 회로 활용을 정리한다.

2026-08-15 · 최초 발행 2026-01-16

클럭 에지에서 상태를 붙잡는 회로

플립플롭(Flip-Flop)은 1비트 정보를 저장하는 디지털 순차 논리 회로의 기본 소자다. 0 또는 1 가운데 하나의 안정 상태를 유지하다가 입력 신호와 클럭 조건에 따라 상태를 바꾼다. 레지스터, 카운터, 메모리 셀처럼 상태를 보관해야 하는 디지털 시스템은 이 소자를 기반으로 구성된다.

래치를 바탕으로 한 플립플롭은 전원이 유지되는 동안 저장 상태를 보존하며, 일반적으로 클럭 에지에서만 상태 변화가 일어난다.

입력 신호플립플롭클럭출력 Q보수 출력 Q'

래치와 플립플롭이 입력을 받는 시점

특성 래치 (Latch) 플립플롭 (Flip-Flop)
트리거 방식 레벨 트리거 에지 트리거
상태 변화 시점 Enable 신호가 활성인 동안 클럭 에지에서만
투명성 투명 (Transparent) 불투명 (Opaque)
타이밍 문제 레이스 컨디션 발생 가능 동기화로 안정적
적용 분야 비동기 회로 동기 순차 회로

래치는 Enable이 활성인 동안 입력 변화가 반영되는 반면, 플립플롭은 상승 또는 하강 에지 같은 특정 시점에 상태를 갱신한다. 이 차이 때문에 플립플롭은 동기 순차 회로에서 상태 변화 시점을 맞추는 데 쓰인다.

플립플롭의 동작은 두 개의 안정 상태를 갖는 쌍안정성, 이전 상태를 저장하는 기억성, 클럭과 함께 움직이는 동기성, 그리고 에지에서 상태를 바꾸는 특성으로 설명할 수 있다.

입력 조합으로 달라지는 상태 전이

SR 플립플롭의 설정과 리셋

SR 플립플롭은 Set과 Reset 입력을 갖는 기본 형태다.

SR Flip-FlopS (Set)SR FFR (Reset)CLKQQ'
S R Q(next) 동작
0 0 Q 유지
0 1 0 리셋
1 0 1
1 1 X 금지

특성 방정식: Q(n+1) = S + R'Q

S와 R이 모두 1인 입력 조합은 금지 상태가 된다.

JK 플립플롭의 토글 동작

JK 플립플롭은 SR 플립플롭의 금지 상태 문제를 다루는 형태다.

JK Flip-FlopJJK FFKCLKQQ'
J K Q(next) 동작
0 0 Q 유지
0 1 0 리셋
1 0 1
1 1 Q' 토글

특성 방정식: Q(n+1) = JQ' + K'Q

J와 K가 모두 1이면 출력은 현재 상태의 보수로 전환된다.

D 플립플롭의 데이터 저장

D 플립플롭은 입력 D를 그대로 저장하는 방식이며 가장 널리 사용된다.

D Flip-FlopDD FFCLKQQ'
D Q(next) 동작
0 0 0 저장
1 1 1 저장

특성 방정식: Q(n+1) = D

T 플립플롭과 카운팅

T 플립플롭은 토글 동작을 중심으로 하며 카운터 설계에 주로 사용된다.

T Q(next) 동작
0 Q 유지
1 Q' 토글

특성 방정식: Q(n+1) = TQ' + T'Q = T XOR Q

특성 표(Characteristic Table)는 현재 입력과 현재 상태를 기준으로 다음 상태를 나타낸다. 반대로 여기 표(Excitation Table)는 현재 상태에서 목표 상태로 가기 위해 필요한 입력을 읽는다. D 플립플롭의 여기 표에서는 목표 상태가 필요한 D 입력과 같다.

Q(현재) Q(다음) D
0 0 0
0 1 1
1 0 0
1 1 1

JK 플립플롭의 여기 표에서 X는 해당 입력이 어떤 값이어도 되는 경우를 뜻한다.

Q(현재) Q(다음) J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0

타이밍 제약이 상태 저장에 미치는 영향

플립플롭은 입력을 저장할 시점이 정해져 있으므로, 안정적인 동작을 위해 타이밍 제약을 만족해야 한다.

타이밍 파라미터셋업 시간(Setup Time)홀드 시간(Hold Time)전파 지연(Propagation Delay)클럭-Q 지연(Clock-to-Q Delay)
파라미터 기호 설명 위반 시 문제
셋업 시간 tsu 클럭 에지 전 데이터 안정 필요 시간 메타스테이블
홀드 시간 th 클럭 에지 후 데이터 유지 필요 시간 메타스테이블
Clock-to-Q tcq 클럭 에지에서 출력까지 지연 타이밍 마진 감소
최대 주파수 fmax 동작 가능한 최대 클럭 주파수 오동작
출력 Q입력 D클럭출력 Q입력 D클럭tsu (셋업 시간)tcq (Clock-to-Q)th (홀드 시간)데이터 안정상승 에지출력 변화데이터 유지

셋업 시간 또는 홀드 시간을 위반하면 플립플롭은 0과 1 가운데 어느 쪽으로도 즉시 안정되지 않는 메타스테이블(Metastability) 상태에 놓일 수 있다. 이 상태는 해소 시간을 예측하기 어렵고 오동작으로 이어질 수 있다. 동기화 회로와 충분한 타이밍 마진으로 이를 다룬다.

마스터와 슬레이브로 만드는 D 플립플롭

CMOS D 플립플롭은 전송 게이트와 인버터를 조합해 구현할 수 있다.

슬레이브 래치마스터 래치DTG1INVMTG2INVQCLK

클럭 신호를 두 경로로 나누고, 한 경로를 NOT 게이트에 통과시킨 뒤 두 신호를 AND 연산하면 엣지에서만 짧은 펄스를 만들 수 있다. 이 펄스는 입력을 반영할 시점을 제한하는 데 쓰인다.

마스터-슬레이브 구조에서 마스터 래치는 CLK=0일 때 입력을 샘플링하고, 슬레이브 래치는 CLK=1일 때 출력을 전달한다. 두 래치가 동시에 투명해지지 않으므로 레이스 컨디션을 막고, 클럭 에지에서만 상태가 바뀌는 동작을 만든다.

상태를 저장하고 이동시키는 회로

여러 플립플롭을 병렬로 묶으면 다중 비트 데이터를 저장하는 레지스터가 된다.

8비트 레지스터D0D FFD1D FFD2D FF......D7D FFQ0Q1Q2...Q7CLK

T 플립플롭이나 JK 플립플롭을 연결하면 카운팅 기능을 구현할 수 있다.

카운터 유형 구조 특징
비동기 카운터 리플 캐리 간단하지만 지연 누적
동기 카운터 공통 클럭 빠른 동작, 복잡한 회로
업 카운터 증가 카운트 0, 1, 2, ...
다운 카운터 감소 카운트 N, N-1, ...
업/다운 카운터 양방향 모드 선택 가능

시프트 레지스터는 플립플롭을 직렬로 이어 데이터를 이동시킨다. SISO는 Serial In Serial Out, SIPO는 Serial In Parallel Out, PISO는 Parallel In Serial Out, PIPO는 Parallel In Parallel Out을 뜻한다.

유한 상태 기계(FSM)는 플립플롭에 현재 상태를 저장하고, 조합 논리로 다음 상태와 출력을 결정한다.

유한 상태 기계입력조합 논리현재 상태(플립플롭)다음 상태출력CLK

다른 플립플롭으로 기능을 구성하는 방법

플립플롭의 종류는 입력 조합을 바꿔 서로 변환할 수 있다.

원본 목표 변환 방법
D FF T FF T = D XOR Q
D FF JK FF J = D, K = D'
JK FF D FF D = J, K = J'
JK FF T FF J = K = T
T FF D FF D = T XOR Q

회로 목적에 따른 플립플롭 선택

응용 분야 권장 플립플롭 이유
데이터 저장 D FF 간단한 동작, 단일 입력
카운터 T FF, JK FF 토글 기능 내장
상태 머신 D FF 합성 용이, 예측 가능
클럭 분주 T FF 2분주 자연 구현
범용 설계 D FF 산업 표준, 도구 지원

플립플롭은 순차 논리 회로에서 상태를 보관하는 기본 단위다. 저장하려는 데이터, 카운팅 방식, 상태 전이 요구사항을 기준으로 SR, JK, D, T 유형을 고르고, 셋업 시간과 홀드 시간을 만족하도록 설계해야 한다.

플립플롭순차 논리디지털 회로레지스터컴퓨터구조