Professional Documents
Culture Documents
03/25/24
Basic Operations
• Addition
• Multiplication
• Multiply-Add
• Division
• Evaluation of Functions
• Multi-Media
03/25/24
Addition of Binary Numbers
Addition of Binary Numbers
Full Adder. The full adder is the fundamental building block
of most arithmetic circuits:
ai bi
03/25/24
Full-Adder Implementation
Full Adder operations is defined by equations:
si ai bi ci ai bi ci ai bi ci ai bi ci ai bi ci pi ci
ci 1 ai bi ci ai bi ci ai bi g i pi ci ai bi
Carry-Propagate: pi ai bi
and Carry-Generate gi
g i a i bi
c out
c in
One-bit adder could be
implemented as shown
si
03/25/24
High-Speed Addition
ci 1 g i pi ci
ai bi
g i ai bi pi ai bi
0
c out
s 1 c in
03/25/24
The Ripple-Carry Adder
A0 B0 A1 B1 A2 B2 A3 B3
S0 S1 S2 S3
03/25/24
Inversion Property
A B A B
Ci FA Co Ci FA Co
S S
S A B C i = S A B C i
C A B C = C A B C
o i o i
From Rabaey
03/25/24
Minimize Critical Path by Reducing Inverting
Stages
A1 B1 A3 B3
A0 B0 A2 B2
S0 S2
S1 S3
03/25/24
Ripple Carry Adder
Carry-Chain of an RCA implemented using multiplexer from the
a i+2 library:
standard cell b i+2 a i+1 b i+1 ai bi
Critical Path
c i+1 ci
c out c in
Oklobdzija, ISCAS’88
s i+2 s i+1 si
03/25/24
Manchester Carry-Chain
Realization of the Carry Path
• Simple and very popular scheme for implementation of
carry signal path
V dd V dd V dd V dd V dd V dd V dd V dd
Generate
device
Carry out Carry in
+ + + + + + + + Propagate
device
Predischarge
& kill device
03/25/24
Original Design
T. Kilburn, D. B. G. Edwards, D. Aspinall, "Parallel Addition in Digital Computers:
A New Fast "Carry" Circuit", Proceedings of IEE, Vol. 106, pt. B, p. 464, September 1959.
03/25/24
Manchester Carry Chain (CMOS)
•Implement P with pass-transistors
•Implement G with pull-up, kill (delete) with pull-down
•Use dynamic logic to reduce the complexity and speed up
VDD
P0 P1 P2 P3 P4
Ci,0
G0 G1 G2 G3 G4
X O R /X N O R M U LT IP LE X E R B UFFER
A N D /N A N D
VCC
A
A C C
B VCC
CO
B
VCC
A CO
A
B M U LT IP LE X E R B UFFER
B
O R /N O R
03/25/24
Carry-Skip Adder
MacSorley, Proc IRE 1/61
Lehman, Burla, IRE Trans on Comp, 12/61
03/25/24
Carry-Skip Adder
P0 G1 P0 G1 P2 G2 P3 G3
P0 G1 P0 G1 P2 G2 P3 G3
BP=P oP1 P2 P3
Ci,0 C o,0 Co,1 C o,2
FA FA FA FA
Multiplexer
Co,3
Bypass
Idea: If (P0 and P1 and P2 and P3 = 1)
From Rabaey
then C o3 = C 0, else “kill” or “generate”.
03/25/24
Carry-Skip Adder:
N-bits, k-bits/group, r=N/k groups
S N-1 S S (r-1)k-1 S S Sk S S
N-k-1 (r-2)k 2k-1 k-1 0
P r-1 P r-2 P1 P0
...
AND AND AND AND
critical path, delay =2(k-1)+(N /2-2)
03/25/24
Carry-Skip Adder
tp
ripple adder
bypass adder
N
t d 2k 1t RCA 2 t SKIP
2k
4..8
N
03/25/24
Variable Block Adder
(Oklobdzija, Barnes: IBM 1985)
03/25/24
Carry-chain of a 32-bit Variable Block Adder
(Oklobdzija, Barnes: IBM 1985)
a b aj bj a bi a0 b0
N-1 N-1 i
..
.. ... ... ... ..
.
C out
Gm G m -1 G m -2 G2 G1 G0 C in
S N-1 Sj Si S0
Pm P m -1 P m -2 P2 P1 P0
Gm G m -1 G m -2 ... G2 G1 G0
skiping
...
C ou C in
t
Carry signal path
rippling
03/25/24
Carry-chain of a 32-bit Variable Block Adder
(Oklobdzija, Barnes: IBM 1985)
6
5 5
4 4
1 3 =9 3 1
Any-point-to-any-point delay = 9
as compared to 12 for CSKA
03/25/24
Carry-chain block size determination for a
32-bit Variable Block Adder
(Oklobdzija, Barnes: IBM 1985)
03/25/24
Delay Calculation for Variable Block Adder
(Oklobdzija, Barnes: IBM 1985)
P0 P1 P2 P3 BP
Ci,0 Co,3
G0 G1 G2 G3
BP
Delay model:
03/25/24
Variable Block Adder
(Oklobdzija, Barnes: IBM 1985)
td c1 c2 N c3
03/25/24
Carry-chain of a 32-bit Variable Block Adder
(Oklobdzija, Barnes: IBM 1985)
03/25/24
Delay Comparison: Variable Block Adder
(Oklobdzija, Barnes: IBM 1985)
03/25/24
Delay Comparison: Variable Block Adder
Delay 16
14 VBA
12
CLA
10
8
VBA- Multi-Level
6
0
4 11 18 25 32 39 46 53 60
Size N
03/25/24