핵심 인사이트
- 디멀티플렉서(DEMUX)는 하나의 입력 신호를 선택 신호(Select)에 따라 여러 출력 중 하나로 분배하는 조합 논리 회로로, 멀티플렉서(MUX)의 역 연산이며 데이터 분배기(Data Distributor)라고도 한다.
- 1:2^n DEMUX는 n개의 선택 신호로 2^n개의 출력 중 하나를 선택하며, 디코더(Decoder)에 활성화(Enable) 입력을 추가한 것과 동일한 구조여서 디코더로 DEMUX를 구현할 수 있다.
- DEMUX는 시분할 다중화(TDM) 시스템의 수신 측, 메모리 주소 디코딩, 디지털 통신 역다중화 등에 핵심적으로 활용되며, MUX와 쌍을 이뤄 통신 채널 효율화를 구현한다.
Ⅰ. DEMUX 기본 개념
디멀티플렉서 (Demultiplexer, DEMUX):
입력(D) 1개 → 출력(Y) 여러 개 중 1개로 분배
선택 신호(S)로 출력 경로 결정
MUX vs DEMUX:
MUX: 여러 입력 → 1개 출력 (선택)
DEMUX: 1개 입력 → 여러 출력 중 1개 (분배)
1:4 DEMUX 진리표:
S1 S0 | Y3 Y2 Y1 Y0
------+---------------
0 0 | 0 0 0 D
0 1 | 0 0 D 0
1 0 | 0 D 0 0
1 1 | D 0 0 0
1:4 DEMUX 부울 식:
Y0 = D · NOT(S1) · NOT(S0)
Y1 = D · NOT(S1) · S0
Y2 = D · S1 · NOT(S0)
Y3 = D · S1 · S0
1:2^n DEMUX:
n개 선택 신호 → 2^n개 출력
1:2 DEMUX: 선택 1개, 출력 2개
1:4 DEMUX: 선택 2개, 출력 4개
1:8 DEMUX: 선택 3개, 출력 8개
📢 섹션 요약 비유: DEMUX는 철도 분기기 — 한 선로(입력)에서 여러 방향(출력) 중 전환기(선택 신호)가 가리키는 방향으로 기차(신호)를 보낸다.
Ⅱ. DEMUX 회로 구조
1:4 DEMUX 게이트 회로:
D ──┬─────────────────────────────────────────
│ AND
├──→ S1' · S0' · D ──→ Y0
│ AND
├──→ S1' · S0 · D ──→ Y1
│ AND
├──→ S1 · S0' · D ──→ Y2
│ AND
└──→ S1 · S0 · D ──→ Y3
S0 ──┬── NOT(S0') ──┬
│ │
└──────────────┘
S1 ──┬── NOT(S1') ──┬
│ │
└──────────────┘
디코더와 DEMUX 관계:
디코더: n 입력 → 2^n 출력 (활성 출력 1개)
DEMUX: 디코더 + Enable(D 입력) 결합
구현: 2-to-4 디코더 + D를 Enable로 연결
= 1:4 DEMUX
DEMUX 확장:
1:8 DEMUX = 두 개의 1:4 DEMUX + 선택 신호 1개
계층적 구조로 대형 DEMUX 구현 가능
📢 섹션 요약 비유: DEMUX 회로는 4-AND 게이트 버스 — 입력(D)과 선택 신호 조합에서 딱 하나의 AND만 활성화되어 신호가 통과.
Ⅲ. MUX-DEMUX 시스템 연동
MUX-DEMUX 통신 시스템:
시분할 다중화 (TDM):
송신측: I0 ─┐
I1 ─┤ MUX ──[단일 채널]──→ DEMUX ─┬→ O0
I2 ─┤ ├→ O1
I3 ─┘ ├→ O2
└→ O3
MUX 선택 신호 = DEMUX 선택 신호 (동기화)
동일한 클록으로 순서대로 전환
메모리 주소 디코딩:
CPU 주소 버스 → DEMUX → 각 메모리 칩 CS 신호
주소 상위 비트로 메모리 블록 선택
예: A15-A14 = 00 → RAM 0 선택
= 01 → RAM 1 선택
= 10 → ROM 선택
= 11 → I/O 장치 선택
디지털 통신 역다중화:
광섬유 단일 채널 → DEMUX → 여러 수신자
DWDM (파장분할다중화) 역다중화
📢 섹션 요약 비유: MUX-DEMUX 쌍은 전화 교환기 — 여러 통화를 하나의 선로로 압축(MUX) 전송 후, 수신 측에서 다시 분리(DEMUX).
Ⅳ. DEMUX 응용: 함수 구현
DEMUX를 이용한 논리함수 구현:
모든 2^n 입력 조합에 대응하는 최소항(Minterm) 생성
→ 출력을 OR 게이트로 조합하면 임의 함수 구현
예: F(A, B) = A'B + AB' (XOR)
1:4 DEMUX + OR 게이트:
A → S1, B → S0, D = 1
Y0 = m0(A=0,B=0) = A'B' → 0
Y1 = m1(A=0,B=1) = A'B → 1 ─┐
Y2 = m2(A=1,B=0) = AB' → 1 ─┤ OR → F = XOR
Y3 = m3(A=1,B=1) = AB → 0 │
│
F = Y1 + Y2 = A'B + AB' = A XOR B ✓
장점:
최소항 생성기 역할
임의 논리함수를 디코더/DEMUX + OR로 구현
PLA (Programmable Logic Array)의 기반 원리
📢 섹션 요약 비유: DEMUX+OR로 함수 구현은 진리표 직접 읽기 — 원하는 행(최소항)의 출력을 OR로 묶으면 어떤 함수든 만들 수 있다.
Ⅴ. 실무 시나리오 — FPGA 내 DEMUX
FPGA 설계에서 DEMUX 활용:
시나리오: 산업용 IoT 게이트웨이
요구사항:
하나의 직렬 인터페이스(UART)에서 수신된
데이터를 8개의 센서 채널로 분배
패킷 헤더의 채널 ID(3비트)로 라우팅
구현:
1:8 DEMUX 설계
선택 신호: 3비트 채널 ID (S2, S1, S0)
입력: UART RX 데이터 비트
출력: 8개 채널 버퍼
Verilog 코드 개요:
module demux_1to8 (
input D, // 데이터 입력
input [2:0] S, // 선택 신호
output [7:0] Y // 8개 출력
);
assign Y = (8'd1 << S) & {8{D}};
endmodule
결과:
1개 UART 인터페이스로 8채널 센서 관리
채널별 데이터 혼신 없이 정확히 분배
FPGA 리소스: LUT 8개 소모
확장:
더 많은 채널 필요 시 계층적 DEMUX
1:8 두 개 + 1개 선택 = 1:16 구현 가능
📢 섹션 요약 비유: FPGA DEMUX는 스마트 우편 분류기 — 하나의 컨베이어(UART)에서 편지(데이터)를 수신자(채널) 주소(채널 ID)에 따라 자동 분류.
📌 관련 개념 맵
디멀티플렉서 (DEMUX)
+-- 기본 구조
| +-- 입력(D) 1개, 선택(S) n개, 출력 2^n개
| +-- AND 게이트 배열
+-- 디코더 관계
| +-- 디코더 + Enable = DEMUX
+-- 응용
| +-- TDM 수신측 역다중화
| +-- 메모리 주소 디코딩
| +-- FPGA 채널 분배
+-- 논리함수 구현
+-- 최소항 생성기 역할
+-- DEMUX + OR = 임의 함수
📈 관련 키워드 및 발전 흐름도
[디지털 논리 회로 기초 (1960s)]
MUX/DEMUX 표준 회로 정립
TTL 74151 MUX, 74154 DEMUX
|
v
[TDM 통신 시스템 (1970s~)]
T1/E1 회선 시분할 다중화
MUX-DEMUX 쌍 통신 인프라화
|
v
[메모리 시스템 (1980s~)]
주소 디코더 = DEMUX
DRAM 행/열 선택 회로
|
v
[FPGA/PLD 시대 (1990s~)]
프로그래머블 MUX/DEMUX
LUT 기반 유연한 구현
|
v
[현재: SoC 내부 버스 라우팅]
온칩 네트워크(NoC)에서 패킷 분배
AXI 버스 DEMUX/MUX 구현
👶 어린이를 위한 3줄 비유 설명
- 디멀티플렉서는 하나의 수도관에서 물(신호)을 여러 파이프(출력) 중 하나로 보내는 밸브 — 어느 파이프로 보낼지는 선택 스위치(선택 신호)가 결정해요!
- MUX가 여러 입력을 하나로 모으는 것이라면, DEMUX는 반대로 하나를 여러 곳으로 나누는 것 — 딱 짝이에요!
- 메모리 여러 개를 하나의 CPU에 연결할 때도 DEMUX를 써서 "지금은 이 메모리가 활성화"를 선택해요!