반응형
안녕하세요 😊
오늘 배울 내용은 플립플롭 입니다.
플립플롭은 1비트의 데이터를 저장하고 유지하는 기능을 가지며,
레지스터, 카운터, 시프트 레지스터와 같은 주요 회로의 기본이 됩니다.
그럼 바로 플립플롭에 대해 알아보겠습니다.
✅ 플립플롭(Flip-Flop)이란?
플립플롭(Flip-Flop)은 1비트의 데이터를 저장하고 유지하는 디지털 회로 소자입니다.
클럭 신호(Clock Signal)에 맞춰 0 또는 1을 기억하며,
레지스터(Register), 카운터(Counter), 시프트 레지스터(Shift Register)의 기본 단위로 사용됩니다.
💡 비유:
플립플롭은 마치 전등 스위치처럼
한 번 켜면 계속 켜져 있고, 끄면 계속 꺼져 있는 상태를 유지합니다.
🔌 플립플롭의 주요 특징
| 특징 | 설명 |
| 1비트 메모리 | 0 또는 1의 값을 저장 |
| 클럭 신호 기반 동작 | 클럭 신호에 맞춰 상태 변화 |
| 동기식 동작 | 모든 플립플롭이 같은 클럭에 동작 |
| 데이터 유지 | 전원이 꺼지기 전까지 상태를 기억 |
🔄 플립플롭의 종류
- SR 플립플롭: Set과 Reset으로 상태 변경
- D 플립플롭: 데이터 값을 클럭에 맞춰 저장
- JK 플립플롭: Set, Reset, Toggle 동작
- T 플립플롭: 입력이 1일 때마다 반전
🔄 플립플롭의 활용
1️⃣ 레지스터: 여러 비트의 데이터를 저장
2️⃣ 카운터: 신호를 세어 데이터 처리
3️⃣ 시프트 레지스터: 직렬-병렬 변환
플립플롭은 디지털 회로의 메모리와 상태 전환을 담당하며,
컴퓨터와 임베디드 시스템의 핵심 역할을 합니다.
🧱 플립플롭의 종류
| 종류 | 설명 | 활용 |
| SR 플립플롭 | Set과 Reset으로 값 설정 | 간단한 메모리 |
| D 플립플롭 | Data를 입력받아 저장 | 레지스터, 데이터 버퍼 |
| JK 플립플롭 | SR의 개선형, 토글 기능 추가 | 카운터, 레지스터 |
| T 플립플롭 | 토글(반전) 기능 | 주파수 나누기, 카운터 |
🎨 SR 플립플롭
- Set(S): 1로 설정
- Reset(R): 0으로 설정
| s | r | Q (출력) | Q' (반전 출력) |
| 0 | 0 | 유지 | 유지 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 무효 | 불안정 |
🎨 D 플립플롭
- Data (D): 입력 데이터를 클럭에 맞춰 저장
| Clock | D | Q (출력) |
| ↑ | 1 | 1 |
| ↑ | 0 | 0 |
💡 실무 팁:
D 플립플롭은 마스터-슬레이브 구조를 활용하여
클럭 신호가 상승할 때만 값이 변경됩니다.
🎨 JK 플립플롭
- J: Set 역할
- K: Reset 역할
| J | K | (출력) | 설명 |
| 0 | 0 | 유지 | 이전 값 유지 |
| 0 | 1 | 0 | Reset (0 설정) |
| 1 | 0 | 1 | Set (1 설정) |
| 1 | 1 | 반전 | 이전 값 반전 |
💡 실무 팁:
JK 플립플롭은 토글 기능이 있어 카운터에 많이 사용됩니다.
🎨 T 플립플롭
- Toggle: 값이 반전됨 (0 → 1, 1 → 0)
| T | Clock | Q (출력) |
| 0 | ↑ | 유지 |
| 1 | ↑ | 반전 |
💡 실무 팁:
주파수 나누기(Frequency Divider)에서 활용됩니다.
✔️ 플립플롭의 주요 응용
| 응용 | 설명 |
| 레지스터 (Register) | 여러 개의 플립플롭을 조합하여 데이터 저장 |
| 카운터 (Counter) | 연속적인 신호를 세는 기능 |
| 시프트 레지스터 (Shift Register) | 데이터를 순차적으로 이동 |
| RAM 셀 (Memory Cell) | 데이터 메모리의 기본 단위 |
| 상태 저장 (State Storage) | FSM에서 상태 유지 |
📐 예시: 4비트 레지스터 설계
- 4개의 D 플립플롭을 사용하여 4비트 데이터 저장
| Clock | D3 | D2 | D1 | D0 | Q3 | Q2 | Q1 | Q0 |
| ↑ | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| ↑ | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
⚡ 실무에서 플립플롭의 활용 예시
| 용도 | 설명 |
| 🖥️ CPU 레지스터 | 임시 데이터 저장, 명령어 실행 |
| 📡 통신 버퍼 | 전송 중 데이터 임시 보관 |
| 🎮 게임 컨트롤러 | 버튼 상태 유지 |
| 🚦 신호등 제어 | 현재 신호 상태 기억 |
| 🏠 스마트 홈 시스템 | 문 잠금 상태, 센서 상태 유지 |
🧠 오늘의 요약
- 플립플롭(Flip-Flop)은 1비트의 데이터를 저장하고 유지하는 디지털 회로입니다.
- SR, D, JK, T 플립플롭이 있으며, 각각의 특징에 맞게 사용됩니다.
- 레지스터, 카운터, 시프트 레지스터의 기본 단위로 동작합니다.
- CPU, 메모리, 통신 시스템 등에서 데이터 유지와 상태 전환에 필수적입니다.
📌 다음 글 예고
다음 시간에는 메모리 (Memory) 에 대해 알아보겠습니다.
읽어주셔서 감사합니다 😊
유익했다면 댓글과 공감 부탁드려요!
반응형