Input Selector【Turing Complete編】
目次
はじめに
いつもブログをご覧いただきありがとうございます。
コーストFIRE中のIPUSIRONです😀
セレクターとは
セレクターとは、いくつかの入力の中から指定されたものを選択して出力する回路です。マルチプレクサーとも呼ばれます。
物理的なスイッチでも実現できますが、一般にセレクターといった場合はデジタル信号で切り替えます。
セレクターとデマルチプレクサー
入力から出力への経路を切り替える回路は、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 |
※入力がn組の場合は、n-1セレクターといいます。また、入力がn組、1組当たりmビットのとき、n-mセレクターといいます。
ブロック図
左がセレクターのブロック図になります。
選択という動作を強調して、中央や右のブロック図も使われます。
真理値表
SEL | A | B | OUT |
---|---|---|---|
0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 0 |
1 | 1 | 1 | 1 |
真理値表を簡略化すると次のようになります。
SEL | A | B | OUT |
---|---|---|---|
0 | 0 | X | 0 |
0 | 1 | X | 1 |
1 | X | 0 | 0 |
1 | X | 1 | 1 |
論理式
真理値表からカルノー図を描きます。ただし、カルノー図を描きやすいように、AとBの列をひっくり返した真理値表を作っておきましょう。
SEL | B | A | OUT |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
カルノー図から次の論理式が得られます。
$OUT= \overline{SEL} \cdot A+ SEL \cdot B$
※セレクターの定義からも論理式が意味することがわかります。
基本的な論理ゲートによる回路
4-1セレクター
4-1セレクターとは、4組の1ビットの信号を入力として、それをSELによって選択し、出力から1ビットの信号が得られる回路です。
2-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つあれば、全体の回路が見えてきます。
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-4セレクター
2-4セレクターとは、2組の4ビットの信号を入力として、それをSELによって選択し、出力から4ビットの信号が得られる回路です。
真理値表
SEL | OUT |
---|---|
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ビット幅のまま扱えます。
これを活用したのが次の回路です。