PREVIEW
Demultiplexer (1-to-8)

Demultiplexer (1-to-8)

Multiplexers/Demultiplexers signal_cellular_alt_2_bar Intermediate schedule 20 min

1대8 디멀티플렉서 (DEMUX)

개요

  • 목적: 1대8 디멀티플렉서는 세 개의 선택 라인 값에 따라 단일 입력 신호를 여덟 개의 가능한 출력 중 하나로 라우팅하는 디지털 회로로, 본질적으로 입력 데이터를 특정 목적지로 분배합니다.
  • 기호: 일반적으로 하나의 데이터 입력(DATA), 세 개의 선택 입력(S0-S2), 여덟 개의 출력(Y0-Y7)이 있는 직사각형 블록으로 표현됩니다.
  • DigiSim.io 역할: 디지털 시스템에서 데이터 분배, 주소 디코딩 및 제어 신호 라우팅을 위한 필수 구성 요소로, 여러 목적지로의 선택적 신호 전송을 가능하게 합니다.

demultiplexer 1to8 component

기능 설명

논리 동작

1대8 디멀티플렉서는 선택 입력의 이진 값으로 지정된 특정 출력 라인으로 입력 데이터를 전달합니다. 선택 라인 값에 해당하는 하나의 출력만 입력 데이터를 수신하며, 다른 모든 출력은 비활성 상태로 유지됩니다. 입력 데이터가 LOW이면 선택 값에 관계없이 모든 출력이 LOW로 유지됩니다.

진리표:

S2 S1 S0 DATA Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 1
0 0 1 1 0 0 0 0 0 0 1 0
0 1 0 1 0 0 0 0 0 1 0 0
0 1 1 1 0 0 0 0 1 0 0 0
1 0 0 1 0 0 0 1 0 0 0 0
1 0 1 1 0 0 1 0 0 0 0 0
1 1 0 1 0 1 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0

참고: DATA = 0일 때, 선택 값에 관계없이 모든 출력은 0으로 유지됩니다.

입력 및 출력

  • 입력:

    • DATA: 여덟 개의 출력 중 하나로 라우팅되는 1비트 입력 신호.
    • S0: 3비트 선택 입력의 최하위 비트(LSB).
    • S1: 3비트 선택 입력의 중간 비트.
    • S2: 3비트 선택 입력의 최상위 비트(MSB).
  • 출력:

    • Y0-Y7: 여덟 개의 1비트 출력으로, 활성화 시 한 번에 하나만 활성화될 수 있습니다. 특정 활성 출력은 S2, S1, S0의 이진 값에 의해 결정됩니다.

구성 가능한 매개변수

  • 출력 논리: 출력이 활성 하이인지 활성 로우인지 여부.
  • 활성화 논리: 활성화 입력이 활성 하이인지 활성 로우인지 여부.
  • 다중 활성화: 일부 구현은 여러 활성화 입력(AND/OR 기능)을 지원.
  • 출력 유형: 표준, 오픈 콜렉터 또는 오픈 드레인 출력 구성.
  • 전파 지연: 입력 변경 후 출력이 변경되는 데 걸리는 시간.

DigiSim.io에서의 시각적 표현

1대8 디멀티플렉서는 왼쪽에 입력 핀(DATA, S0, S1, S2)과 오른쪽에 여덟 개의 출력 핀(Y0-Y7)이 있는 직사각형 블록으로 표시됩니다. 회로에 연결되면 구성 요소는 연결 와이어의 색상 변화를 통해 활성 데이터 경로를 시각적으로 나타냅니다.

교육적 가치

핵심 개념

  • 신호 분배: 디지털 시스템이 단일 신호를 여러 가능한 목적지로 라우팅하는 방법을 보여줍니다.
  • 이진 주소 지정: 이진 코드가 특정 출력 채널을 선택할 수 있는 방법을 보여줍니다.
  • 선택적 활성화: 시스템이 주소에 따라 여러 구성 요소 중 하나를 활성화할 수 있는 방법을 설명합니다.
  • 데이터 라우팅: 신호 라우팅 및 채널 선택의 기본 개념을 제시합니다.
  • 역멀티플렉싱: 멀티플렉싱의 보완적 연산을 보여줍니다.

학습 목표

  • 디멀티플렉서가 선택 라인 값에 따라 신호를 라우팅하는 방법을 이해합니다.
  • 이진 코드와 활성화된 출력 간의 관계를 학습합니다.
  • 디멀티플렉서가 주소 디코딩 및 데이터 분배에 사용될 수 있는 방법을 인식합니다.
  • 더 큰 디지털 시스템을 만드는 데 디멀티플렉서 개념을 적용합니다.
  • 디지털 설계에서 멀티플렉서와 디멀티플렉서 간의 이중성을 이해합니다.
  • 디지털 회로에서 신호 라우팅 및 분배 능력을 개발합니다.

사용 예시/시나리오

  • 메모리 주소 지정: 주소 비트에 따라 여덟 개의 메모리 칩 중 하나를 선택.
  • I/O 포트 확장: 여러 주변 장치로 제어 신호 분배.
  • 병렬 데이터 생성: 시간에 따라 각 비트를 다른 출력으로 라우팅하여 직렬 데이터를 병렬로 변환.
  • 제어 신호 분배: 연산 코드에 따라 특정 하위 시스템으로 제어 신호 전달.
  • 채널 선택: 특정 출력 채널로 오디오 또는 데이터 신호 라우팅.
  • 선택적 구성 요소 활성화: 전력 효율을 위해 여러 유사한 구성 요소 중 하나를 활성화.
  • 직렬-병렬 변환: 통신 시스템에서 순차적 비트를 병렬 출력으로 분배.

기술 참고사항

  • 1대8 디멀티플렉서는 3대8 디코더 다음에 AND 게이트를 사용하여 구현할 수 있습니다.
  • 각 출력 라인은 부울 함수를 따릅니다: Y(n) = DATA • EN • (S2, S1, S0 == n).
  • 일반적인 IC 구현에는 데이터 입력을 위한 추가 AND 게이트가 있는 74138이 포함됩니다.
  • 두 개의 1대4 디멀티플렉서를 추가 선택 비트와 함께 캐스케이드하여 1대8 디멀티플렉서를 만들 수 있습니다.
  • 전파 지연은 기술에 따라 표준 IC 구현에서 일반적으로 10-25ns입니다.
  • DigiSim.io에서 디멀티플렉서는 표준 디멀티플렉서 회로의 동작을 정확하게 모델링하여 선택 입력에 따른 적절한 신호 라우팅을 보여줍니다.

특성

  • 입력 구성:

    • 하나의 데이터 입력(DATA)
    • 세 개의 선택 입력(S0, S1, S2)
    • 선택적 활성화 입력(EN)
    • 사용된 논리 패밀리와 일치하는 입력 부하
    • 표준 논리 레벨(일반적으로 TTL 또는 CMOS 호환)
    • 일부 구현에서 활성 로우 활성화 포함 가능
    • 여러 활성화 입력(AND/OR 기능) 포함 가능
    • 정전기 방전에 대한 입력 보호 일반적
  • 출력 구성:

    • 여덟 개의 상호 배타적 출력(Y0-Y7)
    • 구현에 따라 활성 하이 또는 활성 로우 출력
    • DATA = 1일 때 한 번에 하나의 출력만 활성화
    • 디멀티플렉서가 비활성화되면 모든 출력 비활성화
    • DATA = 0일 때 모든 출력 비활성화(선택 값에 관계없이)
    • 표준 디지털 부하 구동 가능
    • 오픈 콜렉터/오픈 드레인 변형 포함 가능
    • 출력 부하가 전파 지연에 영향
  • 기능:

    • 단일 입력을 여덟 개의 출력 중 하나로 라우팅
    • 선택 라인이 어떤 출력이 입력을 수신하는지 결정
    • 활성화 입력이 전체 동작 제어
    • 조합 논리 동작(클럭 불필요)
    • 더 많은 출력을 위해 캐스케이드 가능
    • 이진에서 원-핫 분배
    • 버스 시스템에서 활성 로우 출력과 함께 자주 사용
    • 출력은 현재 입력 상태에 의해서만 결정
  • 전파 지연:

    • 데이터 입력에서 출력: 일반적으로 7-20ns
    • 선택 입력에서 출력: 일반적으로 10-25ns
    • 활성화에서 출력: 일반적으로 8-22ns
    • 기술에 따라 다름(TTL, CMOS 등)
    • 모든 출력 경로에서 일관된 지연이 바람직
    • 고속 데이터 분배에서 중요한 매개변수
    • 출력 부하에 의해 영향
    • 온도 및 전압에 민감
  • 팬아웃:

    • 각 출력은 일반적으로 10-20개의 표준 부하 구동
    • 논리 패밀리에 의해 정의된 출력 전류 능력
    • 높은 팬아웃 상황에서는 버퍼링 필요 가능
    • 활성 출력이 대상 장치에 충분한 구동력 제공 필요
    • 논리 패밀리 사양과 일치
    • 같은 패밀리의 장치 간에 차이 가능
    • 신뢰할 수 있는 신호 분배에 중요
  • 소비 전력:

    • 낮음에서 중간 수준의 전력 요구
    • CMOS 구현에서 정적 전력 최소
    • 동적 전력은 스위칭 주파수에 따라 증가
    • 스위칭 활동에 비례
    • 기술에 따라 다름(CMOS가 가장 낮은 정적 전력)
    • 팬아웃 부하에 따라 전력 증가
    • 일반적인 값: 능동 5-25mW, 대기 <1mW(CMOS)
  • 회로 복잡성:

    • 중간 정도의 복잡성
    • 기본 논리 게이트로 구현
    • AND 기반 또는 NAND 기반 구현이 일반적
    • 디코더 다음에 AND 게이트 구조
    • 활성화 기능을 위한 추가 논리
    • 집적 구현이 외부 부품 수를 줄임
    • 제공하는 기능 대비 최소한의 복잡성

구현 방법

  1. 디코더 기반 구현

    • 3대8 디코더와 AND 게이트로 구성
    • 디코더가 선택 라인을 원-핫 형식으로 변환
    • 각 출력이 디코더 출력과 데이터 입력이 있는 AND 게이트 사용
    • 활성화 신호가 디코더를 제어
    • 가장 일반적이고 직관적인 구현
    • 주소 지정과 데이터 간의 명확한 기능 분리
    • 디멀티플렉싱 원리의 교육적 예제
    • 기존 디코더 구성 요소 활용 가능
  2. 게이트 수준 직접 구현

    • 기본 논리 게이트(AND, NOT)로 직접 구성
    • 각 출력에 4입력 AND 게이트(3개 선택 입력 + 데이터) 필요
    • 필요에 따라 입력 인버터가 보수 신호 생성
    • 중간 디코더 단계 없음
    • 더 많은 게이트이지만 디코더 기반보다 잠재적으로 더 빠름
    • 디멀티플렉서 기능의 직접 구현
    • 기본 동작 이해에 유용
    • 규칙적인 구조가 레이아웃을 단순화
  3. 집적 회로 구현

    • 전용 디멀티플렉서 IC: AND 게이트가 있는 74xx138
    • 다양한 기능: 활성화, 래치, 오픈 콜렉터
    • 다양한 논리 패밀리에서 사용 가능
    • 잘 정의된 타이밍 및 부하 특성
    • 표준 인터페이스 및 핀 배치
    • 데이터 분배 및 제어 신호 라우팅에 자주 사용
    • 캐스케이딩을 위한 다중 활성화 입력
    • 비용 효율적이고 공간 효율적인 솔루션
  4. 전송 게이트 구현

    • CMOS 전송 게이트를 스위치로 사용
    • 게이트 수준 접근 방식보다 낮은 전파 지연
    • CMOS 기술에서 효율적
    • 낮은 소비 전력
    • 신호 무결성 문제에 더 민감
    • 신중한 설계 필요
    • 최신 CMOS 집적 회로에서 일반적
    • ASIC/FPGA 구현에 적합
  5. 멀티플렉서 파생 구현

    • 재구성된 연결을 가진 멀티플렉서 사용
    • 모든 멀티플렉서 입력에 데이터 입력 연결
    • 선택 라인이 어떤 경로가 활성인지 제어
    • 사용 가능한 멀티플렉서 구성 요소 활용 가능
    • 멀티플렉서와 디멀티플렉서 간의 이중성을 보여줌
    • 디멀티플렉서를 사용할 수 없을 때의 대안적 접근
    • 다른 타이밍 특성을 가질 수 있음
    • 리소스 제한 설계에 유용
  6. FPGA/ASIC 구현

    • LUT 또는 전용 리소스를 사용하여 구현
    • 대상 기술에 최적화
    • HDL 설명에서 합성
    • 추가 기능 통합 가능
    • 도구에 의한 리소스 활용 최적화
    • 요구 사항에 따라 성능 맞춤화 가능
    • 다른 논리와 깊이 통합 가능
    • 복잡한 시스템을 위한 최신 구현 접근
  7. 트리 구조 구현

    • 1대2 디멀티플렉서의 계층적 구조
    • 첫 번째 레벨은 S2, 두 번째는 S1, 세 번째는 S0 사용
    • 대수적 지연 특성
    • 모듈식, 확장 가능한 설계
    • 일부 기술에서 더 효율적일 수 있음
    • 모든 출력에서 균일한 지연
    • 분해를 보여주는 교육적 가치
    • 복잡한 기능에 대한 빌딩 블록 접근

응용

  1. 데이터 분배

    • 여러 목적지로 제어 신호 라우팅
    • 버스 아키텍처 신호 분배
    • 하위 시스템의 선택적 활성화
    • 특정 대상으로의 명령 브로드캐스팅
    • 구성 신호 라우팅
    • 제어 워드 분배
    • 프로토콜 기반 선택적 통신
  2. 메모리 및 저장 시스템

    • 메모리 칩 선택
    • 메모리 뱅크 활성화
    • 쓰기 활성화 신호 분배
    • 주소 공간 분할
    • 저장 장치 선택
    • 메모리 매핑 I/O 주소 지정
    • 캐시 라인 선택
  3. 직렬-병렬 변환

    • 직렬 데이터 스트림을 병렬 출력으로 변환
    • 시분할 디멀티플렉싱
    • 채널 분리
    • 직렬 인터페이스에서의 비트 분배
    • 프로토콜 디코딩
    • 프레임 분해
    • 센서 데이터 분배
  4. 디스플레이 시스템

    • 멀티플렉싱된 디스플레이에서의 세그먼트 구동
    • 디스플레이 매트릭스에서의 행/열 선택
    • 픽셀 주소 지정
    • 문자 위치 선택
    • 디스플레이 모드 제어 신호 라우팅
    • 백라이트 존 제어
    • 색상 채널 분배
  5. 통신 시스템

    • 채널 할당
    • 수신기 선택
    • 프로토콜별 시그널링
    • 네트워크 노드 주소 지정
    • 데이터 패킷 라우팅
    • 무선 통신 채널 선택
    • 다중 표준 시스템에서의 인터페이스 선택
  6. 테스팅 및 디버깅

    • 특정 테스트 포인트에서의 신호 주입
    • 진단 라우팅
    • 선택적 회로 자극
    • 오류 패턴 생성
    • 시스템 검증
    • 결함 격리
    • 내장 자체 테스트 제어
  7. 입출력 확장

    • GPIO 핀 증배
    • I/O 포트 확장
    • 주변 장치 제어 신호 분배
    • 인터페이스 신호 라우팅
    • 센서 선택
    • 액추에이터 제어 분배
    • 외부 장치 주소 지정

제한 사항

  1. 신호 분배 제약

    • 한 번에 하나의 출력만 활성화
    • 여러 출력에 동시에 데이터를 라우팅할 수 없음
    • 선택 중 입력 신호가 유효해야 함
    • 출력 구동 능력에 의한 팬아웃 제한
    • 고부하 애플리케이션에는 버퍼링 필요 가능
    • 전파 지연이 고속 애플리케이션에 영향
    • 채널 간 제한된 격리
  2. 타이밍 고려 사항

    • 데이터가 유효하기 전에 선택 라인이 안정적이어야 함
    • 선택 라인 전환 중 글리치 발생 가능
    • 셋업 및 홀드 타임 요구 사항
    • 분배를 위해 데이터가 유효한 상태로 유지되어야 함
    • 시스템 타이밍과의 동기화가 중요
    • 선택 라인 변경에서 출력 안정화까지의 지연
    • 비동기 시스템에서의 경쟁 조건
  3. 확장성 문제

    • 선형적 출력 증가에 대한 선택 라인의 기하급수적 증가
    • 16개 출력에는 4개의 선택 라인 필요
    • 대형 디멀티플렉서는 상당한 리소스 필요
    • 더 큰 구현에서의 핀 수 제한
    • 캐스케이딩으로 인한 추가 지연
    • 크기에 따라 복잡성이 급격히 증가
    • 테스팅 복잡성이 기하급수적으로 증가
  4. 신호 무결성 문제

    • 출력 채널 간 누화
    • 고속 스위칭에서의 그라운드 바운스
    • 전환 중 전원 공급 노이즈
    • 긴 트레이스에서의 전송 라인 효과
    • 전송 게이트 구현에서의 클럭 피드스루
    • 여러 단계를 통한 신호 저하
    • 고속에서의 노이즈 마진 감소
  5. 구현 트레이드오프

    • 속도 대 소비 전력
    • 리소스 사용 대 성능
    • 능동 대 수동 구현
    • 크기 대 모듈성
    • 지연 매칭 대 부품 수
    • 구동 능력 대 집적 밀도
    • 맞춤형 대 표준 부품 사용

회로 구현 상세

디코더 기반 1대8 디멀티플렉서

graph TB
    S0[S0] --> DEC[3-to-8 Decoder]
    S1[S1] --> DEC
    S2[S2] --> DEC
    EN[Enable] --> DEC
    
    DEC -->|Y0'| AND0[AND]
    DEC -->|Y1'| AND1[AND]
    DEC -->|Y2'| AND2[AND]
    DEC -->|Y3'| AND3[AND]
    DEC -->|Y4'| AND4[AND]
    DEC -->|Y5'| AND5[AND]
    DEC -->|Y6'| AND6[AND]
    DEC -->|Y7'| AND7[AND]
    
    DATA[Data Input] --> AND0
    DATA --> AND1
    DATA --> AND2
    DATA --> AND3
    DATA --> AND4
    DATA --> AND5
    DATA --> AND6
    DATA --> AND7
    
    AND0 --> Y0[Y0 Output]
    AND1 --> Y1[Y1 Output]
    AND2 --> Y2[Y2 Output]
    AND3 --> Y3[Y3 Output]
    AND4 --> Y4[Y4 Output]
    AND5 --> Y5[Y5 Output]
    AND6 --> Y6[Y6 Output]
    AND7 --> Y7[Y7 Output]

동작: 디코더가 S2:S1:S0에 따라 하나의 출력 라인을 선택하고, AND 게이트가 DATA를 선택된 출력으로 라우팅합니다.

게이트 수준 직접 구현 (Y0 출력만)

graph LR
    Select0[S0] --> NotGate0[NOT]
    Select1[S1] --> NotGate1[NOT]
    Select2[S2] --> NotGate2[NOT]
    
    NotGate0 --> AndGate[AND Gate]
    NotGate1 --> AndGate
    NotGate2 --> AndGate
    DataIn[Data] --> AndGate
    EnablePin[Enable] --> AndGate
    
    AndGate --> OutputY0[Y0 Output]

Y0의 논리: Y0 = DATA · /S2 · /S1 · /S0 · Enable (S2:S1:S0 = 000일 때 활성)

74HC138 + 74HC08 구현

구성:

Component Input Output Connection
74HC138 A, B, C Y0-Y7 Select inputs S0-S2
74HC138 G1, /G2A, /G2B Enable G1=1, /G2A=0, /G2B=0
74HC08 1A-4A, 1B-4B 1Y-4Y AND decoder outputs with DATA

구현:

graph LR
    S[S2:S1:S0] --> DEC[74HC138 Decoder]
    DEC --> AND[74HC08 Quad AND]
    DATA[Data Input] --> AND
    AND --> OUT[Y0-Y7 Outputs]

동작: 74HC138이 주소를 디코딩하고, 74HC08이 디코더 출력을 DATA 신호와 AND합니다.

참고: G1은 활성 하이이고 G2A, G2B는 74HC138의 활성 로우 활성화 입력입니다. 1대8 디멀티플렉서의 경우, G1을 논리 1에, G2A와 G2B를 논리 0에 연결하거나 활성화 입력으로 사용합니다.

관련 구성 요소

  • 1대2 디멀티플렉서: 하나의 선택 라인을 가진 가장 간단한 디멀티플렉서
  • 1대4 디멀티플렉서: 두 개의 선택 라인을 가진 중간 크기 디멀티플렉서
  • 1대16 디멀티플렉서: 네 개의 선택 라인을 가진 더 큰 디멀티플렉서
  • 3대8 디코더: 디멀티플렉서 구현에 자주 사용되는 구성 요소
  • 8대1 멀티플렉서: 1대8 디멀티플렉서의 역방향 연산 수행
  • 데이터 분배기: 특정 애플리케이션에서 디멀티플렉서의 대체 이름
  • 직렬-병렬 변환기: 변환을 위해 디멀티플렉싱 원리 사용
  • 버스 디멀티플렉서: 버스 데이터 분배에 특화
  • 채널 디멀티플렉서: 채널 분리를 위한 통신 시스템에서 사용
  • 주소 디코더: 메모리 및 I/O 주소 지정에 사용되는 관련 구성 요소

school 학습 경로

arrow_back 사전 요구 사항

arrow_forward 다음 단계

help_outline 자주 묻는 질문

1대8 DEMUX는 메모리에서 어떻게 사용되나요?

주소 비트가 쓰기 활성화 신호를 받을 메모리 칩을 선택하여, 하나의 주소가 8개 메모리 칩 중 하나를 활성화합니다.

play_arrow 실시간 회로 실행

다른 컴포넌트 보기