エンコーダは複数の入力信号をより少ない数の出力信号に変換する論理回路です。一般的には、多数の入力線のうち一つだけがアクティブ(例えば「1」)で、他は非アクティブ(「0」)の状態です。エンコーダは、どの入力線がアクティブかを示す出力信号を生成します。符号器とも呼ばれます。
たとえば、8つの入力線があり、それぞれが異なる信号(例えば0から7まで)を表す場合、エンコーダはこれら8つの信号を3ビットのバイナリコード(例: 000, 001, …, 111)に変換します。これにより、情報をより効率的に伝達することができます。
デコーダはエンコーダの逆の機能を持つ回路です。少数の入力信号をより多くの出力信号に変換します。デコーダは、入力されたバイナリコード(例えば3ビットのバイナリコード)を解読し、特定の出力線をアクティブにします。複合器とも呼ばれます。
例えば、3ビットのバイナリコードを入力とするデコーダは、8つの出力線のうちの1つをアクティブにします(000は最初の線をアクティブにし、001は次の線をアクティブにする、というように)。これは、特定の信号を特定のデバイスやプロセスにルーティングするために使用されます。
2ビットエンコーダ
2ビットエンコーダは、4つの入力信号を2ビットの出力信号に変換する論理回路です。このエンコーダは通常、4つの入力(D₀, D₁, D₂, D₃)を持ち、それぞれの入力は異なる2ビットの出力に対応します。
動作原理
このエンコーダの動作は以下のようになります:
- 入力D₀がアクティブ(「1」)の場合、出力は00になります。
- 入力D₁がアクティブの場合、出力は01になります。
- 入力D₂がアクティブの場合、出力は10になります。
- 入力D₃がアクティブの場合、出力は11になります。
真理値表および論理式で表すと以下のようになります。
回路図
よって論理回路図は以下の通りです。
2ビットデコーダ
2ビットデコーダは、2ビットの入力信号(A, B)を4つの出力信号に変換する論理回路です。このデコーダは2つの入力(A, B)を持ち、それらの組み合わせに基づいて4つの出力(D₀, D₁, D₂, D₃)を生成します。
動作原理
2ビットのデコーダの動作は以下の通りです:
- 入力が00(A=0, B=0)の場合、出力D₀がアクティブ(「1」)になります。
- 入力が01(A=0, B=1)の場合、出力D₁がアクティブになります。
- 入力が10(A=1, B=0)の場合、出力D₂がアクティブになります。
- 入力が11(A=1, B=1)の場合、出力D₃がアクティブになります。
論理式
各出力D₀, D₁, D₂, D₃は入力ビットA, Bに基づいて決定されます。論理式は次のようになります:
回路図
回路図は以下の通りです。
課題
例を参考に4ビットのエンコーダ、あるいは4ビットのデコーダを設計してください。
真理値表及び回路図はdraw.ioで作図し、作図したファイルをレポート用紙に張り付けてを提出してください。
提出先及び〆切は別途指定します。