# LAB 8 ## NAME AMAN ANAND ## ROLL NUMBER CS22B054 ## QUESTION 1 `code` module Fulladder_using_halfadder(a,b,cin,cout,s); input a,b,cin; output cout,s; wire w1,w2,w3; half_adder p(a,b,w1,w2); half_adder q(cin,w1,s,w3); or r(cout,w3,w2); endmodule module half_adder (a,b,sum,carry); input a, b; output sum, carry; assign sum = a ^ b; assign carry = a & b; endmodule ### testbench module Fulladder_using_halfadder_TB(); reg a,b,cin; wire cout,s; Fulladder_using_halfadder f(.a(a),.b(b),.cin(cin),.cout(cout),.s(s)); initial begin a=0;b=0;cin=0; #100 a=0;b=0;cin=1; #100 a=0;b=1;cin=0; #100 a=0;b=1;cin=1; #100 a=1;b=0;cin=0; #100 a=1;b=0;cin=1; #100 a=1;b=1;cin=0; #100 a=1;b=1;cin=1; end endmodule ## QUESTION 2 `code` module Four_bit_ripple_adder(A,B,Cin,SUM,Cout); input [3:0]A; input [3:0]B; wire [2:0]Carry; output [3:0]SUM; output Cout; input Cin; Full_adder a(A[0],B[0],Cin,Carry[0],SUM[0]); Full_adder b(A[1],B[1],Carry[0],Carry[1],SUM[1]); Full_adder c(A[2],B[2],Carry[1],Carry[2],SUM[2]); Full_adder d(A[3],B[3],Carry[2],Cout,SUM[3]); endmodule module Full_adder(a,b,cin,cout,s); input a,b,cin; output cout,s; wire w1,w2,w3; half_adder p(a,b,w1,w2); half_adder q(cin,w1,s,w3); or r(cout,w3,w2); endmodule module half_adder (a,b,sum,carry); input a, b; output sum, carry; assign sum = a ^ b; assign carry = a & b; endmodule ### testbench module Ripple_Carry_adder_tb(); reg [3:0] A; reg [3:0] B; wire [3:0]SUM; wire Cout; Ripple_Carry_adder rca(.A(A),.B(B),.Cin(Cin),.SUM(SUM),.Cout(Cout)); initial begin A = 4'b0000; B = 4'b0000;Cin=0; #10 A = 4'b0000; B = 4'b0001;Cin=0; #10 A = 4'b0000; B = 4'b0010;Cin=0; #10 A = 4'b0000; B = 4'b0011;Cin=0; #10 A = 4'b0000; B = 4'b0100;Cin=0; #10 A = 4'b0000; B = 4'b0101;Cin=0; #10 A = 4'b0000; B = 4'b0110;Cin=0; #10 A = 4'b0000; B = 4'b0111;Cin=0; #10 A = 4'b0000; B = 4'b1000;Cin=0; #10 A = 4'b0000; B = 4'b1001;Cin=0; #10 A = 4'b0000; B = 4'b1010;Cin=0; #10 A = 4'b0000; B = 4'b1011;Cin=0; #10 A = 4'b0000; B = 4'b1100;Cin=0; #10 A = 4'b0000; B = 4'b1101;Cin=0; #10 A = 4'b0000; B = 4'b1110;Cin=0; #10 A = 4'b0000; B = 4'b1111;Cin=0; #10 A = 4'b0001; B = 4'b0000;Cin=0; #10 A = 4'b0001; B = 4'b0001;Cin=0; #10 A = 4'b0001; B = 4'b0010;Cin=0; #10 A = 4'b0001; B = 4'b0011;Cin=0; #10 A = 4'b0001; B = 4'b0100;Cin=0; #10 A = 4'b0001; B = 4'b0101;Cin=0; #10 A = 4'b0001; B = 4'b0110;Cin=0; #10 A = 4'b0001; B = 4'b0111;Cin=0; #10 A = 4'b0001; B = 4'b1000;Cin=0; #10 A = 4'b0001; B = 4'b1001;Cin=0; #10 A = 4'b0001; B = 4'b1010;Cin=0; #10 A = 4'b0001; B = 4'b1011;Cin=0; #10 A = 4'b0001; B = 4'b1100;Cin=0; #10 A = 4'b0001; B = 4'b1101;Cin=0; #10 A = 4'b0001; B = 4'b1110;Cin=0; #10 A = 4'b0001; B = 4'b1111;Cin=0; #10 A = 4'b0010; B = 4'b0000;Cin=0; #10 A = 4'b0010; B = 4'b0001;Cin=0; #10 A = 4'b0010; B = 4'b0010;Cin=0; #10 A = 4'b0010; B = 4'b0011;Cin=0; #10 A = 4'b0010; B = 4'b0100;Cin=0; #10 A = 4'b0010; B = 4'b0101;Cin=0; #10 A = 4'b0010; B = 4'b0110;Cin=0; #10 A = 4'b0010; B = 4'b0111;Cin=0; #10 A = 4'b0010; B = 4'b1000;Cin=0; #10 A = 4'b0010; B = 4'b1001;Cin=0; #10 A = 4'b0010; B = 4'b1010;Cin=0; #10 A = 4'b0010; B = 4'b1011;Cin=0; #10 A = 4'b0010; B = 4'b1100;Cin=0; #10 A = 4'b0010; B = 4'b1101;Cin=0; #10 A = 4'b0010; B = 4'b1110;Cin=0; #10 A = 4'b0010; B = 4'b1111;Cin=0; #10 A = 4'b0011; B = 4'b0000;Cin=0; #10 A = 4'b0011; B = 4'b0001;Cin=0; #10 A = 4'b0011; B = 4'b0010;Cin=0; #10 A = 4'b0011; B = 4'b0011;Cin=0; #10 A = 4'b0011; B = 4'b0100;Cin=0; #10 A = 4'b0011; B = 4'b0101;Cin=0; #10 A = 4'b0011; B = 4'b0110;Cin=0; #10 A = 4'b0011; B = 4'b0111;Cin=0; #10 A = 4'b0011; B = 4'b1000;Cin=0; #10 A = 4'b0011; B = 4'b1001;Cin=0; #10 A = 4'b0011; B = 4'b1010;Cin=0; #10 A = 4'b0011; B = 4'b1011;Cin=0; #10 A = 4'b0011; B = 4'b1100;Cin=0; #10 A = 4'b0011; B = 4'b1101;Cin=0; #10 A = 4'b0011; B = 4'b1110;Cin=0; #10 A = 4'b0011; B = 4'b1111;Cin=0; #10 A = 4'b0100; B = 4'b0000;Cin=0; #10 A = 4'b0100; B = 4'b0001;Cin=0; #10 A = 4'b0100; B = 4'b0010;Cin=0; #10 A = 4'b0100; B = 4'b0011;Cin=0; #10 A = 4'b0100; B = 4'b0100;Cin=0; #10 A = 4'b0100; B = 4'b0101;Cin=0; #10 A = 4'b0100; B = 4'b0110;Cin=0; #10 A = 4'b0100; B = 4'b0111;Cin=0; #10 A = 4'b0100; B = 4'b1000;Cin=0; #10 A = 4'b0100; B = 4'b1001;Cin=0; #10 A = 4'b0100; B = 4'b1010;Cin=0; #10 A = 4'b0100; B = 4'b1011;Cin=0; #10 A = 4'b0100; B = 4'b1100;Cin=0; #10 A = 4'b0100; B = 4'b1101;Cin=0; #10 A = 4'b0100; B = 4'b1110;Cin=0; #10 A = 4'b0100; B = 4'b1111;Cin=0; #10 A = 4'b0101; B = 4'b0000;Cin=0; #10 A = 4'b0101; B = 4'b0001;Cin=0; #10 A = 4'b0101; B = 4'b0010;Cin=0; #10 A = 4'b0101; B = 4'b0011;Cin=0; #10 A = 4'b0101; B = 4'b0100;Cin=0; #10 A = 4'b0101; B = 4'b0101;Cin=0; #10 A = 4'b0101; B = 4'b0110;Cin=0; #10 A = 4'b0101; B = 4'b0111;Cin=0; #10 A = 4'b0101; B = 4'b1000;Cin=0; #10 A = 4'b0101; B = 4'b1001;Cin=0; #10 A = 4'b0101; B = 4'b1010;Cin=0; #10 A = 4'b0101; B = 4'b1011;Cin=0; #10 A = 4'b0101; B = 4'b1100;Cin=0; #10 A = 4'b0101; B = 4'b1101;Cin=0; #10 A = 4'b0101; B = 4'b1110;Cin=0; #10 A = 4'b0101; B = 4'b1111;Cin=0; #10 A = 4'b0110; B = 4'b0000;Cin=0; #10 A = 4'b0110; B = 4'b0001;Cin=0; #10 A = 4'b0110; B = 4'b0010;Cin=0; #10 A = 4'b0110; B = 4'b0011;Cin=0; #10 A = 4'b0110; B = 4'b0100;Cin=0; #10 A = 4'b0110; B = 4'b0101;Cin=0; #10 A = 4'b0110; B = 4'b0110;Cin=0; #10 A = 4'b0110; B = 4'b0111;Cin=0; #10 A = 4'b0110; B = 4'b1000;Cin=0; #10 A = 4'b0110; B = 4'b1001;Cin=0; #10 A = 4'b0110; B = 4'b1010;Cin=0; #10 A = 4'b0110; B = 4'b1011;Cin=0; #10 A = 4'b0110; B = 4'b1100; Cin=0;#10 A = 4'b0110; B = 4'b1101;Cin=0; #10 A = 4'b0110; B = 4'b1110;Cin=0; #10 A = 4'b0110; B = 4'b1111;Cin=0; #10 A = 4'b0111; B = 4'b0000;Cin=0; #10 A = 4'b0111; B = 4'b0001;Cin=0; #10 A = 4'b0111; B = 4'b0010;Cin=0; #10 A = 4'b0111; B = 4'b0011;Cin=0; #10 A = 4'b0111; B = 4'b0100;Cin=0; #10 A = 4'b0111; B = 4'b0101;Cin=0; #10 A = 4'b0111; B = 4'b0110;Cin=0; #10 A = 4'b0111; B = 4'b0111;Cin=0; #10 A = 4'b0111; B = 4'b1000;Cin=0; #10 A = 4'b0111; B = 4'b1001;Cin=0; #10 A = 4'b0111; B = 4'b1010;Cin=0; #10 A = 4'b0111; B = 4'b1011;Cin=0; #10 A = 4'b0111; B = 4'b1100;Cin=0; #10 A = 4'b0111; B = 4'b1101;Cin=0; #10 A = 4'b0111; B = 4'b1110;Cin=0; #10 A = 4'b0111; B = 4'b1111;Cin=0; #10 A = 4'b1000; B = 4'b0000;Cin=0; #10 A = 4'b1000; B = 4'b0001;Cin=0; #10 A = 4'b1000; B = 4'b0010;Cin=0; #10 A = 4'b1000; B = 4'b0011;Cin=0; #10 A = 4'b1000; B = 4'b0100;Cin=0; #10 A = 4'b1000; B = 4'b0101;Cin=0; #10 A = 4'b1000; B = 4'b0110;Cin=0; #10 A = 4'b1000; B = 4'b0111;Cin=0; #10 A = 4'b1000; B = 4'b1000;Cin=0; #10 A = 4'b1000; B = 4'b1001;Cin=0; #10 A = 4'b1000; B = 4'b1010;Cin=0; #10 A = 4'b1000; B = 4'b1011;Cin=0; #10 A = 4'b1000; B = 4'b1100;Cin=0; #10 A = 4'b1000; B = 4'b1101;Cin=0; #10 A = 4'b1000; B = 4'b1110;Cin=0; #10 A = 4'b1000; B = 4'b1111;Cin=0; #10 A = 4'b1001; B = 4'b0000;Cin=0; #10 A = 4'b1001; B = 4'b0001;Cin=0; #10 A = 4'b1001; B = 4'b0010;Cin=0; #10 A = 4'b1001; B = 4'b0011;Cin=0; #10 A = 4'b1001; B = 4'b0100;Cin=0; #10 A = 4'b1001; B = 4'b0101;Cin=0; #10 A = 4'b1001; B = 4'b0110;Cin=0; #10 A = 4'b1001; B = 4'b0111;Cin=0; #10 A = 4'b1001; B = 4'b1000;Cin=0; #10 A = 4'b1001; B = 4'b1001;Cin=0; #10 A = 4'b1001; B = 4'b1010;Cin=0; #10 A = 4'b1001; B = 4'b1011;Cin=0; #10 A = 4'b1001; B = 4'b1100;Cin=0; #10 A = 4'b1001; B = 4'b1101;Cin=0; #10 A = 4'b1001; B = 4'b1110;Cin=0; #10 A = 4'b1001; B = 4'b1111;Cin=0; #10 A = 4'b1010; B = 4'b0000;Cin=0; #10 A = 4'b1010; B = 4'b0001;Cin=0; #10 A = 4'b1010; B = 4'b0010;Cin=0; #10 A = 4'b1010; B = 4'b0011;Cin=0; #10 A = 4'b1010; B = 4'b0100;Cin=0; #10 A = 4'b1010; B = 4'b0101;Cin=0; #10 A = 4'b1010; B = 4'b0110;Cin=0; #10 A = 4'b1010; B = 4'b0111;Cin=0; #10 A = 4'b1010; B = 4'b1000;Cin=0; #10 A = 4'b1010; B = 4'b1001;Cin=0; #10 A = 4'b1010; B = 4'b1010;Cin=0; #10 A = 4'b1010; B = 4'b1011;Cin=0; #10 A = 4'b1010; B = 4'b1100;Cin=0; #10 A = 4'b1010; B = 4'b1101; Cin=0;#10 A = 4'b1010; B = 4'b1110;Cin=0; #10 A = 4'b1010; B = 4'b1111;Cin=0; #10 A = 4'b1011; B = 4'b0000;Cin=0; #10 A = 4'b1011; B = 4'b0001;Cin=0; #10 A = 4'b1011; B = 4'b0010;Cin=0; #10 A = 4'b1011; B = 4'b0011;Cin=0; #10 A = 4'b1011; B = 4'b0100;Cin=0; #10 A = 4'b1011; B = 4'b0101;Cin=0; #10 A = 4'b1011; B = 4'b0110;Cin=0; #10 A = 4'b1011; B = 4'b0111;Cin=0; #10 A = 4'b1011; B = 4'b1000;Cin=0; #10 A = 4'b1011; B = 4'b1001;Cin=0; #10 A = 4'b1011; B = 4'b1010;Cin=0; #10 A = 4'b1011; B = 4'b1011;Cin=0; #10 A = 4'b1011; B = 4'b1100;Cin=0; #10 A = 4'b1011; B = 4'b1101;Cin=0; #10 A = 4'b1011; B = 4'b1110;Cin=0; #10 A = 4'b1011; B = 4'b1111;Cin=0; #10 A = 4'b1100; B = 4'b0000;Cin=0; #10 A = 4'b1100; B = 4'b0001;Cin=0; #10 A = 4'b1100; B = 4'b0010;Cin=0; #10 A = 4'b1100; B = 4'b0011;Cin=0; #10 A = 4'b1100; B = 4'b0100;Cin=0; #10 A = 4'b1100; B = 4'b0101;Cin=0; #10 A = 4'b1100; B = 4'b0110;Cin=0; #10 A = 4'b1100; B = 4'b0111;Cin=0; #10 A = 4'b1100; B = 4'b1000;Cin=0; #10 A = 4'b1100; B = 4'b1001;Cin=0; #10 A = 4'b1100; B = 4'b1010;Cin=0; #10 A = 4'b1100; B = 4'b1011;Cin=0; #10 A = 4'b1100; B = 4'b1100;Cin=0; #10 A = 4'b1100; B = 4'b1101;Cin=0; #10 A = 4'b1100; B = 4'b1110;Cin=0; #10 A = 4'b1100; B = 4'b1111;Cin=0; #10 A = 4'b1101; B = 4'b0000;Cin=0; #10 A = 4'b1101; B = 4'b0001;Cin=0; #10 A = 4'b1101; B = 4'b0010;Cin=0; #10 A = 4'b1101; B = 4'b0011;Cin=0; #10 A = 4'b1101; B = 4'b0100;Cin=0; #10 A = 4'b1101; B = 4'b0101;Cin=0; #10 A = 4'b1101; B = 4'b0110;Cin=0; #10 A = 4'b1101; B = 4'b0111;Cin=0; #10 A = 4'b1101; B = 4'b1000;Cin=0; #10 A = 4'b1101; B = 4'b1001;Cin=0; #10 A = 4'b1101; B = 4'b1010;Cin=0; #10 A = 4'b1101; B = 4'b1011;Cin=0; #10 A = 4'b1101; B = 4'b1100;Cin=0; #10 A = 4'b1101; B = 4'b1101;Cin=0; #10 A = 4'b1101; B = 4'b1110;Cin=0; #10 A = 4'b1101; B = 4'b1111;Cin=0; #10 A = 4'b1110; B = 4'b0000;Cin=0; #10 A = 4'b1110; B = 4'b0001;Cin=0; #10 A = 4'b1110; B = 4'b0010;Cin=0; #10 A = 4'b1110; B = 4'b0011;Cin=0; #10 A = 4'b1110; B = 4'b0100;Cin=0; #10 A = 4'b1110; B = 4'b0101;Cin=0; #10 A = 4'b1110; B = 4'b0110;Cin=0; #10 A = 4'b1110; B = 4'b0111;Cin=0; #10 A = 4'b1110; B = 4'b1000;Cin=0; #10 A = 4'b1110; B = 4'b1001;Cin=0; #10 A = 4'b1110; B = 4'b1010;Cin=0; #10 A = 4'b1110; B = 4'b1011;Cin=0; #10 A = 4'b1110; B = 4'b1100;Cin=0; #10 A = 4'b1110; B = 4'b1101;Cin=0; #10 A = 4'b1110; B = 4'b1110;Cin=0; #10 A = 4'b1110; B = 4'b1111;Cin=0; #10 A = 4'b1111; B = 4'b0000;Cin=0; #10 A = 4'b1111; B = 4'b0001;Cin=0; #10 A = 4'b1111; B = 4'b0010;Cin=0; #10 A = 4'b1111; B = 4'b0011;Cin=0; #10 A = 4'b1111; B = 4'b0100;Cin=0; #10 A = 4'b1111; B = 4'b0101;Cin=0; #10 A = 4'b1111; B = 4'b0110;Cin=0; #10 A = 4'b1111; B = 4'b0111;Cin=0; #10 A = 4'b1111; B = 4'b1000;Cin=0; #10 A = 4'b1111; B = 4'b1001;Cin=0; #10 A = 4'b1111; B = 4'b1010;Cin=0; #10 A = 4'b1111; B = 4'b1011;Cin=0; #10 A = 4'b1111; B = 4'b1100;Cin=0; #10 A = 4'b1111; B = 4'b1101;Cin=0; #10 A = 4'b1111; B = 4'b1110;Cin=0; #10 A = 4'b1111; B = 4'b1111;Cin=0; #10 A = 4'b0000; B = 4'b0000;Cin=1; #10 A = 4'b0000; B = 4'b0001;Cin=1; #10 A = 4'b0000; B = 4'b0010;Cin=1; #10 A = 4'b0000; B = 4'b0011;Cin=1; #10 A = 4'b0000; B = 4'b0100;Cin=1; #10 A = 4'b0000; B = 4'b0101;Cin=1; #10 A = 4'b0000; B = 4'b0110;Cin=1; #10 A = 4'b0000; B = 4'b0111;Cin=1; #10 A = 4'b0000; B = 4'b1000;Cin=1; #10 A = 4'b0000; B = 4'b1001;Cin=1; #10 A = 4'b0000; B = 4'b1010;Cin=1; #10 A = 4'b0000; B = 4'b1011;Cin=1; #10 A = 4'b0000; B = 4'b1100;Cin=1; #10 A = 4'b0000; B = 4'b1101;Cin=1; #10 A = 4'b0000; B = 4'b1110;Cin=1; #10 A = 4'b0000; B = 4'b1111;Cin=1; #10 A = 4'b0001; B = 4'b0000;Cin=1; #10 A = 4'b0001; B = 4'b0001;Cin=1; #10 A = 4'b0001; B = 4'b0010;Cin=1; #10 A = 4'b0001; B = 4'b0011;Cin=1; #10 A = 4'b0001; B = 4'b0100;Cin=1; #10 A = 4'b0001; B = 4'b0101;Cin=1; #10 A = 4'b0001; B = 4'b0110;Cin=1; #10 A = 4'b0001; B = 4'b0111;Cin=1; #10 A = 4'b0001; B = 4'b1000;Cin=1; #10 A = 4'b0001; B = 4'b1001;Cin=1; #10 A = 4'b0001; B = 4'b1010;Cin=1; #10 A = 4'b0001; B = 4'b1011;Cin=1; #10 A = 4'b0001; B = 4'b1100;Cin=1; #10 A = 4'b0001; B = 4'b1101;Cin=1; #10 A = 4'b0001; B = 4'b1110;Cin=1; #10 A = 4'b0001; B = 4'b1111;Cin=1; #10 A = 4'b0010; B = 4'b0000;Cin=1; #10 A = 4'b0010; B = 4'b0001;Cin=1; #10 A = 4'b0010; B = 4'b0010;Cin=1; #10 A = 4'b0010; B = 4'b0011;Cin=1; #10 A = 4'b0010; B = 4'b0100;Cin=1; #10 A = 4'b0010; B = 4'b0101;Cin=1; #10 A = 4'b0010; B = 4'b0110;Cin=1; #10 A = 4'b0010; B = 4'b0111;Cin=1; #10 A = 4'b0010; B = 4'b1000;Cin=1; #10 A = 4'b0010; B = 4'b1001;Cin=1; #10 A = 4'b0010; B = 4'b1010;Cin=1; #10 A = 4'b0010; B = 4'b1011;Cin=1; #10 A = 4'b0010; B = 4'b1100;Cin=1; #10 A = 4'b0010; B = 4'b1101;Cin=1; #10 A = 4'b0010; B = 4'b1110;Cin=1; #10 A = 4'b0010; B = 4'b1111;Cin=1; #10 A = 4'b0011; B = 4'b0000;Cin=1; #10 A = 4'b0011; B = 4'b0001;Cin=1; #10 A = 4'b0011; B = 4'b0010;Cin=1; #10 A = 4'b0011; B = 4'b0011;Cin=1; #10 A = 4'b0011; B = 4'b0100;Cin=1; #10 A = 4'b0011; B = 4'b0101;Cin=1; #10 A = 4'b0011; B = 4'b0110;Cin=1; #10 A = 4'b0011; B = 4'b0111;Cin=1; #10 A = 4'b0011; B = 4'b1000;Cin=1; #10 A = 4'b0011; B = 4'b1001;Cin=1; #10 A = 4'b0011; B = 4'b1010;Cin=1; #10 A = 4'b0011; B = 4'b1011;Cin=1; #10 A = 4'b0011; B = 4'b1100;Cin=1; #10 A = 4'b0011; B = 4'b1101;Cin=1; #10 A = 4'b0011; B = 4'b1110;Cin=1; #10 A = 4'b0011; B = 4'b1111;Cin=1; #10 A = 4'b0100; B = 4'b0000;Cin=1; #10 A = 4'b0100; B = 4'b0001;Cin=1; #10 A = 4'b0100; B = 4'b0010;Cin=1; #10 A = 4'b0100; B = 4'b0011;Cin=1; #10 A = 4'b0100; B = 4'b0100;Cin=1; #10 A = 4'b0100; B = 4'b0101;Cin=1; #10 A = 4'b0100; B = 4'b0110;Cin=1; #10 A = 4'b0100; B = 4'b0111;Cin=1; #10 A = 4'b0100; B = 4'b1000;Cin=1; #10 A = 4'b0100; B = 4'b1001;Cin=1; #10 A = 4'b0100; B = 4'b1010;Cin=1; #10 A = 4'b0100; B = 4'b1011;Cin=1; #10 A = 4'b0100; B = 4'b1100;Cin=1; #10 A = 4'b0100; B = 4'b1101;Cin=1; #10 A = 4'b0100; B = 4'b1110;Cin=1; #10 A = 4'b0100; B = 4'b1111;Cin=1; #10 A = 4'b0101; B = 4'b0000;Cin=1; #10 A = 4'b0101; B = 4'b0001;Cin=1; #10 A = 4'b0101; B = 4'b0010;Cin=1; #10 A = 4'b0101; B = 4'b0011;Cin=1; #10 A = 4'b0101; B = 4'b0100;Cin=1; #10 A = 4'b0101; B = 4'b0101;Cin=1; #10 A = 4'b0101; B = 4'b0110;Cin=1; #10 A = 4'b0101; B = 4'b0111;Cin=1; #10 A = 4'b0101; B = 4'b1000;Cin=1; #10 A = 4'b0101; B = 4'b1001;Cin=1; #10 A = 4'b0101; B = 4'b1010;Cin=1; #10 A = 4'b0101; B = 4'b1011;Cin=1; #10 A = 4'b0101; B = 4'b1100;Cin=1; #10 A = 4'b0101; B = 4'b1101;Cin=1; #10 A = 4'b0101; B = 4'b1110;Cin=1; #10 A = 4'b0101; B = 4'b1111;Cin=1; #10 A = 4'b0110; B = 4'b0000;Cin=1; #10 A = 4'b0110; B = 4'b0001;Cin=1; #10 A = 4'b0110; B = 4'b0010;Cin=1; #10 A = 4'b0110; B = 4'b0011;Cin=1; #10 A = 4'b0110; B = 4'b0100;Cin=1; #10 A = 4'b0110; B = 4'b0101;Cin=1; #10 A = 4'b0110; B = 4'b0110;Cin=1; #10 A = 4'b0110; B = 4'b0111;Cin=1; #10 A = 4'b0110; B = 4'b1000;Cin=1; #10 A = 4'b0110; B = 4'b1001;Cin=1; #10 A = 4'b0110; B = 4'b1010;Cin=1; #10 A = 4'b0110; B = 4'b1011;Cin=1; #10 A = 4'b0110; B = 4'b1100; Cin=1;#10 A = 4'b0110; B = 4'b1101;Cin=1; #10 A = 4'b0110; B = 4'b1110;Cin=1; #10 A = 4'b0110; B = 4'b1111;Cin=1; #10 A = 4'b0111; B = 4'b0000;Cin=1; #10 A = 4'b0111; B = 4'b0001;Cin=1; #10 A = 4'b0111; B = 4'b0010;Cin=1; #10 A = 4'b0111; B = 4'b0011;Cin=1; #10 A = 4'b0111; B = 4'b0100;Cin=1; #10 A = 4'b0111; B = 4'b0101;Cin=1; #10 A = 4'b0111; B = 4'b0110;Cin=1; #10 A = 4'b0111; B = 4'b0111;Cin=1; #10 A = 4'b0111; B = 4'b1000;Cin=1; #10 A = 4'b0111; B = 4'b1001;Cin=1; #10 A = 4'b0111; B = 4'b1010;Cin=1; #10 A = 4'b0111; B = 4'b1011;Cin=1; #10 A = 4'b0111; B = 4'b1100;Cin=1; #10 A = 4'b0111; B = 4'b1101;Cin=1; #10 A = 4'b0111; B = 4'b1110;Cin=1; #10 A = 4'b0111; B = 4'b1111;Cin=1; #10 A = 4'b1000; B = 4'b0000;Cin=1; #10 A = 4'b1000; B = 4'b0001;Cin=1; #10 A = 4'b1000; B = 4'b0010;Cin=1; #10 A = 4'b1000; B = 4'b0011;Cin=1; #10 A = 4'b1000; B = 4'b0100;Cin=1; #10 A = 4'b1000; B = 4'b0101;Cin=1; #10 A = 4'b1000; B = 4'b0110;Cin=1; #10 A = 4'b1000; B = 4'b0111;Cin=1; #10 A = 4'b1000; B = 4'b1000;Cin=1; #10 A = 4'b1000; B = 4'b1001;Cin=1; #10 A = 4'b1000; B = 4'b1010;Cin=1; #10 A = 4'b1000; B = 4'b1011;Cin=1; #10 A = 4'b1000; B = 4'b1100;Cin=1; #10 A = 4'b1000; B = 4'b1101;Cin=1; #10 A = 4'b1000; B = 4'b1110;Cin=1; #10 A = 4'b1000; B = 4'b1111;Cin=1; #10 A = 4'b1001; B = 4'b0000;Cin=1; #10 A = 4'b1001; B = 4'b0001;Cin=1; #10 A = 4'b1001; B = 4'b0010;Cin=1; #10 A = 4'b1001; B = 4'b0011;Cin=1; #10 A = 4'b1001; B = 4'b0100;Cin=1; #10 A = 4'b1001; B = 4'b0101;Cin=1; #10 A = 4'b1001; B = 4'b0110;Cin=1; #10 A = 4'b1001; B = 4'b0111;Cin=1; #10 A = 4'b1001; B = 4'b1000;Cin=1; #10 A = 4'b1001; B = 4'b1001;Cin=1; #10 A = 4'b1001; B = 4'b1010;Cin=1; #10 A = 4'b1001; B = 4'b1011;Cin=1; #10 A = 4'b1001; B = 4'b1100;Cin=1; #10 A = 4'b1001; B = 4'b1101;Cin=1; #10 A = 4'b1001; B = 4'b1110;Cin=1; #10 A = 4'b1001; B = 4'b1111;Cin=1; #10 A = 4'b1010; B = 4'b0000;Cin=1; #10 A = 4'b1010; B = 4'b0001;Cin=1; #10 A = 4'b1010; B = 4'b0010;Cin=1; #10 A = 4'b1010; B = 4'b0011;Cin=1; #10 A = 4'b1010; B = 4'b0100;Cin=1; #10 A = 4'b1010; B = 4'b0101;Cin=1; #10 A = 4'b1010; B = 4'b0110;Cin=1; #10 A = 4'b1010; B = 4'b0111;Cin=1; #10 A = 4'b1010; B = 4'b1000;Cin=1; #10 A = 4'b1010; B = 4'b1001;Cin=1; #10 A = 4'b1010; B = 4'b1010;Cin=1; #10 A = 4'b1010; B = 4'b1011;Cin=1; #10 A = 4'b1010; B = 4'b1100;Cin=1; #10 A = 4'b1010; B = 4'b1101; Cin=1;#10 A = 4'b1010; B = 4'b1110;Cin=1; #10 A = 4'b1010; B = 4'b1111;Cin=1; #10 A = 4'b1011; B = 4'b0000;Cin=1; #10 A = 4'b1011; B = 4'b0001;Cin=1; #10 A = 4'b1011; B = 4'b0010;Cin=1; #10 A = 4'b1011; B = 4'b0011;Cin=1; #10 A = 4'b1011; B = 4'b0100;Cin=1; #10 A = 4'b1011; B = 4'b0101;Cin=1; #10 A = 4'b1011; B = 4'b0110;Cin=1; #10 A = 4'b1011; B = 4'b0111;Cin=1; #10 A = 4'b1011; B = 4'b1000;Cin=1; #10 A = 4'b1011; B = 4'b1001;Cin=1; #10 A = 4'b1011; B = 4'b1010;Cin=1; #10 A = 4'b1011; B = 4'b1011;Cin=1; #10 A = 4'b1011; B = 4'b1100;Cin=1; #10 A = 4'b1011; B = 4'b1101;Cin=1; #10 A = 4'b1011; B = 4'b1110;Cin=1; #10 A = 4'b1011; B = 4'b1111;Cin=1; #10 A = 4'b1100; B = 4'b0000;Cin=1; #10 A = 4'b1100; B = 4'b0001;Cin=1; #10 A = 4'b1100; B = 4'b0010;Cin=1; #10 A = 4'b1100; B = 4'b0011;Cin=1; #10 A = 4'b1100; B = 4'b0100;Cin=1; #10 A = 4'b1100; B = 4'b0101;Cin=1; #10 A = 4'b1100; B = 4'b0110;Cin=1; #10 A = 4'b1100; B = 4'b0111;Cin=1; #10 A = 4'b1100; B = 4'b1000;Cin=1; #10 A = 4'b1100; B = 4'b1001;Cin=1; #10 A = 4'b1100; B = 4'b1010;Cin=1; #10 A = 4'b1100; B = 4'b1011;Cin=1; #10 A = 4'b1100; B = 4'b1100;Cin=1; #10 A = 4'b1100; B = 4'b1101;Cin=1; #10 A = 4'b1100; B = 4'b1110;Cin=1; #10 A = 4'b1100; B = 4'b1111;Cin=1; #10 A = 4'b1101; B = 4'b0000;Cin=1; #10 A = 4'b1101; B = 4'b0001;Cin=1; #10 A = 4'b1101; B = 4'b0010;Cin=1; #10 A = 4'b1101; B = 4'b0011;Cin=1; #10 A = 4'b1101; B = 4'b0100;Cin=1; #10 A = 4'b1101; B = 4'b0101;Cin=1; #10 A = 4'b1101; B = 4'b0110;Cin=1; #10 A = 4'b1101; B = 4'b0111;Cin=1; #10 A = 4'b1101; B = 4'b1000;Cin=1; #10 A = 4'b1101; B = 4'b1001;Cin=1; #10 A = 4'b1101; B = 4'b1010;Cin=1; #10 A = 4'b1101; B = 4'b1011;Cin=1; #10 A = 4'b1101; B = 4'b1100;Cin=1; #10 A = 4'b1101; B = 4'b1101;Cin=1; #10 A = 4'b1101; B = 4'b1110;Cin=1; #10 A = 4'b1101; B = 4'b1111;Cin=1; #10 A = 4'b1110; B = 4'b0000;Cin=1; #10 A = 4'b1110; B = 4'b0001;Cin=1; #10 A = 4'b1110; B = 4'b0010;Cin=1; #10 A = 4'b1110; B = 4'b0011;Cin=1; #10 A = 4'b1110; B = 4'b0100;Cin=1; #10 A = 4'b1110; B = 4'b0101;Cin=1; #10 A = 4'b1110; B = 4'b0110;Cin=1; #10 A = 4'b1110; B = 4'b0111;Cin=1; #10 A = 4'b1110; B = 4'b1000;Cin=1; #10 A = 4'b1110; B = 4'b1001;Cin=1; #10 A = 4'b1110; B = 4'b1010;Cin=1; #10 A = 4'b1110; B = 4'b1011;Cin=1; #10 A = 4'b1110; B = 4'b1100;Cin=1; #10 A = 4'b1110; B = 4'b1101;Cin=1; #10 A = 4'b1110; B = 4'b1110;Cin=1; #10 A = 4'b1110; B = 4'b1111;Cin=1; #10 A = 4'b1111; B = 4'b0000;Cin=1; #10 A = 4'b1111; B = 4'b0001;Cin=1; #10 A = 4'b1111; B = 4'b0010;Cin=1; #10 A = 4'b1111; B = 4'b0011;Cin=1; #10 A = 4'b1111; B = 4'b0100;Cin=1; #10 A = 4'b1111; B = 4'b0101;Cin=1; #10 A = 4'b1111; B = 4'b0110;Cin=1; #10 A = 4'b1111; B = 4'b0111;Cin=1; #10 A = 4'b1111; B = 4'b1000;Cin=1; #10 A = 4'b1111; B = 4'b1001;Cin=1; #10 A = 4'b1111; B = 4'b1010;Cin=1; #10 A = 4'b1111; B = 4'b1011;Cin=1; #10 A = 4'b1111; B = 4'b1100;Cin=1; #10 A = 4'b1111; B = 4'b1101;Cin=1; #10 A = 4'b1111; B = 4'b1110;Cin=1; #10 A = 4'b1111; B = 4'b1111;Cin=1; end endmodule ## QUESTION 3 `code` module multiplexer(i1,i2,s,o); input i1; input i2; input s; output o; wire x,y,not_s; not(not_s,s); and(x,i1,s); and(y,i2,not_s); or(o,x,y); endmodule ### testbench `code` module multiplexer_TB(); reg i1,i2,s; wire o; multiplexer(.i1(i1),.i2(i2),.s(s),.o(o)); initial begin i1=0;i2=0;s=0; i1=0;i2=0;s=1; i1=0;i2=1;s=0; i1=0;i2=1;s=1; i1=1;i2=0;s=0; i1=1;i2=0;s=1; i1=1;i2=1;s=0; i1=1;i2=1;s=1; end endmodule