Make/Day

毎日なにか作ります

12日目 ~マルチプレクサ~

こんにちは!今日は、デジタル回路から、信号の選択を行うマルチプレクサ(略してMUX)の紹介です。

マルチプレクサは入力された信号、例えば、a,bがあった際、select信号(s)の値に沿って出力をスイッチングします。
そして、その結果をoutから出力する回路になります。
論理式で表すと
Y=s・a+(~s)・bと表せます。
これを回路図で書くと、

手書きで表すマルチプレクサ

となります。
よってVerilogHDLで記述すると、以下のようになります。

module Mux (
    input a,b,sel,
    output out
);
    wire a1,nsel,b1;

    Not U1(sel, nsel);
    And U2(a, nsel, a1);
    And U3(b, sel, b1);
    Or  U4(a1, b1, out);
endmodule

次回以降はこれを多ビット化してALUの回路に使用します。