一、Verilog代码实现
module muxtwo(
input a ,
input b ,
input sel ,
output out
)
assign out = (sel == 1) ? a : b ;
endmodule
二、仿真
`timescale 1ns / 1ns
module muxtwo_tb();
reg a ;
reg b ;
reg sel ;
wire out ;
muxtwo muxtwo_inst0(
.a (a ) ,
.b (b ) ,
.sel(sel) ,
.out(out)
);
initial begin
a = 0 ;b = 0 ;sel = 0;
#200;
a = 0 ;b = 0 ;sel = 1;
#200;
a = 0 ;b = 1 ;sel = 0;
#200;
a = 0 ;b = 1 ;sel = 1;
#200;
a = 1 ;b = 0 ;sel = 0;
#200;
a = 1 ;b = 0 ;sel = 1;
#200;
a = 1 ;b = 1 ;sel = 0;
#200;
a = 1 ;b = 1 ;sel = 1;
#200;
$stop;
end
endmodule
通过加上激励,出现如下图的波形图: