VLSI
VLSI
RegisterNo:3122223002088
Exp.No:01
Date:
To design and implement the fulladder using structural/behavioural model and verify their
functionality using Nexys A7 FPGA Trainer Kit.
EQUIPMENT/SOFTWARE REQUIRED:
Hardware: Nexys A7 ARTIX-7 100T FPGA with Device Type CSG324 based Trainer Kit
THEORY:
A full adder is a fundamental digital circuit used for adding three binary numbers: two primary bits
and an additional carry-in bit from a previous stage. It outputs two results: the sum and the carry-
out. To determine the sum, the circuit uses an exclusive OR (XOR) operation on the two primary
bits and the carry-in bit, which produces a high result if an odd number of these inputs are high. The
carry-out, on the other hand, indicates whether there is an overflow that should be carried to the next
stage. It is calculated based on whether at least two out of the three inputs are high. Essentially, the
carry-out is high if both main bits are high or if one of the main bits and the carry-in bit are high.
Full adders are constructed using XOR gates for the sum, AND gates to identify potential carry
conditions, and an OR gate to combine these conditions and produce the final carry-out. These
circuits are essential in designing more complex arithmetic units in digital systems, enabling efficient
binary addition and processing.
Name: Thrishanthi R
RegisterNo:3122223002088
FUNCTIONAL DESCRIPTION:
LOGIC DIAGRAM:
BLOCK DIAGRAM:
TRUTH TABLE:
module fulladder_testbench;
reg A, B, Cin;
wire Sum, Cout;
begin
end
endmodule
SIMULATION RESULTS:
OUTPUT WAVEFORMS:
Name: Thrishanthi R
RegisterNo:3122223002088
UTILIZATION REPORT:
RESULT:
Thus, a model for full adder using dataflow modeling were compiled ,synthesized and
implemented.
Name: Thrishanthi R
Register No:3122223002088
Exp.No:02
Date:
To design and implement the 4-bit carrylookahead adder using structural/behavioural model and
verify their functionality using Nexys A7 FPGA Trainer Kit
EQUIPMENT/SOFTWARE REQUIRED:
Hardware: Nexys A7 ARTIX-7 100T FPGA with Device Type CSG324 based Trainer Kit
THEORY:
A Carry Look-Ahead Adder (CLA) improves binary addition speed by reducing the delay associated
with carry propagation. Unlike the Ripple Carry Adder, where each bit’s computation relies on the
carry from the previous bit, the CLA uses generate and propagate signals to predict carry outcomes
in advance. The generate signal indicates if a carry will be produced at a given bit position, while
the propagate signal shows if a carry-in will be passed to the next bit. By calculating carry-outs in
parallel rather than sequentially, the CLA significantly speeds up the addition process, especially for
large bit-widths.
This parallel computation minimizes the time required for carry signals to propagate through all
stages, making the CLA faster than traditional ripple carry adders. However, this enhanced speed
comes with increased circuit complexity and hardware requirements. Despite these trade-offs, the
CLA is widely used in high-performance computing systems where rapid arithmetic operations are
crucial.
Name: Thrishanthi R
Register No:3122223002088
FUNCTIONAL DESCRIPTION:
LOGIC DIAGRAM:
CARRYLOOKAHEAD ADDER:
BLOCK DIAGRAM:
Name: Thrishanthi R
Register No:3122223002088
LOGIC TABLE:
input [3:0] A, B;
Output [3:0] S;
input C0;
Output C4;
Wire[3:0] P,G;
assign S[0] = P[0] ^C0, S[1] = P[1] ^C1, S[2] = P[2] ^C2,S[3] = P[3] ^C3;
module carrylookahead_adder_tb;
reg C0;
wire [3:0] S;
Name: Thrishanthi R
Register No:3122223002088
Wire C4;
initial
begin
end
initial
begin
End
endmodule
SIMULATION RESULTS:
OUTPUT WAVEFORMS:
Name: Thrishanthi R
Register No:3122223002088
UTILIZATION REPORT:
RESULT:
Thus, a model for 4-bit carrylookahead adder using dataflow modeling were compiled ,synthesized and
implemented.
Name: Thrishanthi R
Register No:3122223002088
Exp.No:03
Date:
AIM:
To design and implement the 4-bit Booth Multiplier using structural/behavioural model and verify
their functionality using Nexys A7 FPGA Trainer Kit
EQUIPMENT/SOFTWARE REQUIRED:
Hardware: Nexys A7 100T FPGA with Device Type CSG324 based Trainer Kit
THEORY:
Booth's algorithm is an efficient technique for multiplying binary numbers, particularly useful
for 4-bit multipliers in two's complement form. It reduces the number of addition operations by
encoding the multiplier into fewer operations based on patterns of bits. The algorithm examines the
multiplier two bits at a time, generating partial products that are added or subtracted based on the bit
patterns, and shifts the results to accumulate the final product. This approach handles both positive and
negative numbers effectively, making it suitable for digital hardware implementations. Booth's
algorithm reduces the number of arithmetic operations needed, making it efficient for hardware
implementation in digital systems, such as a 4-bit Booth multiplier.
Name: Thrishanthi R
Register No:3122223002088
FUNCTIONAL DESCRIPTION:
LOGIC DIAGRAM:
Name: Thrishanthi R
Register No:3122223002088
BLOCK DIAGRAM:
OPERATION TABLE:
Q_internal = Q;
while (N > 0) begin
if (Q_internal[0] == 1'b0 && Q1 == 1'b1)
begin
A = A + M;
K = {A[3],A[3:0],Q_internal[3:0]};
Q1 = K[0];
A = K[8:5];
Q_internal = K[4:1];
end
else if (Q_internal[0] == 1'b1 && Q1 == 1'b0)
begin
A = A+(~M+1);
K = {A[3],A[3:0],Q_internal[3:0]};
Q1 = K[0];
A = K[8:5];
Q_internal = K[4:1];
end
else //if(Q_internal[0] == 1'b0 && Q1 == 1'b0||Q_internal[0] == 1'b1 && Q1 == 1'b1)
begin
K = {A[3],A[3:0],Q_internal[3:0]};
Q1 = K[0];
A = K[8:5];
Q_internal = K[4:1];
end
N = N - 1;
end
op= K[8:1];
end
endmodule
module BoothTB;
reg [3:0] M;
reg [3:0] Q;
wire [7:0] OP;
booth_mul M1(OP,M,Q);
initial begin
$monitor($time,"M=%b,Q=%b,OP=%b",M,Q,OP)end
initial begin
Name: Thrishanthi R
Register No:3122223002088
M = 4'b0101;Q = 4'b0100;
#10;
M=4'b1011;Q=4'b0100;
#10;
M=4'b0101;Q=4'b1100;
#10;
M=4'b1011;Q=4'b1100;
#10;
$finish;end
endmodule
SIMULATION RESULTS:
OUTPUT WAVEFORMS:
Name: Thrishanthi R
Register No:3122223002088
UTILIZATION REPORT:
Name: Thrishanthi R
Register No:3122223002088
RESULT:
Thus, a model for 4-bit Booth Multiplier using dataflow modeling were compiled,synthesized
and implemented.