1対8デマルチプレクサ(DEMUX)
概要
- 目的: 1対8デマルチプレクサは、3本のセレクトラインの値に基づいて、単一の入力信号を8つの可能な出力の1つにルーティングするデジタル回路で、本質的に入力データを特定の宛先に分配します。
- 記号: 通常、1つのデータ入力(DATA)、3つのセレクト入力(S0-S2)、および8つの出力(Y0-Y7)を持つ長方形のブロックとして表されます。
- DigiSim.ioでの役割: デジタルシステムにおけるデータ分配、アドレスデコーディング、および制御信号ルーティングに不可欠なコンポーネントとして機能し、複数の宛先への選択的な信号伝送を可能にします。

機能説明
論理動作
1対8デマルチプレクサは、セレクト入力のバイナリ値で示される特定の出力ラインに入力データを転送します。1つの出力(セレクトラインの値に対応するもの)のみが入力データを受け取り、他のすべての出力は非アクティブのままです。入力データが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: 8つの出力の1つにルーティングされる1ビット入力信号。
- S0: 3ビットセレクト入力の最下位ビット(LSB)。
- S1: 3ビットセレクト入力の中間ビット。
- S2: 3ビットセレクト入力の最上位ビット(MSB)。
出力:
- Y0-Y7: 8つの1ビット出力。有効時に一度にアクティブにできるのは1つだけです。特定のアクティブ出力はS2、S1、S0のバイナリ値によって決定されます。
設定可能なパラメータ
- 出力ロジック: 出力がアクティブハイかアクティブローか。
- イネーブルロジック: イネーブル入力がアクティブハイかアクティブローか。
- 複数イネーブル: 一部の実装では、複数のイネーブル入力(AND/OR機能付き)をサポートします。
- 出力タイプ: スタンダード、オープンコレクタ、またはオープンドレイン出力構成。
- 伝搬遅延: 入力変化後に出力が変化するまでの時間。
DigiSim.ioでの視覚的表現
1対8デマルチプレクサは、左側に入力ピン(DATA、S0、S1、S2)、右側に8つの出力ピン(Y0-Y7)を持つ長方形のブロックとして表示されます。回路に接続すると、接続ワイヤの色の変化によってアクティブなデータパスを視覚的に示します。
教育的価値
主要概念
- 信号分配: デジタルシステムが単一の信号を複数の可能な宛先にルーティングする方法を実演します。
- バイナリアドレッシング: バイナリコードが特定の出力チャネルをどのように選択できるかを示します。
- 選択的活性化: アドレスに基づいてシステムが多くのコンポーネントの1つをどのように活性化できるかを説明します。
- データルーティング: 信号ルーティングとチャネル選択の基本概念を提示します。
- 逆マルチプレクシング: マルチプレクシングの補完的な操作を実演します。
学習目標
- デマルチプレクサがセレクトラインの値に基づいて信号をどのようにルーティングするかを理解する。
- バイナリコードとアクティブ化された出力の関係を学ぶ。
- デマルチプレクサがアドレスデコーディングとデータ分配にどのように使用できるかを認識する。
- より大きなデジタルシステムの構築にデマルチプレクサの概念を適用する。
- デジタル設計におけるマルチプレクサとデマルチプレクサの双対性を理解する。
- デジタル回路における信号ルーティングと分配のスキルを身につける。
使用例/シナリオ
- メモリアドレッシング: アドレスビットに基づいて8つのメモリチップの1つを選択する。
- I/Oポート拡張: 複数の周辺デバイスに制御信号を分配する。
- パラレルデータ生成: 各ビットを時間をかけて異なる出力にルーティングすることでシリアルデータをパラレルに変換する。
- 制御信号分配: オペレーションコードに基づいて特定のサブシステムに制御信号を転送する。
- チャネル選択: オーディオまたはデータ信号を特定の出力チャネルにルーティングする。
- 選択的コンポーネント活性化: 電力効率のために複数の類似コンポーネントの1つを有効化する。
- シリアル-パラレル変換: 通信システムで順次ビットをパラレル出力に分配する。
技術ノート
- 1対8デマルチプレクサは、3対8デコーダの後にANDゲートを配置して実装できます。
- 各出力ラインは次のブール関数に従います: Y(n) = DATA • EN • (S2, S1, S0 == n)。
- 一般的なIC実装には、データ入力用の追加ANDゲートを備えた74138があります。
- 2つの1対4デマルチプレクサを追加のセレクトビットでカスケード接続して、1対8デマルチプレクサを作成できます。
- 伝搬遅延は、技術に応じて標準IC実装で通常10-25nsです。
- DigiSim.ioでは、デマルチプレクサはセレクト入力に基づく適切な信号ルーティングを示し、標準的なデマルチプレクサ回路の動作を正確にモデル化します。
特性
入力構成:
- 1つのデータ入力(DATA)
- 3つのセレクト入力(S0、S1、S2)
- オプションのイネーブル入力(EN)
- 使用するロジックファミリに準拠した入力負荷
- 標準ロジックレベル(通常TTLまたはCMOS互換)
- 一部の実装ではアクティブローイネーブルを含む場合がある
- 複数のイネーブル入力(AND/OR機能)を含む場合がある
- 静電気放電に対する入力保護が一般的
出力構成:
- 8つの相互排他的出力(Y0-Y7)
- 実装に応じてアクティブハイまたはアクティブロー出力
- 一度にアクティブな出力は1つだけ(DATA = 1の場合)
- デマルチプレクサが無効の場合、すべての出力が非アクティブ
- DATA = 0の場合、すべての出力が非アクティブ(セレクト値に関係なく)
- 標準デジタル負荷の駆動が可能
- オープンコレクタ/オープンドレインバリアントを含む場合がある
- 出力負荷が伝搬遅延に影響
機能:
- 単一入力を8つの出力の1つにルーティング
- セレクトラインがどの出力が入力を受け取るかを決定
- イネーブル入力が全体的な動作を制御
- 組み合わせ論理動作(クロック不要)
- より多くの出力のためにカスケード接続可能
- バイナリからワンホットへの分配
- バスシステムではアクティブロー出力でよく使用
- 出力は現在の入力状態のみによって決定
伝搬遅延:
- データ入力から出力: 通常7-20ns
- セレクト入力から出力: 通常10-25ns
- イネーブルから出力: 通常8-22ns
- 技術依存(TTL、CMOSなど)
- すべての出力パスにわたる一貫した遅延が望ましい
- 高速データ分配での重要なパラメータ
- 出力負荷の影響を受ける
- 温度と電圧に敏感
ファンアウト:
- 各出力は通常10-20の標準負荷を駆動
- 出力電流能力はロジックファミリによって定義
- 高ファンアウト状況ではバッファリングが必要な場合がある
- アクティブ出力はターゲットデバイスに十分な駆動を提供する必要がある
- ロジックファミリの仕様に準拠
- 同じファミリ内のデバイス間で異なる場合がある
- 信頼性の高い信号分配に重要
消費電力:
- 低から中程度の電力要件
- CMOS実装では静的電力が最小
- 動的電力はスイッチング周波数とともに増加
- スイッチング活動に比例
- 技術依存(CMOSが最も低い静的電力)
- ファンアウト負荷とともに電力が増加
- 典型値: アクティブ時5-25mW、スタンバイ時<1mW(CMOS)
回路の複雑さ:
- 中程度の複雑さ
- 基本ロジックゲートで実装
- ANDベースまたはNANDベースの実装が一般的
- デコーダの後にANDゲート構造
- イネーブル機能のための追加ロジック
- 集積実装により外部コンポーネント数が削減
- 提供される機能に対して最小限の複雑さ
実装方法
デコーダベース実装
- 3対8デコーダとANDゲートから構築
- デコーダがセレクトラインをワンホット形式に変換
- 各出力はデコーダ出力とデータ入力のANDゲートを使用
- イネーブル信号がデコーダを制御
- 最も一般的で直接的な実装
- アドレッシングとデータの明確な機能分離
- デマルチプレクシングの原理の教育的な例
- 既存のデコーダコンポーネントを活用可能
ゲートレベル直接実装
- 基本ロジックゲート(AND、NOT)から直接構築
- 各出力には4入力ANDゲート(3つのセレクト入力 + データ)が必要
- 入力インバータが必要に応じて補数信号を生成
- 中間デコーダ段なし
- ゲート数は多いがデコーダベースより高速な可能性
- デマルチプレクサ機能の直接実装
- 基本動作の理解に有用
- 規則的な構造がレイアウトを簡素化
集積回路実装
- 専用デマルチプレクサIC: ANDゲート付き74xx138
- 各種機能: イネーブル、ラッチ、オープンコレクタ
- 異なるロジックファミリで利用可能
- タイミングと負荷が十分に特性化
- 標準インターフェースとピン配置
- データ分配と制御信号ルーティングでよく使用
- カスケード接続用の複数イネーブル入力
- コスト効率が高く、省スペースのソリューション
トランスミッションゲート実装
- CMOSトランスミッションゲートをスイッチとして使用
- ゲートレベルアプローチより低い伝搬遅延
- CMOS技術で効率的
- 低消費電力
- 信号完全性の問題に対してより敏感
- 慎重な設計が必要
- 最新のCMOS集積回路で一般的
- ASIC/FPGA実装に適している
マルチプレクサ派生実装
- 接続を再構成したマルチプレクサを使用
- すべてのマルチプレクサ入力にデータ入力を接続
- セレクトラインがどのパスがアクティブかを制御
- 利用可能なマルチプレクサコンポーネントを活用可能
- マルチプレクサとデマルチプレクサの双対性を実演
- デマルチプレクサが利用できない場合の代替アプローチ
- 異なるタイミング特性を持つ場合がある
- リソースが制限された設計で有用
FPGA/ASIC実装
- LUTまたは専用リソースを使用して実装
- ターゲット技術に最適化
- HDL記述から合成
- 追加機能を組み込み可能
- ツールによりリソース使用が最適化
- 要件に基づいてパフォーマンスをカスタマイズ可能
- 他のロジックと深く統合可能
- 複雑なシステムのための最新の実装アプローチ
ツリー構造実装
- 1対2デマルチプレクサの階層構造
- 第1レベルはS2、第2レベルはS1、第3レベルはS0を使用
- 対数的遅延特性
- モジュラーでスケーラブルな設計
- 一部の技術でより効率的
- すべての出力にわたる均一な遅延
- 分解を示す教育的価値
- 複雑な機能へのビルディングブロックアプローチ
アプリケーション
データ分配
- 複数の宛先への制御信号のルーティング
- バスアーキテクチャの信号分配
- サブシステムの選択的活性化
- 特定のターゲットへのコマンドブロードキャスト
- 構成信号のルーティング
- 制御ワードの分配
- プロトコルベースの選択的通信
メモリおよびストレージシステム
- メモリチップ選択
- メモリバンクの有効化
- 書き込みイネーブル信号の分配
- アドレス空間の分割
- ストレージデバイスの選択
- メモリマップドI/Oアドレッシング
- キャッシュライン選択
シリアル-パラレル変換
- シリアルデータストリームからパラレル出力への変換
- 時分割デマルチプレクシング
- チャネル分離
- シリアルインターフェースからのビット分配
- プロトコルデコーディング
- フレーム分解
- センサデータの分配
ディスプレイシステム
- マルチプレクスされたディスプレイでのセグメント駆動
- ディスプレイマトリックスでの行/列選択
- ピクセルアドレッシング
- キャラクタ位置の選択
- ディスプレイモード制御信号のルーティング
- バックライトゾーン制御
- カラーチャネルの分配
通信システム
- チャネル割り当て
- レシーバ選択
- プロトコル固有の信号処理
- ネットワークノードアドレッシング
- データパケットルーティング
- 無線通信チャネル選択
- マルチスタンダードシステムでのインターフェース選択
テストとデバッグ
- 特定のテストポイントへの信号注入
- 診断ルーティング
- 選択的回路刺激
- エラーパターン生成
- システム検証
- 故障分離
- ビルトインセルフテスト制御
入出力拡張
- GPIOピンの多重化
- I/Oポート拡張
- 周辺制御信号の分配
- インターフェース信号のルーティング
- センサ選択
- アクチュエータ制御の分配
- 外部デバイスアドレッシング
制限事項
信号分配の制約
- 一度にアクティブな出力は1つだけ
- 複数の出力に同時にデータをルーティングできない
- 選択中に入力信号が有効でなければならない
- ファンアウトは出力駆動能力によって制限
- 高負荷アプリケーションではバッファリングが必要な場合がある
- 伝搬遅延が高速アプリケーションに影響
- チャネル間の分離が限られている
タイミングの考慮事項
- データが有効になる前にセレクトラインが安定している必要がある
- セレクトラインの遷移中にグリッチが発生する可能性
- セットアップ時間とホールド時間の要件
- 分配のためにデータが有効であり続ける必要がある
- システムタイミングとの同期が重要
- セレクトラインの変更から出力安定化までの遅延
- 非同期システムでのレースコンディション
スケーラビリティの課題
- 出力の線形増加に対してセレクトラインの指数関数的増加
- 16出力には4本のセレクトラインが必要
- 大きなデマルチプレクサには大量のリソースが必要
- より大きな実装でのピン数の制限
- カスケード接続で追加遅延が発生
- サイズとともに複雑さが大幅に増加
- テストの複雑さが指数関数的に増加
信号完全性の問題
- 出力チャネル間のクロストーク
- 高速スイッチング時のグラウンドバウンス
- 遷移中の電源ノイズ
- 長いトレースでの伝送線効果
- トランスミッションゲート実装でのクロックフィードスルー
- 複数段を通じた信号劣化
- 高速でのノイズマージンの減少
実装のトレードオフ
- 速度対消費電力
- リソース使用対パフォーマンス
- アクティブ対パッシブ実装
- サイズ対モジュラー性
- 遅延マッチング対コンポーネント数
- 駆動能力対集積密度
- カスタム対標準コンポーネントの使用
回路実装の詳細
デコーダベース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に基づいて1つの出力ラインを選択し、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本のセレクトラインを持つ最も単純なデマルチプレクサ
- 1対4デマルチプレクサ: 2本のセレクトラインを持つ中規模デマルチプレクサ
- 1対16デマルチプレクサ: 4本のセレクトラインを持つ大型デマルチプレクサ
- 3対8デコーダ: デマルチプレクサの実装によく使用されるコンポーネント
- 8対1マルチプレクサ: 1対8デマルチプレクサの逆操作を実行
- データディストリビュータ: 特定のアプリケーションでのデマルチプレクサの別名
- シリアル-パラレルコンバータ: 変換にデマルチプレクシングの原理を使用
- バスデマルチプレクサ: バスデータ分配に特化
- チャネルデマルチプレクサ: 通信システムでのチャネル分離に使用
- アドレスデコーダ: メモリおよびI/Oアドレッシングに使用される関連コンポーネント