1 //二选一多路选择器源代码
2 //此代码注意括号内部运用的是逗号,括号内部最后一个不加逗号。
3 //括号外面的语句都要加分号(;)
4 module mux2(
5 a,
6 b,
7 sel,
8 out
9 );
10 input a;
11 input b;
12 input sel;
13 output out;
14 assign out =(sel==1)?a:b;
15 endmodule
16
17 //二选一多路选择器testbench仿真源代码
18 //注意在testbench内部的名字,mux2要和前面的源代码名字一致,mux2后面添加空格,
19 //mux2后面的名字(mux2_tb)只是实验的一个例子可以随便起名字.
20
21
22 `timescale 1ns/1ns
23 module mux2_tb();
24 reg s_a;
25 reg s_b;
26 reg s_sel;
27 wire out;
28 mux2 mux2_inst0(
29 .a(s_a),
30 .b(s_b),
31 .sel(s_sel),
32 .out(out)
33 );
34 initial begin
35 s_a=0;s_b=0;s_sel=0;
36 #200;
37 s_a=0;s_b=0;s_sel=1;
38 #200;
39 s_a=0;s_b=1;s_sel=0;
40 #200;
41 s_a=0;s_b=1;s_sel=1;
42 #200;
43 s_a=1;s_b=0;s_sel=0;
44 #200;
45 s_a=1;s_b=0;s_sel=1;
46 #200;
47 s_a=1;s_b=1;s_sel=0;
48 #200;
49 s_a=1;s_b=1;s_sel=1;
50 #200;
51 end
52 endmodule
53