핵심 인사이트

  1. 디멀티플렉서(DEMUX)는 하나의 입력 신호를 선택 신호(Select)에 따라 여러 출력 중 하나로 분배하는 조합 논리 회로로, 멀티플렉서(MUX)의 역 연산이며 데이터 분배기(Data Distributor)라고도 한다.
  2. 1:2^n DEMUX는 n개의 선택 신호로 2^n개의 출력 중 하나를 선택하며, 디코더(Decoder)에 활성화(Enable) 입력을 추가한 것과 동일한 구조여서 디코더로 DEMUX를 구현할 수 있다.
  3. 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줄 비유 설명

  1. 디멀티플렉서는 하나의 수도관에서 물(신호)을 여러 파이프(출력) 중 하나로 보내는 밸브 — 어느 파이프로 보낼지는 선택 스위치(선택 신호)가 결정해요!
  2. MUX가 여러 입력을 하나로 모으는 것이라면, DEMUX는 반대로 하나를 여러 곳으로 나누는 것 — 딱 짝이에요!
  3. 메모리 여러 개를 하나의 CPU에 연결할 때도 DEMUX를 써서 "지금은 이 메모리가 활성화"를 선택해요!