Verilog Full Adder
Verilog Full Adder
Submitted by:
• Muhammad Mohsin Khan
(CMS ID: 505636)
• Shahab Khan
(CMS ID: 508429)
• Eyesha tur radia
(CMS ID: 519787)
CE-46B
Submitted to:
• Dr. Asad Mansoor Khan
Application of ICT lab report #11
OBJECTIVES:
The purpose of this lab was to learn the basics of varilog by designing full-adder and
comparator
TASK #01
CODE:
module full_adder(a,b,c_in,sum,c_out);
input a,b,c_in;
output sum,c_out;
01
Application of ICT lab report #11
wire s1,s2,c1;
assign c1 = a & b;
endmodule
TEST BENCH:
MODULE TB _ FULL _ ADDER ;
// I NPUTS
REG A ;
REG B ;
REG C_ IN ;
// O UTPUTS
WIRE SUM ;
WIRE C _ OUT;
02
Application of ICT lab report #11
. A( A),
. B( B),
. C_ IN( C_ IN),
. SUM( SUM),
. C_ OUT( C_OUT)
);
INITIAL BEGIN
// I NITIALIZE I NPUTS
A = 0;
B = 0;
C _ IN = 0;
#100;
// A DD STIMULUS HERE
A = 1;
B = 1;
C _ IN = 1;
#30;
A = 0;
B = 1;
C _ IN = 0;
#30;
03
Application of ICT lab report #11
A = 1;
B = 0;
C _ IN = 1;
#30;
END
ENDMODULE
OUTPUT:
04
Application of ICT lab report #11
TASK #02:
CODE:
module q2(a,b,o1,o2,o3); //getting module
05
Application of ICT lab report #11
endmodule
TEST BENCH:
module tb_q2;
// Inputs
reg a;
reg b;
// Outputs
wire o1;
wire o2;
wire o3;
q2 uut (
.a(a),
.b(b),
.o1(o1),
.o2(o2),
06
Application of ICT lab report #11
.o3(o3)
);
initial begin
// Initialize Inputs
a = 0;
b = 0;
#100;
// Initialize Inputs
a = 1;
b = 0;
#100;
// Initialize Inputs
a = 0;
b = 1;
#100;
07
Application of ICT lab report #11
end
endmodule
OUTPUT:
CONCLUSION:
08