現在iverilogでマルチプレクサの実装をしています。
以下のように2to1マルチプレクサを実装できたのですが、
次に「各入力が3ビット幅の5to1マルチプレクサ」を実装しようとしているのですが、そもそもの動作からわかりません。
どなたか教えていただきたいです。
mux2to1.v
1// 2:1マルチプレクサ 2// LEDモジュールを利用 3 4module control_led(switch, led); 5 input switch; 6 output led; 7 assign led=switch; 8endmodule 9 10module mux_lbit_2to1(X, Y, S, Q); 11 input X, Y, S; 12 output Q; 13 assign Q=(~S & X) | (S & Y); 14endmodule 15 16module mux2to1_led(sw, led); 17 input [2:0] sw; 18 output led; 19 wire w; 20 21 mux_lbit_2to1 MUX(sw[2], sw[1], sw[0], w); 22 control_led LED(w, led); 23endmodule 24 25module mux2to1_test(); 26 reg [2:0] sw; 27 wire led; 28 29 mux2to1_led MUX(sw, led); 30 31 initial begin 32 sw[0]=1; sw[1]=1; sw[2]=0; 33 #10 sw[0]=0; sw[1]=1; sw[2]=0; 34 #10 $finish; 35 end 36 37 initial begin 38 $monitor("X=%d, Y=%d, Switch=%d, LED=%d", sw[1], sw[2], sw[0], led); 39 $dumpfile("mux2to1_test.vcd"); 40 $dumpvars(0, mux2to1_test); 41 end 42endmodule
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。