セレクタの回路図と条件演算子によるverilog記述

論理回路

4-2セレクタとは、入力が4つあり、出力が2つあるセレクタのこと。

今回は、入力が2bitの信号四本と、1bitの制御信号2本、1bitの出力2本を例にして、その真理値表と回路図の一部、条件演算子を用いたverilogでの記述法をメモしておきます。

入力 : A, B, C, D [1:0]←2ビットを表す
選択信号 : SEL1, SEL2
出力 : OUT1, OUT2

A0はAの1bit目、A1はAの2bit目を表しています。

SEL1SEL2OUT1OUT2
00A0A1
01B0B1
10C0C1
11D0D1

表からもわかるように、SEL1とSEL2がともに0の時は、OUT1にA0、OUT2にA1が出力されます。今回は選択信号が合計2bitしかないので4パターンですが、3bit4bitと増やすと出力のパターンも増やすことができます。

上の表を論理式で表すと

となります。

回路図でその一部を表してみると

上記の回路図は、A0とB0についてしか描いていませんが、他のも同様に描けば大丈夫です。

4-2セレクタを条件演算子を使って書くと下記のようになります。

input [1:0]A,B,C,D;
input SEL1, SEL2;
output OUT1, OUT2;

assign OUT1 = SEL1 == 0? ( SEL2 == 0? : A0 : B0) : ( SEL2 == 0? : C0 : D0);
assign OUT2 = SEL1 == 0? ( SEL2 == 0? : A1 : B1) : ( SEL2 == 0? : C1 : D1);

コメント

タイトルとURLをコピーしました