최근 수정 시각 : 2024-12-16 01:33:59

플립플롭


파일:나무위키+유도.png  
은(는) 여기로 연결됩니다.
아이돌 마스터 신데렐라 걸즈의 음악에 대한 내용은 Flip Flop 문서
번 문단을
부분을
, 신발에 대한 내용은 조리(신발) 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
참고하십시오.
'''[[전기전자공학과|전기·전자공학
{{{#!wiki style="font-family: Times New Roman, serif; font-style: Italic; display: inline;"
]]'''
{{{#!wiki style="margin:0 -10px -5px; min-height: 26px; word-break:keep-all"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
<colbgcolor=#009><colcolor=#fff> 학문 기반 학문
물리학 (전자기학 (회로이론 · 전자 회로 · 논리 회로) · 양자역학 · 물리화학 · 열역학 · 응집물질물리학) · 화학
연관 학문
수학 (공업수학 · 수치해석학 · 위상수학 · 미분방정식 · 대수학 (환론 · 표현론) · 선형대수학 · 이론 컴퓨터 과학 · 컴퓨터공학 (프로그래밍 언어 (HDL · VHDL · C · C++ · Java · 파이썬 · 베릴로그)) · 재료공학 · 제어 이론
공식 · 법칙 전자기 유도 · 가우스 법칙 · 비오-사바르 법칙 · 무어의 법칙 · 키르히호프의 법칙 · 맥스웰 방정식 · 로런츠 힘 · 앙페르 법칙 · 드모르간 법칙 · 페르미 준위 · 중첩의 원리
이론 · 연구 반도체 (P형 반도체 · N형 반도체) · 디스플레이 · 논리 회로 (보수기 · 가산기 · 플립플롭 · 논리 연산) · 전자 회로 · RLC 회로 · 역률 · DSP · 히스테리시스 곡선 · 휘트스톤 브리지 · 임베디드 시스템
용어 클럭 · ASIC · CPU 관련 (BGA · 마이크로아키텍처 · GPS · C-DRX · 소켓) · 전계강도계 · 축전기 · CMCI · 전송선 · 양공 · 도핑 · 이미터 · 컬렉터 · 베이스 · 시퀀스
전기 · 전자
관련 정보
제품
스마트폰 · CPU · GPU (그래픽 카드) · ROM · RAM · SSD · HDD · MPU · CCD · eMMC · USB · UFS · LCD · LED · OLED · AMOLED · IoT · 와이파이 · 스마트 홈 · 마그네트론 · 마이크 · 스피커 · 배터리
소자
집적 회로 · 다이오드 · 진공관 · 트랜지스터 (BJT · FET · JFET · MOSFET · T-FT) · CMOS · IGBT · 저항기 · 태양전지 · 연산 증폭기 · 사이리스터 · GTO · 레지스터 · 펠티어 소자 · 벅컨버터
자격증
전기 계열 기능사
전기기능사 · 철도전기신호기능사
기사
전기기사 · 전기산업기사 · 전기공사기사 · 전기공사산업기사 · 전기철도기사 · 전기철도산업기사 · 철도신호기사 · 철도신호산업기사
기능장 및 기술사
전기기능장 · 건축전기설비기술사 · 발송배전기술사 · 전기응용기술사 · 전기안전기술사 · 철도신호기술사 · 전기철도기술사
전자 계열 기능사
전자기기기능사 · 전자계산기기능사 · 전자캐드기능사
기사
전자기사 · 전자산업기사 · 전자계산기기사 · 전자계산기제어산업기사
기능장 및 기술사
전자기기기능장 · 전자응용기술사
기타 기능사
신재생에너지발전설비기능사(태양광)
기사
소방설비기사 · 신재생에너지발전설비기사(태양광) · 로봇소프트웨어개발기사 · 로봇하드웨어개발기사 · 로봇기구개발기사
}}}}}}}}}


[[컴퓨터공학|컴퓨터 과학 & 공학
Computer Science & Engineering
]]
[ 펼치기 · 접기 ]
||<tablebgcolor=#fff,#1c1d1f><tablecolor=#373a3c,#ddd><colbgcolor=#0066DC><colcolor=white> 기반 학문 ||수학(해석학 · 이산수학 · 수리논리학 · 선형대수학 · 미적분학 · 미분방정식 · 대수학(환론 · 범주론) · 정수론) · 이론 컴퓨터 과학 · 암호학 · 전자공학 · 언어학(형태론 · 통사론 · 의미론 · 화용론 · 음운론) · 인지과학 ||
하드웨어 구성 SoC · CPU · GPU(그래픽 카드 · GPGPU) · ROM · RAM · SSD · HDD · 참조: 틀:컴퓨터 부품
기술 기계어 · 어셈블리어 · C/C++ · C# · Java · Python · BIOS · 절차적 프로그래밍 · 객체 지향 프로그래밍 · 해킹 · ROT13 · 일회용 비밀번호 · 사물인터넷 · 와이파이 · GPS · 임베디드 · 인공신경망 · OpenGL · EXIF · 마이크로아키텍처 · ACPI · UEFI · NERF · gRPC · 리버스 엔지니어링 · HCI · UI · UX · 대역폭 · DBMS · NoSQL · 해시(SHA · 브루트 포스 · 레인보우 테이블 · salt · 암호화폐) · RSA 암호화 · 하드웨어 가속
연구

기타
논리 회로(보수기 · 가산기 · 논리 연산 · 불 대수 · 플립플롭) · 정보이론 · 임베디드 시스템 · 운영 체제 · 데이터베이스 · 프로그래밍 언어{컴파일러(어셈블러 · JIT) · 인터프리터 · 유형 이론 · 파싱 · 링커 · 난해한 프로그래밍 언어} · 메타데이터 · 기계학습 · 빅데이터 · 폰노이만 구조 · 양자컴퓨터 · 행위자 모델 · 인코딩(유니코드 · MBCS) · 네트워크 · 컴퓨터 보안 · OCR · 슈퍼컴퓨터 · 튜링 머신 · FPGA · 딥러닝 · 컴퓨터 구조론 · 컴퓨터 비전 · 컴퓨터 그래픽스 · 인공지능 · 시간 복잡도(최적화) · 소프트웨어 개발 방법론 · 디자인 패턴 · 정보처리이론 · 재귀 이론 · 자연어 처리(기계 번역 · 음성인식) · 버전 (버전 관리 시스템 · Git · GitHub)


1. 개요2. 종류
2.1. SR 플립플롭2.2. D 플립플롭2.3. JK 플립플롭2.4. T 플립플롭
3. 활용4. 래치와의 차이점

1. 개요

플립플롭은 논리 게이트와 피드백 루프를 이용한 기억 장치로, 1 비트의 정보를 보관 및 유지할 수 있다. 전원이 지속적으로 공급되어야만 정보를 유지할 수 있는 휘발성 메모리이다.

래치(latch)와 달리 입력 신호의 에지(edge, 0→1 또는 1→0로 변화하는 순간)에서만 출력이 변화하기 때문에 에지 트리거(edge triggered) 방식 순차 회로라고도 불린다.

2. 종류

플립플롭은 구현 방식에 따라 SR, D, JK, T 타입으로 종류가 나뉜다.

외부의 에너지 공급 없이 상태를 유지하는 static(정적) 타입인지 상태를 유지하기 위해 주기적인 외부 에너지 공급[1]이 필요한 dynamic(동적)인지에 따라서 분류할 수 있다. 앞서 언급한 SR, D, JK, T 플립플롭이 static 플립플롭으로, C2MOS\mathrm{C^{2}MOS} 플립플롭, TSPC(True Single Phase Clocking) D 플립플롭 등이 dynamic 플립플롭으로 분류된다.

2.1. SR 플립플롭

논리식: [math(Q+)][2][math( = S + R'Q)]

입력 변수로는 [math(S)]와 [math(R)] 두 가지가 있으며, 각각을 Set, Reset이라고도 부른다. 클럭의 에지[3]에서 [math(S)]에 신호 1이 올 경우 다음 상태(next state, [math(Q+)])를 1로 세트하고, [math(R)]에 신호 1이 오면 0으로 리셋한다. [math(S = R = 0)]일 경우 현재 상태(present state, [math(Q)])를 그대로 다음 상태([math(Q+)])에도 유지하지만 [math(S)]와 [math(R)] 둘 다 1일 경우는 설계 시 고려하지 않으므로 정의되지 않는다.[4] 이것이 SR 플립플롭의 한계점이며, 입력 [math(S = R = 1)]에 대한 출력을 정의하기 위해 만들어진 것이 바로 아래에 있는 JK 플립플롭이다. SR 플립플롭과 RS 플립플롭은 이론적으로 동일하지만, [math(S=R=1)]인 경우의 [math(S)] 입력과 [math(R)] 입력 사이의 우선순위 차이로 둘을 구분하기도 한다.
[math(S)] [math(R)] [math(Q+)]
0 0 Q
0 1 0
1 0 1
1 1 X[5]

파일:external/upload.wikimedia.org/220px-SRAM_Cell_Inverter_Loop.png
SR 플립플롭은 SRAM의 기본이 되는 회로이다. 위의 그림은 SRAM 셀의 구조를 나타낸 것이며 최소 트랜지스터 4개를 사용해 구현 가능하다. 중간에 있는 NOT 게이트 두개로 피드백 루프를 돌려서 정보를 저장하며, 양쪽에 있는 트랜지스터 두개는 pass transistor logic으로 동작한다. 여기서 BL에 S를 넣어주고 BL bar에 R을 넣어준 후 WL에 클럭을 넣어주면 SR 플립플롭으로 동작한다는 점에서 SRAM 셀과 SR 플립플롭의 관계를 알 수 있다.

2.2. D 플립플롭

논리식: [math(Q+ = D)]

SR 플립플롭의 특수한 형태로, 가장 간단한 플립플롭이다. 입력 변수는 [math(D)] 하나이다. 클럭의 에지에서 [math(D)]에 0이 오면 다음 상태([math(Q+)])도 0, 1이면 1이 되는 논리적으로 아주 간단한 회로이다. 즉 입력값과 같은 상태를 가진다.
파일:external/www.learnabout-electronics.org/CMOS-pos-D-Type-MS.gif
마스터 슬레이브 D 플립플롭 회로의 예시. NOT 게이트를 사용해 루프를 돌려서 마스터와 슬레이브를 각각 만들어 준 후 신호가 통과하는 것을 클럭에 따라 적절히 막기 위해서 트랜스미션 게이트(Transmission gate)를 중간 중간에 배치한 구조다.

2.3. JK 플립플롭

논리식: [math(Q+ = JQ' + K'Q)]

입력 변수가 [math(J)]와 [math(K)] 두 가지인 플립 플롭으로,[6] SR 플립플롭의 확장된 버전이다. 기존의 SR 플립플롭에서 정의되지 않아 무관항으로 취급되던 11 입력에 토글(toggle) 기능을 추가한 것이다. 네 종류의 플립 플롭 중에서 구조적으로 가장 복잡하지만 나머지 세 종류의 플립플롭의 기능을 모두 구현할 수 있으므로 가장 범용적이다. 나머지 00, 01, 10 입력은 SR 플립플롭과 동일하다.(입력 [math(J)]는 기존의 [math(S)] 역할을, [math(K)]는 기존의 [math(R)] 역할을 한다.)[7] 그러나 교과서에서나 배우지 지금은 실제 집적 회로에서 거의 사용되지 않는 플립플롭이다.
[math(J)] [math(K)] [math(Q+)]
0 0 Q
0 1 0
1 0 1
1 1 Q'

2.4. T 플립플롭

논리식: [math(Q+ = T \oplus Q = T'Q + TQ')]

JK 플립플롭의 특수한 형태[math((J = K)]인 경우)이다. 입력 변수로 [math(T)] 하나만을 가지며, toggle이라고도 읽는다. ( On ↔ Off ) 버튼처럼, 클럭의 에지에서 [math(T = 0)]이면 현재 상태([math(Q)])의 값을 유지하고, [math(T = 1)]이 되면 다음 상태([math(Q+)])의 값이 현재 상태([math(Q)])의 값의 정반대가 된다. JK 플립플롭을 변형시켜 토글 기능만 사용하도록 [8] 만들어서 구현하거나, D 플립플롭을 변형시켜 구현할 수 있다. [9]

마인크래프트에서도 만들 수 있다.

3. 활용

플립플롭은 모든 순차 회로에서 활용된다.

8 bit와 같이 다중 비트의 데이터를 저장하기 위하여 여러 개의 플립플롭으로 구성된 회로를 레지스터라고 부른다.

SR 플립플롭을 사용하는 RAMSRAM이라고 하며 커패시터를 사용하는 DRAM보다 훨씬 빠른 접근 속도를 보여준다. 그러나 DRAM 대비 회로가 복잡한데다 많은 면적을 차지하게 되어 가격이 비싸고 용량이 적다는 단점이 있다. 그래서 주로 캐시 메모리로 활용하고 있다.

게임 마인크래프트에서도 레드스톤 회로로 계산기를 만들 때 거의 필수 요소로 활용된다.

4. 래치와의 차이점

기본적으로 래치나 플립 플롭은 종류가 똑같으며 작동 방식도 유사하지만 클럭의 이용에 있어 차이를 보인다.

래치는 클럭이 아예 없거나 클럭의 레벨을 감지[10]해서 동작하고, 플립플롭은 클럭의 에지에서 트리거되어 동작한다.[11]


[1] 예를 들어서 재충전(refresh)작업[2] [math(Q(t+1))]이라고도 함. 다음 상태(next state)를 뜻한다.[3] [math(0 \to 1)] 로 변하는 순간의 '상승 에지 트리거'(rising edge/positive going edge)와 [math(1 \to 0)]로 변하는 순간의 '하강 에지 트리거'(falling edge/negative going edge)가 있다.[4] SR 래치에 클럭 펄스(CP)와 (N)AND 게이트를 첨가한 형태이다.[5] undefined[6] 각각 Jack, King을 뜻한다.[7] 백문이 불여일견 [8] 입력 [math(J)]와 [math(K)]를 입력 [math(T)]로 통합하는 형태[9] 출력 [math(Q)]를 피드백하여 XOR 게이트를 입력 [math(T)]와 함께 통과시켜 다시 입력 [math(D)]에 넣는 형태.[10] 이를 level-sensitive라고 한다.[11] 이를 edge-sensitive라고 한다.

분류