module mux_4_1(y,s,i);
output y;
reg y;
input [3:0]i;
input [1:0]s;
always @(s)
begin
case(s)
2'd0 : y=i[0];
2'd1 : y=i[1];
2'd2 : y=i[2];
2'd3 : y=i[3];
default y=1'b0;
endcase
end
module tb_mux_4_1();
wire y;
reg [1:0]s;
reg [3:0]i;
mux_4_1 dux(y,s,i);
initial
begin
s=2'd0 ; i=4'b0001;
#10 s=2'd1 ; i=4'b0010;
#10 s=2'd2 ; i=4'b0100;
#10 s=2'd3 ; i=4'b1000;
#20 $finish;
end
endmodule
RTL SCHEMATIC:
POWER:
TIMING REPORT:
UTILIZATION REPORT: