You are on page 1of 1

Date: April 06, 2023 two_by_one_mux.

v Project: two_by_one_mux

1 module two_by_one_mux (m_out, x_in, y_in, sel);


2
3 output m_out;
4 input x_in, y_in, sel;
5 wire T1, D1, Sbar;
6
7 and (T1, y_in, sel), (T2, x_in, Sbar);
8 not(Sbar, sel);
9 or (m_out, T1, T2);
10
11 endmodule
12
13 module mux_tb;
14
15 wire local_m_out ;
16 reg local_x_in , local_y_in , local_sel ;
17 two_by_one_mux name(.m_out(local_m_out ), .x_in(local_x_in ), .y_in(local_y_in ), .sel(
local_sel ));
18
19
20 initial
21 begin
22 $monitor($time, "x_in = %b, y_in = %b, sel = %b, --- m_out = %b\n" , local_x_in ,
23 local_y_in , local_sel , local_m_out );
24 end
25 // Stimulus inputs
26 initial
27 begin
28 local_x_in = 0; local_y_in = 0; local_sel = 0;
29 #10 local_x_in = 0; local_y_in = 0; local_sel = 0;
30 #10 local_x_in = 0; local_y_in = 1; local_sel = 0;
31 #10 local_x_in = 1; local_y_in = 0; local_sel = 0;
32 #10 local_x_in = 1; local_y_in = 1; local_sel = 0;
33 #10 local_x_in = 0; local_y_in = 0; local_sel = 1;
34 #10 local_x_in = 0; local_y_in = 1; local_sel = 1;
35 #10 local_x_in = 1; local_y_in = 0; local_sel = 1;
36 #10 local_x_in = 1; local_y_in = 1; local_sel = 1;
37 end
38
39 endmodule
40
41

Page 1 of 1 Revision: two_by_one_mux

You might also like