Professional Documents
Culture Documents
22BCP367 DECO Assignment 3
22BCP367 DECO Assignment 3
1. Write a Verilog code to implement AND, OR, XOR, NOR, NAND and XNOR
gates. Write the corresponding Testbench code for the verification of your Verilog
code.
A) AND gate
Design.sv
module and_gate(input a,b, output y);
assign y= a & b;
endmodule
testbench.sv
module tb_and_gate
reg A, B;
wire Y
and_gate a1 (.a(A), .b(B), .y(Y));
initial
begin
A=0; B=0; #5;
A=0; B=1; #5;
A=1; B=0; #5;
A=1; B=1; #5;
end
initial
begin
$dumpfile("dump.vcd");
$dumpvars(1);
end
endmodule
OUTPUT
B)OR gate
Design.sv
initial
begin
A=0; B=0; #5;
A=0; B=1; #5;
A=1; B=0; #5;
A=1; B=1; #5;
end
initial
begin
$dumpfile("dump.vcd");
$dumpvars(1);
end
endmodule
OUTPUT
B)NOR gate
Smit Patel D5(G10) 22BCP367
Lab Assignment 3
20CP203P-Digital Electronics &Computer Organization Lab
Design.sv
testbench.sv
module tb_nor_gate;
reg A,B;
wire y;
nor_gate a1 (.a(A), .b(B), .y(Y));
initial
begin
A=0; B=0; #5;
A=0; B=1; #5;
A=1; B=0; #5;
A=1; B=1; #5;
end
initial
begin
$dumpfile("dump.vcd");
$dumpvars(1);
end
endmodule
OUTPUT
B)XOR gate
Design.sv
initial
begin
A=0; B=0; #5;
A=0; B=1; #5;
A=1; B=0; #5;
A=1; B=1; #5;
end
initial
begin
$dumpfile("dump.vcd");
$dumpvars(1);
end
endmodule
OUTPUT
B)NAND gate
Design.sv
Smit Patel D5(G10) 22BCP367
Lab Assignment 3
20CP203P-Digital Electronics &Computer Organization Lab
testbench.sv
module tb_nand_gate;
reg A,B;
wire y;
nand_gate a1 (.a(A), .b(B), .y(Y));
initial
begin
A=0; B=0; #5;
A=0; B=1; #5;
A=1; B=0; #5;
A=1; B=1; #5;
end
initial
begin
$dumpfile("dump.vcd");
$dumpvars(1);
end
endmodule
OUTPUT
B)XNOR gate
Design.sv
initial
begin
A=0; B=0; #5;
A=0; B=1; #5;
A=1; B=0; #5;
A=1; B=1; #5;
end
initial
begin
$dumpfile("dump.vcd");
$dumpvars(1);
end
endmodule
OUTPUT