Vlsi Record
Vlsi Record
Vlsi Record
AIM :
To design all logic gates.
To write the Verilog HDL code for the realization of logic gates circuits.
To write the test bench and simulate the design in Xilinx ISE environment for
verifying its functionality.
To synthesize the design, implement it on Artix7 FPGA kit and verify its
functionality.
Apparatus :
Computer System
Xilinx ISE Design Suite 23.2 Tool (ISE Simulator, XST)
Artix7 FPGA Boards
Logic Diagram :
AND GATE : TRUTH TABLE
1
21311A04H9
Experimental Procedure :
1. Write a Verilog program for the design of Logic Gate Functionalities
2. Write the test bench program for the given design.
3. Simulate the design using Xilinx ISim Simulator and verify its functionality.
4. Synthesize the design using Xilinx XST tool.
5. Obtain the RTL schematic and Technology schematic diagrams.
6. Assign pin packages using PlanAhead as per given in the evaluation board
(Artix7 FPGA).
7. Create Timing constraints for the design.
8. Implement the design with the user constraints specified in step 6 and 7.
9. Properly connect the FPGA evaluation board to the PC.
10. Generate the FPGA bitmap file and configure the device using iMPACT tool.
11. Verify the functionality of the design in the FPGA Board.
Verilog Source Code:
module logicgates (x,y,A,B,C,D,E,F,G); // Starting of module //
input x,y; // Input variables //
output A,B,C,D,E,F,G; // Output variables //
assign A= ~x;
assign B= x&y;
assign C= x|y;
assign D= ~(x&y);
assign E= ~(x|y);
assign F= x^y;
assign G= ~(x^y);
endmodule // End of module //
2
21311A04H9
RTL Schematic :
Technology Schematic
3
21311A04H9
Simulated Waveforms:
Synthesis Reports :
Final Report
Result :
The design of a Logic gates circuit is obtained and simulated using Verilog HDL in
Xilinx ISE environment. The design is then synthesized, implemented Artix7 FPGA
kit and its functionality is verified.
4
21311A04H9
Experiment 2 : ADDER’S
Aim:
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
A B C SUM CARRY
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Parallel Adder
5
21311A04H9
Experimental Procedure :
1. Write the Verilog source code for the design.
2. Write the testbench program for the given design.
3. Simulate the design using Xilinx ISim Simulator and verify its
functionality.
4. Synthesize the design using Xilinx XST tool.
5. Obtain the RTL schematic and Technology schematic diagrams.
6. Assign pin packages using PlanAhead as per given in the evaluation board
(Artix7 FPGA).
7. Create Timing constraints for the design.
8. Implement the design with the user constraints specified in step 6 and 7.
9. Properly connect the FPGA evaluation board to the PC.
10. Generate the FPGA bitmap file and configure the device using iMPACT
tool.
11. Verify the functionality of the design in the FPGA Board.
Verilog Source Code :
module hadder(A,B,S,C); // Starting of module //
input A,B; // Declaring Input
Variables //
output S,C; // Declaring Output
Variables //
assign S=(A^B); // Assigning the vales of logical
operations //
assign C=(A&B);
endmodule
Verilog Testbench Code :
module hadder_tb;
// Inputs
reg A;
reg B;
// Outputs
wire S;
wire C;
// instantiate the unit under test (uut)
ha uut (.a(a), .b(b), .s(s), .c(c));
initial
begin
// initialize inputs
#100 A=0; B=0;
#100 A=0; B=1;
#100 A=1; B=0;
#100 A=1; B=1;
end
end module
6
21311A04H9
Simulated Waveform :
RTL Schematic :
Tecchnology Schematic :
7
21311A04H9
Synthesis Report :
Final Report
Full Adder
module fadder(A,B,C,S,C0);
input A,B,C;
output S,C0;
assign C0=(A&B)|(B&C)|(C&A);
assign S=(A^B^C);
endmodule
module fadder_tb;
//Inputs
reg A;
reg B;
reg C;
//Outputs
8
21311A04H9
Wire S;
Wire C0;
//instantiate the unit under test
fa uut (.a(a), .b(b), .s(s), .c0(c0));
initial
begin
// initialize inputs
#100 A=0;B=0;C=0;
#100 A=0;B=0;C=1;
#100 A=0;B=1;C=0;
#100 A=0;B=1;C=1;
#100 A=1;B=0;C=0;
#100 A=1;B=0;C=1;
#100 A=1;B=1;C=0;
#100 A=1;B=1;C=1;
end
endmodule
RTL Schematic :
Technology Schematic :
9
21311A04H9
Simulated Waveform :
Synthesis Report :
Final Report
PARALLEL ADDER :
10
21311A04H9
wire c0,c1,c2;
FA f1(a[0],b[0],c,s[0],c0);
FA f2(a[1],b[1],c,s[1],c1);
FA f3(a[2],b[2],c,s[2],c2);
FA f4(a[3],b[3],c,s[3],c3);
endmodule
module pa_tb;
reg [3:0] a;
reg [3:0] b;
reg cin;
wire cout;
wire [3:0] s;
padder uut (.a(a), .b(b), .cin(cin), .cout(cout), .s(s));
initial
begin
a [3:0]=4’b0000;b [3:0] = 4’b0000;cin = 1’b0;
#100 a[3:0]=4'b1011;b[3:0]=4'b1000;cin=1'b0;
end
endmodule
RTL Schematic :
11
21311A04H9
Technology Schematic :
Simulated Waveform :
Synthesis Report :
Final Report
12
21311A04H9
Result :
The design of half adder, full adder and parallel adder is obtained and simulated using
Verilog HDL in Xilinx ISE environment. The design is then synthesized,
implemented in Spartan3E FPGA kit and its functionality is verified.
13
21311A04H9
Aim :
To design a 8*3 encoder and 3*8 decoder circuit.
To write the Verilog HDL code for the realization of 8*3 encoder and 3*8
decoder circuits.
To write the testbench and simulate the design in Xilinx ISE environment for
verifying its functionality.
To synthesize the design, implement it on Spartan3 FPGA kit and verify its
functionality.
Apparatus :
PC
Xilinx ISE Design Suite 23.2 Tool (ISE Simulator, XST)
Artix 7E FPGA Boards
Logic Diagram :
Encoder
8 to3
encoder
Decoder
14
21311A04H9
Experimental Procedure :
1. Write the Verilog source code for the design.
2. Write the testbench program for the given design.
3. Simulate the design using Xilinx ISim Simulator and verify its
functionality.
4. Synthesize the design using Xilinx XST tool.
5. Obtain the RTL schematic and Technology schematic diagrams.
6. Assign pin packages using PlanAhead as per given in the evaluation
board (Artix 7 FPGA).
7. Create Timing constraints for the design.
8. Implement the design with the user constraints specified in step 6 and 7.
9. Properly connect the FPGA evaluation board to the PC.
10. Generate the FPGA bitmap file and configure the device using iMPACT
tool.
11. Verify the functionality of the design in the FPGA Board.
Encoder
module encoder(a,b,c,d,e,f,g,h,x,y,z);
input a,b,c,d,e,f,g,h;
output x,y,z;
assign x=(e|f|g|h);
assign y=(c|d|g|h);
15
21311A04H9
assign z=(b|d|f|h);
endmodule
Encoder
module encoder_tb;
reg a;reg b;reg c;reg d;reg e;reg f;reg g;reg h;
wire x;wire y;wire z;
encoder uut (.a(a), .b(b), .c(c), .d(d), .e(e), .f(f), .g(g), .h(h), .x(x), .y(y), .z(z));
initial
begin
#100 a = 0;b = 0;c = 0;d = 0;e = 0;f = 0;g = 0;h = 0;
#100 a = 1;b = 0;c = 0;d = 0;e = 0;f = 0;g = 0;h = 0;
#100 a = 0;b = 1;c = 0;d = 0;e = 0;f = 0;g = 0;h = 0;
#100 a = 0;b = 0;c = 1;d = 0;e = 0;f = 0;g = 0;h = 0;
#100 a = 0;b = 0;c = 0;d = 1;e = 0;f = 0;g = 0;h = 0;
#100 a = 0;b = 0;c = 0;d = 0;e = 1;f = 0;g = 0;h = 0;
#100 a = 0;b = 0;c = 0;d = 0;e = 0;f = 1;g = 0;h = 0;
#100 a = 0;b = 0;c = 0;d = 0;e = 0;f = 0;g = 1;h = 0;
#100 a = 0;b = 0;c = 0;d = 0;e = 0;f = 0;g = 0;h = 1;
end
endmodule
RTL Schematic :
Encoder
16
21311A04H9
Technology Schematic :
Simulated Waveform :
Synthesis Reports :
Final Report
17
21311A04H9
Decoder
module decoder(a,b,c,d,e,f,g,h,x,y,z);
input x,y,z;
output a,b,c,d,e,f,g,h;
assign a=(~x)&(~y)&(~z);
assign b=(~x)&(~y)&(z);
assign c=(~x)&(y)&(~z);
assign d=(~x)&(y)&(z);
assign e=(x)&(~y)&(~z);
assign f=(x)&(~y)&(z);
assign g=(x)&(y)&(~z);
assign h=(x)&(y)&(z);
endmodule
module decoder_tb;
reg x; reg y; reg z;
wire a; wire b; wire c; wire d; wire e; wire f; wire g; wire h;
decoder uut (.a(a), .b(b), .c(c), .d(d), .e(e), .f(f), .g(g), .h(h), .x(x), .y(y), .z(z));
initial begin
#100 x=0;y=0;z=0;
#100 x=0;y=0;z=1;
#100 x=0;y=1;z=0;
#100 x=0;y=1;z=1;
#100 x=1;y=0;z=0;
#100 x=1;y=0;z=1;
18
21311A04H9
#100 x=1;y=1;z=0;
#100 x=1;y=1;z=1;
end
endmodule
RTL Schematic :
Technology Schematic :
19
21311A04H9
Simulated Waveform:
Synthesis Report :
Final report
Result :
The design of a encoder and decoder circuit is obtained and simulated using Verilog
HDL in Xilinx ISE environment. The design is then synthesized, implemented in
Spartan3 FPGA kit and its functionality is verified.
20
21311A04H9
Aim :
To design a 8X1 multiplexer and 1X8 demultiplexer circuit.
To write the Verilog HDL code for the realization of 8X1 multiplexer and 1X8
demultiplexer circuit .
To write the test bench and simulate the design in Xilinx ISE environment for
verifying its functionality.
To synthesize the design, implement it on Spartan3 FPGA kit and verify its
functionality.
Apparatus :
PC
Xilinx ISE Design Suite 23.2 Tool (ISE Simulator, XST)
Artix 7E FPGA Boards
21
21311A04H9
Experimental Procedure :
8x1 Multiplexer
module demux18(
input i, x, y, z,
output a, b, c, d, e, f, g, h);
assign a=(~x)&(~y)&(~z)&i;
22
21311A04H9
assign b=(~x)&(~y)&(z)&i;
assign c=(~x)&(y)&(~z)&i;
assign d=(~x)&(y)&(z)&i;
assign e=(x)&(~y)&(~z)&i;
assign f=(x)&(~y)&(z)&i;
assign g=(x)&(y)&(~z)&i;
assign h=(x)&(y)&(z)&i;
endmodule
RTL Schematic :
Technology Schematic :
23
21311A04H9
Simulated Waveform :
Sythensis Report :
Final Report
24
21311A04H9
1x8 Demultiplexer :
module demux18_tb;
reg i; reg x; reg y; reg z;
wire a; wire b; wire c; wire d; wire e; wire f; wire g; wire h;
demux18 uut (.i(i),.x(x),.y(y),.z(z),.a(a),.b(b),.c(c), .d(d),.e(e),.f(f),.g(g),.h(h));
initial begin
i = 1;
x = 0; y = 0; z = 0;
#100; x = 0; y = 0; z = 1;
#100; x = 0; y = 1; z = 0;
#100; x = 0; y = 1; z = 1;
#100; x = 1; y = 0; z = 0;
#100; x = 1; y = 0; z = 1;
#100; x = 1; y = 1; z = 0;
#100; x = 1; y = 1; z = 1;
end
endmodule
RTL Schematic :
25
21311A04H9
Technology Schematic :
Simulated Waveform :
26
21311A04H9
Synthesis Report
Final Report
Result :
The design of a 8X1 multiplexer and 1X8 demultiplexer circuit is obtained and
simulated using Verilog HDL in Xilinx ISE environment. The design is then
synthesized, implemented in Spartan3 FPGA kit and its functionality is
verified.
27
21311A04H9
Aim :
To design a D flip-flop circuit.
To write the Verilog HDL code for the realization of D flip-flop circuit .
To write the testbench and simulate the design in Xilinx ISE environment for
verifying its functionality.
To synthesize the design, implement it on Atrix7 FPGA kit and verify its
functionality.
Apparatus :
PC
Xilinx ISE Design Suite 23.2 Tool (ISE Simulator, XST)
Atrix 7 FPGA (Bayes) Boards
Logic Diagram :
Truth Table :
CLK D Q
0 X LAST STATE
1 0 0
1 1 1
Experimental Procedure :
1. Write the Verilog source code for the design.
2. Write the testbench program for the given design.
3. Simulate the design using Xilinx ISim Simulator and verify its functionality.
4. Synthesize the design using Xilinx XST tool.
5. Obtain the RTL schematic and Technology schematic diagrams.
6. Assign pin packages using PlanAhead as per given in the evaluation board (Artix 7
FPGA).
7. Create Timing constraints for the design.
8. Implement the design with the user constraints specified in step 6 and 7.
9. Properly connect the FPGA evaluation board to the PC.
10. Generate the FPGA bitmap file and configure the device using iMPACT tool.
11. Verify the functionality of the design in the FPGA Board.
28
21311A04H9
module dff_tb;
reg d;
reg clk;
reg rst;
wire q;
dff_tb uut (.d(d), .clk(clk), .rst(rst), .q(q));
initial begin
d=0;clk=0;rst=0;
forever
#50 clk=~clk;
end
initial begin
#100 d = 0;rst = 0;
#100 d = 1;rst = 0;
#100 d = 0;rst = 1;
#100 d = 1;rst = 0;
end
endmodule
RTL Schematic :
29
21311A04H9
Technology Schematic :
Simulated Waveform :
Synthesis Report
Final Report
30
21311A04H9
Result:
The design of a D flip-flop circuit is obtained and simulated using Verilog HDL in
Xilinx ISE environment. The design is then synthesized, implemented in Atrix 7
FPGA kit and its functionality is verified.
Aim :
To design a Tflip-flop circuit.
To write the Verilog HDL code for the realization of T flip-flop circuit .
To write the testbench and simulate the design in Xilinx ISE environment for
verifying its functionality.
To synthesize the design, implement it on Atrix7 FPGA kit and verify its
functionality.
Apparatus :
PC
Xilinx ISE Design Suite 23.2 Tool (ISE Simulator, XST)
Atrix 7 FPGA (Bayes) Boards
Logic Diagram :
Truth Table :
31
21311A04H9
Experimental Procedure :
1.Write the Verilog source code for the design.
2. Write the testbench program for the given design.
3. Simulate the design using Xilinx ISim Simulator and verify its functionality.
4.Synthesize the design using Xilinx XST tool.
5.Obtain the RTL schematic and Technology schematic diagrams.
6. Assign pin packages using PlanAhead as per given in the evaluation board (Artix 7
FPGA).
7.Create Timing constraints for the design.
8.Implement the design with the user constraints specified in step 6 and 7.
9.Properly connect the FPGA evaluation board to the PC.
10.Generate the FPGA bitmap file and configure the device using iMPACT tool.
11.Verify the functionality of the design in the FPGA Board.
Verilog Source Code :
module t_ff(
input t,
input clk,
input rst,
output reg q
);
always @ (posedge clk)
if (~rst) begin
q <= 1'b0;
end else if (t) begin
q <= !q;
ends
endmodule
module t_ff_tb;
reg t;
reg clk;
reg rst;
wire q;
t_ff uut (.t(t),.clk(clk),.rst(rst),.q(q));
initial begin
t = 0;clk = 0;rst = 0;
forever
#50 clk=~clk;
end
initial begin
t = 1;rst = 0;#100
t = 0;rst = 1;#100
t = 0;rst = 0;#100
t = 1;rst = 1;#100
#100;
end
endmodule
32
21311A04H9
RTL Schematic :
Technology Schematic :
Simulated Waveforms :
33
21311A04H9
Synthesis Reports :
Final report
Result :
The design of a T flip-flop circuit is obtained and simulated using Verilog in Xilinx
ISE environment. The design is then synthesized, implemented in Atrix7 FPGA kit
and its functionality is verified.
34
21311A04H9
Aim :
To design a JK flip-flop circuit.
To write the Verilog HDL code for the realization of JKflip-flop circuit .
To write the testbench and simulate the design in Xilinx ISE environment for
verifying its functionality.
To synthesize the design, implement it on Atrix7 FPGA kit and verify its
functionality.
Apparatus :
PC
Xilinx ISE Design Suite 23.2 Tool (ISE Simulator, XST)
Atrix 7 FPGA (Bayes) Boards
Logic Diagram :
Truth Table :
Experimental Procedure :
35
21311A04H9
module jk_ff_tb;
reg [1:0] jk;
reg clk;
reg rst;
wire q;
wire qb;
jk_ff uut (.jk(jk),.clk(clk),.rst(rst),.q(q),.qb(qb));
initial begin
jk = 2'd0;clk = 0;rst = 1;
forever
#50 clk=~clk;
end
initial begin
#100 rst=0;jk = 2'd0;#100;
jk = 2'd1;#100;
jk = 2'd2;#100;
jk = 2'd3;#100;
end
endmodule
36
21311A04H9
RTL Schematic :
Technology Schematic :
Simulated Waveform :
37
21311A04H9
Synthesis Report :
Final Report
Result :
The design of a JK flip-flop circuit is obtained and simulated using Verilog HDL in
Xilinx ISE environment. The design is then synthesized, implemented in Spartan3
FPGA kit and its functionality is verified.
38
21311A04H9
Aim :
To design a SR flip-flop circuit.
To write the Verilog HDL code for the realization of SR flip-flop circuit .
To write the testbench and simulate the design in Xilinx ISE environment for
verifying its functionality.
To synthesize the design, implement it on Atrix7 FPGA kit and verify its
functionality.
Apparatus :
PC
Xilinx ISE Design Suite 23.2 Tool (ISE Simulator, XST)
Atrix 7 FPGA (Bayes) Boards
Logic Diagram :
Truth Table :
Experimental Procedure :
1. Write the Verilog source code for the design.
2. Write the testbench program for the given design.
3. Simulate the design using Xilinx ISim Simulator and verify its functionality.
4. Synthesize the design using Xilinx XST tool.
5. Obtain the RTL schematic and Technology schematic diagrams.
6. Assign pin packages using PlanAhead as per given in the evaluation board (Artix
7 FPGA).
7. Create Timing constraints for the design.
8. Implement the design with the user constraints specified in step 6 and 7.
9. Properly connect the FPGA evaluation board to the PC.
10. Generate the FPGA bitmap file and configure the device using iMPACT tool.
11.Verify the functionality of the design in the FPGA Board.
39
21311A04H9
module sr_ff_tb;
reg [1:0] rs;
reg clk;
reg rst;
wire q;
wire qb;
rs_ff uut (.rs(rs),.clk(clk),.rst(rst),.q(q),.qb(qb));
initial begin
rs = 2'd0;clk = 0;rst = 1;
#50 clk=~clk;
end
initial begin
#100 rst=0;rs = 2'd0;#100;
rs = 2'd1;#100;
rs = 2'd2;#100;
rs = 2'd3;#100;
end
endmodule
RTLSchematic :
40
21311A04H9
Technology Schematic :
Simulated Waveform :
Synthesis Report :
Final Report
41
21311A04H9
Result :
The design of a RS flip-flop circuit is obtained and simulated using Verilog HDL in
Xilinx ISE environment. The design is then synthesized, implemented in Artix
7FPGA kit and its functionality is verified.
42
21311A04H9
Aim :
To design a binary counter circuit.
To write the Verilog HDL code for the realization of Binary counter circuit .
To write the testbench and simulate the design in Xilinx ISE environment for
verifying its functionality.
To synthesize the design, implement it on Atrix7 FPGA kit and verify its
functionality.
Apparatus :
PC
Xilinx ISE Design Suite 23.2Tool (ISE Simulator, XST)
Atrix 7 FPGA (Bayes) Boards
Logic Diagram :
Experimental Procedure :
1. Write the Verilog source code for the design.
2. Write the testbench program for the given design.
3. Simulate the design using Xilinx ISim Simulator and verify its functionality.
4. Synthesize the design using Xilinx XST tool.
5. Obtain the RTL schematic and Technology schematic diagrams.
6. Assign pin packages using PlanAhead as per given in the evaluation board
(Artix 7 FPGA).
7. Create Timing constraints for the design.
8. Implement the design with the user constraints specified in step 6 and 7.
9. Properly connect the FPGA evaluation board to the PC.
10. Generate the FPGA bitmap file and configure the device using iMPACT
tool.
11. Verify the functionality of the design in the FPGA Board.
43
21311A04H9
RTLSchematic :
44
21311A04H9
Technology Schematic :
Simulated Waveform :
Synthesis Report :
Final Report
45
21311A04H9
Result :
The design of a RS flip-flop circuit is obtained and simulated using Verilog HDL in
Xilinx ISE environment. The design is then synthesized, implemented in Artix
7FPGA kit and its functionality is verified.
46
21311A04H9
Aim :
To design a updown counter circuit.
To write the Verilog HDL code for the realization of updown counter circuit .
To write the testbench and simulate the design in Xilinx ISE environment for
verifying its functionality.
To synthesize the design, implement it on Atrix7 FPGA kit and verify its
functionality.
Apparatus :
PC
Xilinx ISE Design Suite Tool (ISE Simulator, XST)
Atrix 7 FPGA (Bayes) Boards
Logic Diagram :
Experimental Procedure :
12. Write the Verilog source code for the design.
13. Write the testbench program for the given design.
14. Simulate the design using Xilinx ISim Simulator and verify its
functionality.
15. Synthesize the design using Xilinx XST tool.
16. Obtain the RTL schematic and Technology schematic diagrams.
17. Assign pin packages using PlanAhead as per given in the evaluation board
(Artix 7 FPGA).
18. Create Timing constraints for the design.
19. Implement the design with the user constraints specified in step 6 and 7.
20. Properly connect the FPGA evaluation board to the PC.
21. Generate the FPGA bitmap file and configure the device using iMPACT
tool.
22. Verify the functionality of the design in the FPGA Board.
47
21311A04H9
module updowncounter(
input updown, clk, rst,
output reg [7:0] out
);
//-------------Code Starts Here----
always @ (posedge clk)
if (rst) begin // active high reset
out <= 8'b0;
end else if (updown) begin
out <= out + 1;
end else begin
out <= out-1;
end
endmodule
module updc_tb;
// Inputs
reg updown;
reg clk;
reg rst;
// Outputs
wire [7:0] out;
// Instantiate the Unit Under Test (UUT)
updowncounter uut (.updown(updown),.c1k(c1k) ,.rst(rst),.out(out));
initial begin
clk=0;
forever begin
#10;
clk=~clk;
end
end
initial begin
updown = 1;rst = 1;#100;
updown = 1;rst=0;#300;
updown = 0;rst=0;#500;
updown = 1;
end
endmodule
48
21311A04H9
RTLSchematic :
Technology Schematic :
Simulated Waveform :
49
21311A04H9
Synthesis Report :
Final Report
Result :
The design of a updown counter circuit is obtained and simulated using Verilog HDL
in Xilinx ISE environment. The design is then synthesized, implemented in Artix
7FPGA kit and its functionality is verified.
50
21311A04H9
51
21311A04H9
52
21311A04H9
53
21311A04H9
54