자격증 정복/임베디드기사(기능사)

임베디드기능사 필기 06 — 논리회로 (조합논리회로·순서논리회로·플립플롭)

올드 IT직장인 2026. 9. 17. 04:00

임베디드기능사 필기 06 — 논리회로 (조합논리회로·순서논리회로·플립플롭)

출제기준 대단원 5: 논리회로
플립플롭 진리표와 카운터 계산은 반복 출제 항목이에요.


기본 게이트 ⭐⭐

게이트 기호 동작
AND A·B 둘 다 1일 때만 1
OR A+B 하나라도 1이면 1
NOT A' 반전
NAND (A·B)' AND 후 반전
NOR (A+B)' OR 후 반전
XOR A⊕B 다를 때 1
XNOR (A⊕B)' 같을 때 1

 

NAND·NOR의 만능성 ⭐

NAND 게이트만으로 AND·OR·NOT 모두 구현 가능
NOR 게이트만으로 AND·OR·NOT 모두 구현 가능
→ 만능 게이트(Universal Gate)

조합논리회로 ⭐⭐

현재 입력에만 의존하는 회로 (기억 요소 없음)

 

반가산기 (Half Adder)

1비트 + 1비트 덧셈

합(Sum):   S = A⊕B (XOR)
올림(Carry): C = A·B (AND)

전가산기 (Full Adder)

올림수까지 포함한 덧셈
이전 자리의 올림을 받아 처리

인코더/디코더

인코더(Encoder): 여러 입력 → 적은 비트 코드
디코더(Decoder): 코드 → 여러 출력 (BCD→7세그먼트)

BCD to 7-Segment Decoder
→ 숫자를 7개 세그먼트로 표시하는 디코더
→ 임베디드에서 자주 사용

멀티플렉서 / 디멀티플렉서

MUX (Multiplexer)
  → 여러 입력 중 하나를 선택해서 출력
  → 데이터 선택기

DEMUX (Demultiplexer)
  → 하나의 입력을 여러 출력 중 하나로 전달

순서논리회로 ⭐⭐⭐

이전 상태(기억)와 현재 입력에 의해 출력이 결정되는 회로

 

플립플롭 종류 ⭐⭐⭐

 

RS 플립플롭:

S=0, R=0: 변화 없음 (유지)
S=0, R=1: 0 (리셋)
S=1, R=0: 1 (셋)
S=1, R=1: 불능 (금지!) ⭐

 

D 플립플롭:

D=0: Q=0
D=1: Q=1
→ 클록 엣지에서 D값이 그대로 저장
→ 데이터 래치에 활용

 

JK 플립플롭: ⭐⭐⭐

J=0, K=0: 변화 없음 (유지)
J=0, K=1: 0 (리셋)
J=1, K=0: 1 (셋)
J=1, K=1: 토글(Toggle) ← 핵심!

→ RS의 불능 상태를 토글로 해결
→ 가장 많이 사용되는 플립플롭

 

T 플립플롭:

T=0: 변화 없음
T=1: 토글(Toggle)
→ 카운터에 활용

기출 문제

Q. JK 플립플롭에서 J=K=1일 때 동작은?

A. 토글(Toggle) — 현재 출력값의 보수(Q')가 출력

 

Q. RS 플립플롭에서 S=R=1일 때는?

A. 불능(금지) — 사용하면 안 되는 입력 조합


카운터 ⭐⭐⭐

비동기 카운터

플립플롭의 출력이 다음 플립플롭의 클록
→ 리플 카운터(Ripple Counter)

n개 FF → 2ⁿ 상태
3개 FF → 8가지 상태 (0~7)

 

동기 카운터

모든 플립플롭이 같은 클록에 동작
→ 속도 빠름, 타이밍 왜곡 없음

 

링 카운터 ⭐⭐

n개 FF → n가지 상태

4개 FF → 4가지 상태:
1000 → 0100 → 0010 → 0001 → 1000

 

존슨 카운터 ⭐⭐

n개 FF → 2n가지 상태

4개 FF → 8가지 상태:
0000 → 1000 → 1100 → 1110 → 1111
→ 1111 → 0111 → 0011 → 0001 → 0000

기출 문제

Q. 존슨 카운터로 8가지 상태를 구현하는 데 필요한 FF 수는?

A. 2n=8 → n=4개

 

Q. 링 카운터 4개의 FF 상태 수는?

A. 4가지 (존슨은 8가지)


레지스터 ⭐

데이터를 일시적으로 저장하는 FF의 집합

직렬 입력-직렬 출력 (SISO)
직렬 입력-병렬 출력 (SIPO)
병렬 입력-직렬 출력 (PISO)
병렬 입력-병렬 출력 (PIPO)

시프트 레지스터: 데이터를 좌/우로 이동

핵심 정리

✅ NAND·NOR = 만능 게이트
✅ RS: S=R=1 → 불능(금지!)
✅ JK: J=K=1 → 토글!
✅ D: 클록에서 D값 저장
✅ T: T=1 → 토글, 카운터에 활용
✅ 링 카운터: n개 FF → n상태
✅ 존슨 카운터: n개 FF → 2n상태
✅ 비동기=리플카운터 / 동기=모두같은클록

 

다음 편에서는 프로그래밍 언어(C언어·OOP)로 이어갑니다!

반응형