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  

 

posted on 2023-02-08 17:49  无情的造轮子  阅读(166)  评论(0编辑  收藏  举报