PREVIEW
Multiplexer (4-to-1)

Multiplexer (4-to-1)

Multiplexers/Demultiplexers signal_cellular_alt_2_bar Intermediate schedule 18 min

4対1マルチプレクサ

概要

  • 目的: 4対1マルチプレクサ(MUX)は、2本の選択ラインの値に基づいて4つの入力信号の中から1つを選択し、単一の出力に転送するデジタル回路です。複数のソースから宛先にデータをルーティングする、デジタル制御のスイッチとして機能します。
  • シンボル: 4対1マルチプレクサは、4つのデータ入力(I0-I3)、2つの選択入力(S1、S0)、および1つのデータ出力(Y)を持つ長方形のブロックで表されます。
  • DigiSim.ioでの役割: デジタル回路における基本的なデータルーティングコンポーネントとして機能し、選択的な信号伝送を可能にし、より複雑なデータ選択アーキテクチャの基盤を形成します。

multiplexer 4to1 component

機能説明

論理動作

4対1マルチプレクサは、選択入力のバイナリ値に基づいて4つのデータ入力の1つを出力に転送します。選択入力は、どのデータ入力が出力に接続されるかを決定する2ビットバイナリ数として機能します。

真理値表:

S1 S0 Output Y Selected Input
0 0 I0 Input 0
0 1 I1 Input 1
1 0 I2 Input 2
1 1 I3 Input 3

入力と出力

  • 入力:

    • I0、I1、I2、I3: 1つが選択される4つの1ビットデータ入力。
    • S1、S0: どのデータ入力が出力にルーティングされるかを決定する2つの1ビット選択入力。
    • 一部の実装では、マルチプレクサを無効にできる追加のイネーブル入力(EN)を含む場合があります。
  • 出力:

    • Y: 選択された入力からの値を受け取る1ビットデータ出力。

設定可能なパラメータ

  • 入力タイプ: マルチプレクサが単一ビットを処理するかマルチビットバスを処理するか。
  • 出力タイプ: 出力が標準駆動かトライステート機能を持つか。
  • イネーブル制御: 一部の実装には、すべての入力を出力から切断できるイネーブル入力が含まれます。
  • 伝搬遅延: 選択された入力の変化が出力に反映されるまでの時間。

DigiSim.ioでの視覚的表現

4対1マルチプレクサは、左側にラベル付き入力(I0、I1、I2、I3、S1、S0)、右側に1つの出力(Y)を持つ長方形のブロックとして表示されます。回路に接続すると、接続ワイヤの色の変化を通じてアクティブなデータパスを視覚的に示し、現在どの入力が選択されているかを表示します。

教育的価値

主要概念

  • 信号ルーティング: デジタルシステムが複数のデータソースから動的に選択する方法を実証します。
  • バイナリデコーディング: バイナリ値がデジタル回路の信号パスをどのように制御するかを説明します。
  • 組み合わせ論理: 複数の入力を持つ組み合わせ回路の実用的なアプリケーションを提示します。
  • データ選択: コンピュータが制御信号に基づいて代替データソースからどのように選択するかを示します。
  • デジタルスイッチング: 機械部品なしの電子的スイッチングの概念を紹介します。

学習目標

  • デジタルシステムが選択制御に基づいてどのように信号をルーティングするかを理解する。
  • バイナリ選択値がどの入力が出力に接続されるかをどのように決定するかを学ぶ。
  • より大きなデータ処理システムの構築におけるマルチプレクサの役割を認識する。
  • データ選択、バスシステム、論理関数生成器の設計にマルチプレクサの概念を適用する。
  • ビットレベルとワードレベルのマルチプレクシングの違いを理解する。

使用例/シナリオ

  • データ選択: CPUまたはデジタルシステムにおける複数のデータソースからの選択。
  • バスルーティング: コンピュータアーキテクチャにおける共有バスへのアクセスの管理。
  • 関数生成: 事前計算された結果から選択することで任意の論理関数を実装する。
  • パラレル-シリアル変換: シリアル伝送のためにパラレルワードからビットを順次選択する。
  • 入力デバイス管理: 制御システムにおける複数の入力周辺機器からの選択。
  • 時分割多重化: 通信システムにおける複数の信号間での共通チャネルの共有。

技術ノート

  • 4対1マルチプレクサは基本論理ゲート(通常4つのANDゲート、2つのインバータ、1つのORゲート)を使用して実装できます。
  • 3つの2対1マルチプレクサをカスケードすることでも構築できます。
  • 出力のブール式は次のとおりです:Y = (I0·!S1·!S0) + (I1·!S1·S0) + (I2·S1·!S0) + (I3·S1·S0)。
  • 高速アプリケーションでマルチプレクサを使用する場合、伝搬遅延は重要な考慮事項です。
  • 複数の4対1マルチプレクサを組み合わせることで、より大きなマルチプレクサ(8対1、16対1)を構築できます。
  • マルチビットアプリケーションでは、マルチプレクサのアレイを使用して複数のビットを同時に切り替えることができます。
  • DigiSim.ioでは、マルチプレクサの動作は選択遷移の適切な処理を含む実世界のデジタルコンポーネントをシミュレートします。

特性

  • 入力構成:
    • 4つのデータ入力(I0、I1、I2、I3)
    • 4つの入力から選択するための2つの選択入力(S1、S0)
  • 出力構成:
    • 単一出力(Y)
  • 伝搬遅延:
    • 通常5-15ns(技術に依存)
    • 選択変更から出力変更までの遅延
    • データ入力変更から出力変更までの遅延
  • 消費電力:
    • 低~中程度
    • スイッチング周波数に伴い増加
  • ファンアウト:
    • 通常10-50ゲート(技術に依存)
  • 論理レベル:
    • 標準論理ファミリ(TTL、CMOS)と互換
  • 回路の複雑さ:
    • 中程度(基本実装では4つのANDゲート、1つのORゲート、2つのインバータが必要)
  • 速度:
    • より大きなマルチプレクサ(8対1、16対1)よりも高速
    • 中速アプリケーションに適合
  • 信号の完全性:
    • 信号強度を維持
    • 選択パスを通じた信号劣化が最小限

実装方法

  1. 基本論理ゲートの使用
    • ANDゲート、ORゲート、インバータを使用して実装
    • 各入力は選択ラインの固有の組み合わせでゲートされる
graph TB
    Input0[I0] --> AndGate0[AND Gate]
    Input1[I1] --> AndGate1[AND Gate]
    Input2[I2] --> AndGate2[AND Gate]
    Input3[I3] --> AndGate3[AND Gate]
    
    Select0[S0] --> NotGate0[NOT]
    Select1[S1] --> NotGate1[NOT]
    
    NotGate0 --> AndGate0
    NotGate1 --> AndGate0
    
    Select0 --> AndGate1
    NotGate1 --> AndGate1
    
    NotGate0 --> AndGate2
    Select1 --> AndGate2
    
    Select0 --> AndGate3
    Select1 --> AndGate3
    
    AndGate0 --> OrGate[OR Gate]
    AndGate1 --> OrGate
    AndGate2 --> OrGate
    AndGate3 --> OrGate
    
    OrGate --> OutputY[Y Output]

選択ロジック:

  • S1=0、S0=0の場合にI0が選択(両方反転)
  • S1=0、S0=1の場合にI1が選択
  • S1=1、S0=0の場合にI2が選択
  • S1=1、S0=1の場合にI3が選択(両方true)
  1. 2対1マルチプレクサの使用
    • 3つの2対1マルチプレクサをカスケードして構築
    • S0が第1段を制御、S1が最終段を制御
graph LR
    I0[I0] --> MUX1[2:1 MUX]
    I1[I1] --> MUX1
    I2[I2] --> MUX2[2:1 MUX]
    I3[I3] --> MUX2
    
    MUX1 --> MUX3[2:1 MUX]
    MUX2 --> MUX3
    
    S0[S0] --> MUX1
    S0 --> MUX2
    S1[S1] --> MUX3
    
    MUX3 --> Y[Y Output]

動作: S0がI0/I1とI2/I3の間で選択。S1が2つの中間結果間で選択。

  1. デコーダとトライステートバッファの使用

    • 2対4デコーダがトライステートバッファのイネーブル信号を生成
    • 各入力が独自のトライステートバッファに接続
    • 一度に1つのバッファのみが有効化
  2. 集積回路

    • 74xxシリーズロジックファミリで利用可能(例:74153、74HC153)
    • 単一パッケージにデュアル4対1マルチプレクサとして提供されることが多い

アプリケーション

  1. データ選択とルーティング

    • 複数のデータソースからの選択
    • バス指向システムにおけるデータルーティング
    • 通信システムにおけるチャネル選択
  2. メモリアドレッシング

    • メモリシステムにおけるアドレスマルチプレクシング
    • メモリアクセス操作におけるデータパス選択
  3. データパス制御

    • マイクロプロセッサにおけるALU入力選択
    • CPUにおけるレジスタファイルアクセス
  4. デジタル通信

    • 時分割多重化
    • 通信インターフェースにおけるチャネル選択
  5. テストと測定

    • 自動テスト機器における信号選択
    • データ取得システムにおけるプローブ選択
  6. 関数生成

    • 任意のブール関数の実装
    • ルックアップテーブルの実装
  7. 制御システム

    • ステートマシンにおけるモード選択
    • 制御ループにおけるフィードバックパス選択

制限事項

  1. データパスの制限

    • 4つの入力ソースに限定
    • より広いマルチプレクシングには複数のユニットが必要
  2. 選択ラインの依存性

    • 有効な出力が利用可能になる前に選択ラインが安定している必要がある
    • 選択ライン遷移中にグリッチが発生する可能性
  3. 伝搬遅延

    • マルチプレクサを通じた信号遅延が高速システムのタイミングに影響する可能性
    • 入力数の増加に伴い遅延がわずかに増加
  4. ファンアウトの制限

    • 高ファンアウトアプリケーションでは出力のバッファリングが必要な場合がある
    • 長い伝送線路での信号の完全性の劣化
  5. 消費電力

    • スイッチング周波数に伴い増加
    • 一部の実装では、選択されていない場合でもすべての入力パスがある程度の電力を消費

回路実装の詳細

ブール式

4対1マルチプレクサは以下のブール式で記述できます:

Y = (I0 · !S1 · !S0) + (I1 · !S1 · S0) + (I2 · S1 · !S0) + (I3 · S1 · S0)

ここで:

  • I0、I1、I2、I3はデータ入力
  • S1、S0は選択入力
  • Yは出力
  • "·"は論理ANDを表す
  • "+"は論理ORを表す
  • "!"は論理NOTを表す

実装の分析

ゲートレベルの実装では、各入力は選択ラインの固有の組み合わせによって有効化されます:

  • S1=0かつS0=0の場合にI0が選択
  • S1=0かつS0=1の場合にI1が選択
  • S1=1かつS0=0の場合にI2が選択
  • S1=1かつS0=1の場合にI3が選択

関連コンポーネント

  • 2対1マルチプレクサ: 1本の選択ラインと2つの入力を持つよりシンプルなバージョン
  • 8対1マルチプレクサ: 3本の選択ラインと8つの入力を持つ拡張バージョン
  • 16対1マルチプレクサ: 4本の選択ラインと16の入力を持つ大型バージョン
  • デマルチプレクサ: 逆の操作を実行し、単一の入力を複数の出力の1つにルーティング
  • デコーダ: バイナリ値をワンホット信号に変換、マルチプレクサとよく一緒に使用
  • エンコーダ: デコーダの逆を実行し、ワンホット信号をバイナリに変換
  • トライステートバッファ: 一部のマルチプレクサ実装で入力を共通バスに接続するために使用
  • トランスミッションゲート: CMOS技術におけるマルチプレクサの代替実装アプローチ

school 学習パス

arrow_back 前提知識

arrow_forward 次のステップ

help_outline よくある質問

4対1 MUXはどのように動作しますか?

2本のセレクトライン(S1、S0)で4つの入力から選択します:00→I0、01→I1、10→I2、11→I3。各セレクトの組み合わせが1つの入力を出力にルーティングします。

MUXで論理関数を実装できますか?

はい!n変数の任意の関数は2^n対1 MUXで実装できます。関数出力をデータ入力に、変数をセレクトラインに接続します。

play_arrow 回路を実行する

他のコンポーネントを見る