VLSI_UNIT4
VLSI_UNIT4
ADDERS
• The following types of binary adder • The simplest adder is a half- adder
circuits will be discussed: which adds two bits.
• Half Adder • A full adder adds two bits along with
• Full Adder one input carry.
• Ripple Carry Adder (RCA) • A Ripple carry adder is used to add
• Carry Look-ahead Adder (CLA) two N-bit numbers.
• Carry-skip Adder (CSKA) • A Carry Look-ahead adder is a high
• Adders are the most fundamental speed adder that does not wait for
subsystems of a digital circuit. each stage to generate carry signals.
• A binary adder adds two binary • A carry-skip adder is an
inputs and produces the SUM and implementation that improves on the
CARRY as outputs. delay of RCA with little effort
compared to other adders.
1
07-06-2022
2
07-06-2022
DISADVANTAGES OF RCA:
• Ripple Carry Adder does not allow to use all the
full adders simultaneously.
• Each full adder has to necessarily wait until the
carry bit becomes available from its previous full
adder stage.
• Thus, nth full adder has to wait until all (n-1) full
adders have completed their operations.
• This increases the propagation time.
• Due to this reason, ripple carry adder becomes
extremely slow.
• The situation becomes worst when the value of
‘N’ becomes very large.
• This is considered to be the biggest disadvantage
of using ripple carry adder.
3
07-06-2022
CARRY LOOK-AHEAD ADDER (CLA) • So, the carry-in of any stage full adder can be
evaluated at any instant of time.
• To overcome the disadvantage of RCA, Carry • Thus, any full adder need not wait until its carry-
Look-Ahead adder is used. in is generated by its previous stage full adder.
• CLA is an improved version of the ripple carry • Let Gi = AiBi where ‘G’ is called carry generator.
adder. Pi = Ai ⊕ Bi where ‘P’ is called carry propagator.
• It generates the carry-in of each full adder • Then, re-writing the above equations, we have-
simultaneously without causing any delay.
• The working of CLA ahead adder is based on the
principle: • C1 = C0P0 + G0 ………….. (1)
The carry-in of any stage full adder is independent of
the carry bits generated during intermediate stages.
• C2 = C1P1 + G1 ………….. (2)
• The carry-in of any stage full adder depends only
on the following two parameters-
• Bits being added in the previous stages • C3 = C2P2 + G2 ………….. (3)
• Carry-in provided in the beginning
• The above two parameters are always known • C4 = C3P3 + G3 ………….. (4)
from the beginning.
4
07-06-2022
10
5
07-06-2022
• A carry save adder is very useful for adding more 1. Conventional Method
than two binary numbers.
• Hence it is particularly useful in a multiplier circuit,
where more than two partial products are added to
obtain the final output.
• The concept of CSA is illustrated in example of Fig 1.
• The advantage of the second approach is clear
when we add more than two number.
• Another example of adding three numbers is shown 2. CSA Method
in Fig 2. [Next Slide]
• We see that in Fig 3. the final result can be obtained
by adding the sum bits and carry bits using the
Ripple-Carry addition technique. [Next Slide]
• A CSA is used in multiplier circuits.
11
12
6
07-06-2022
13
14
7
07-06-2022
15
BOOTH’s MULTIPLIER
BOOTH’s RECODING ( or ENCODING):
The multiplier in booth is recoded before performing
• The booth’s multiplier reduces the number of multiplication as shown below:
stages in multiplication.
Eg: Let us take Multiplier as (15)10 = ( 01111 )2
• Performs two bits of multiplication at once –
requires half the stages. (i) First add an imaginary “zero” on the LSB side
(ii) So multiplier now becomes 011110
• Each stage is slightly more complex than simple (iii) Read two bits consecutively from right to left and
multiplier, but adder/subtracter is as fast as adder. encode as follows:
• Booth algorithm gives a procedure for multiplying (11) => 0 , (10) => +1 , (01) => -1 , (00) => 0
binary integers in signed 2’s complement (iv) The multiplier 011110 is encoded as “ +1000-1”
representation in efficient way, i.e., less number of (v) If we evaluate the value of “+1000-1”, we get 15.
additions/subtractions required.
• It operates on the fact that strings of 0’s in the
multiplier require no addition but just shifting. (vi) So the value of multiplier does not change after
• Booth’s multiplier can be used for multiplying both booth’s recoding.
unsigned and signed numbers. (vii) Therefore booth’s multiplier reduces the number
of stages in multiplication.
• The multiplier is first encoded as shown next.
16
8
07-06-2022
17
18
9
07-06-2022
Booth’s Operation
encoding Bits
00 Only ASR
01 ADD and ASR
11 Only ASR
19
Booth’s Operation
encoding Bits
00 Only ASR
01 ADD and ASR
11 Only ASR
20
10
07-06-2022
Booth’s Operation
encoding Bits
00 Only ASR
01 ADD and ASR
11 Only ASR
21
22
11
07-06-2022
INPUT: A3 A2 A1 A0 ; OUTPUT: Y3 Y2 Y1 Y0
K1 P3 P2 P1 P0 K0 Y3 Y2 Y1 Y0 Op
0 A3 A2 A1 A0 0 A3 A2 A1 A0 NOP
0 A3 A2 A1 A0 1 A0 A3 A2 A1 ROR
#1
1 A1 A0 A3 A2 0 A1 A0 A3 A2 ROR
#2
1 A1 A0 A3 A2 1 A2 A1 A0 A3 ROR
#3
23
24
12
07-06-2022
PARITY GENERATOR
• Parity generators are of two types:
• (1) Even Parity (2) Odd Parity
• A parity bit can be added to an N-bit word to indicate whether the
number of 1s in the word is even or odd.
• In even parity, the extra bit is the XOR of the other N bits, which
ensures the (N + 1)-bit coded word has an even number of 1s.
• Similarly in odd parity, the extra bit is the XOR of N-bits such that
(N+1) bits have odd number of 1s.
25
MAGNITUDE COMPARATOR
26
13
07-06-2022
MAGNITUDE COMPARATOR
27
28
14
07-06-2022
CMOS D-LATCH and D-Flip FLOP design • A D-Flip Flop can be realized by connected two
D-Latches in Master-Slave configuration.
• The master changes state on positive edge of
• The D-Latch is a level triggered circuit. the clock, and slave changes state on negative
• The D-Latch can be realized by two back-to-back edge of the clock.
connected inverters.
• Since the outputs are produced on negative
• When the CLK = 1, the value on data input ‘D’ is clock, it is negative edge triggered D-Flip Flop.
written into the Latch.
• When CLK = ‘0’, the Latch stores the value written
into it.
• A CMOS D-Latch can be realized using two
transmission gates and two inverters.
29
30
15