当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。

Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。

広告配信等の詳細については、プライバシーポリシーページに掲載しています。

消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題のある表現がありましたら、問い合わせページよりご連絡ください。

参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

Input Selector【Turing Complete編】

2023年9月16日

セレクターとは

セレクターとは、いくつかの入力の中から指定されたものを選択して出力する回路です。マルチプレクサーとも呼ばれます。

物理的なスイッチでも実現できますが、一般にセレクターといった場合はデジタル信号で切り替えます。

セレクターとデマルチプレクサー

入力から出力への経路を切り替える回路は、2種類あります。

セレクター(マルチプレクサー)・入力が多、出力が1
・入力側を切り替える。
デマルチプレクサー・入力が1、出力が多
・出力側を切り替える。

現実世界においてセレクターとデマルチプレクサーを例えると、入力や出力を切り替えるスイッチのようなものです。

2-1セレクター

2-1セレクター(2線-1線セレクター)とは、1ビットの入力線が2組あるタイプのセレクターです。

入力・SEL:1ビット、選択(セレクト)用
・A:1ビット
・B:1ビット
出力・OUT:1ビット
[1]SEL=0のときに、OUT=A
[2]SEL=1のときに、OUT=B
2-1セレクターの入出力

※入力がn組の場合は、n-1セレクターといいます。また、入力がn組、1組当たりmビットのとき、n-mセレクターといいます。

ブロック図

左がセレクターのブロック図になります。

選択という動作を強調して、中央や右のブロック図も使われます。

真理値表

SELABOUT
0010
0000
0101
0111
1000
1011
1100
1111
2-1セレクターの真理値表

真理値表を簡略化すると次のようになります。

SELABOUT
00X0
01X1
1X00
1X11
2-1セレクターの真理値表【簡略版】

論理式

真理値表からカルノー図を描きます。ただし、カルノー図を描きやすいように、AとBの列をひっくり返した真理値表を作っておきましょう。

SELBAOUT
0000
0011
0100
0111
1000
1010
1101
1111
2-1セレクターの真理値表【別表現】
2-1セレクターのカルノー図

カルノー図から次の論理式が得られます。

$OUT= \overline{SEL} \cdot A+ SEL \cdot B$

※セレクターの定義からも論理式が意味することがわかります。

基本的な論理ゲートによる回路

4-1セレクター

4-1セレクターとは、4組の1ビットの信号を入力として、それをSELによって選択し、出力から1ビットの信号が得られる回路です。

2-1セレクターを理解していれば、仕様はすぐに理解できるはずです。

4-1セレクターのブロック図

真理値表を作ろうとすると、64行(=26)行も必要になってしまいます。そこで、真理値表なしで、意味から論理式を求めます。

入力が4本(A~D)あってそのうち1つを選択するので、SELは2本(SEL0、SEL1)必要です。

$OUT= \overline{SEL0} \cdot \overline{SEL1} \cdot A + SEL0 \cdot \overline{SEL1} \cdot B + C \cdot \overline{SEL0} \cdot SEL1 + D \cdot SEL0 \cdot \overline{SEL1}$

基本的な論理ゲートによる回路

得られた論理式から、3入力型ANDゲートが4つ、それらの出力を束ねる4入力型ORゲートが1つあれば、全体の回路が見えてきます。

4-1セレクターの回路

2-2セレクター

2-2セレクターとは、2組の2ビットの信号を入力として、それをSELによって選択し、出力から2ビットの信号が得られる回路です。

ブロック図

・SEL=0のとき、OUT[1:0]=A[1:0]

・SEL=1のとき、OUT[1:0]=B[1:0]

「A、Bそれぞれの上位ビットをSELで切り替えてOUTの上位ビットに出力」かつ「A、Bそれぞれの下位ビットをSELで切り替えてOUTの下位ビットに出力」

回路

2-1セレクターを2つ並べるだけです。ここでは2-1セレクターのブロック図を用いることにします。

※同様のアプローチで2-mセレクターに拡張できます。

2-1セレクターから2-2セレクターを作る

2-4セレクター

2-4セレクターとは、2組の4ビットの信号を入力として、それをSELによって選択し、出力から4ビットの信号が得られる回路です。

真理値表

SELOUT
0データA=(A1, A2, A3, A4)
1データB=(B1, B2, B3, B4)

回路

2-2セレクターの回路で見たように、2-4セレクターを作る場合も2-1セレクターの回路を4つ並べるだけで完成します。

ただし、セレクト回路部は共通化できます。

※同様のアプローチで2-mセレクターに拡張できます。

次の図はセレクト回路部を共通化したバージョンになります。

2-4セレクターを搭載するIC

※デジタル信号のみではなく、アナログ信号を選択できるタイプのセレクターICもある。

・LS157/HC157・・・2-4セレクターが1個入っている。ICの稼働・停止を制御するストローブ入力 ̄Gがある。

Input Selectorステージ

Input Selectorステージのゴールは、入力として2組の8ビット値を与え、選択線によって出力すべき8ビット値を切り替える回路を組むことです。

この回路は2-8セレクターそのものです。

Input Selectorステージを解く

2-4セレクターを拡張して2-8セレクターの回路を組んでみましょう。

エラーになるときは、Input 1とInput 2が逆の可能性があります。あるいはNOTゲートを通すワイヤーを隣に切り替えます。

回路の仕組みはシンプルですが、コンポーネントやワイヤーがたくさんあり配置が困難でした。

クリアすると、8 Bit Muxコンポーネントがアンロックされます。

Switchコンポーネントを活用して回路を組む【別解】

8 Bit Swichコンポーネントを活用して回路を組む【別解2】

上記の回路はコンポーネントが多くなってしまいました。

8 Bit Switchコンポーネントは8ビット幅のまま扱えます。

これを活用したのが次の回路です。