Académique Documents
Professionnel Documents
Culture Documents
Adder Circuits
IEP on Synthesis of Digital Design 2007 Adder Circuits
Acknowledgement
Slides taken from http://
bwrc.eecs.berkeley.edu/IcBook/index.htm
which is the web-site of Digital Integrated Circuit A Design
Perspective by Rabaey, Chandrakasan, Nicolic
IEP on Synthesis of Digital Design 2007 Adder Circuits
Outline
Background / Basics of Adders
Ripple Carry Adder
IEP on Synthesis of Digital Design 2007 Adder Circuits
MEM ORY
INPUT-OUTPUT
CONTROL
DATAPATH
IEP on Synthesis of Digital Design 2007 Adder Circuits
Arithmetic unit
- Bit-sliced datapath (adder, multiplier, shifter, comparator, etc.)
Memory
- RAM, ROM, Buffers, Shift registers
Control
- Finite state machine (PLA, random logic.)
- Counters
Interconnect
- Switches
- Arbiters
- Bus
IEP on Synthesis of Digital Design 2007 Adder Circuits
Bit-Sliced Design
Control
Bit 3
Data-Out
Multiplexer
Bit 2
Data-In
Register
Adder
Shifter
Bit 1
Bit 0
Bit-Sliced Datapath
From register files / Cache / Bypass
Multiplexers
Shifter
Adder stage 1
Wiring
Loopback Bus
Loopback Bus
Loopback Bus
Adder stage 2
Wiring
Bit slice 63
Bit slice 2
Bit slice 1
Bit slice 0
Adder stage 3
Sum Select
Full-Adder
A B
Sum
IEP on Synthesis of Digital Design 2007 Adder Circuits
Sum
S = A B Ci
S0 S1 S2 S3
VDD
Ci A B
A B
A
B
Ci B
VDD
A
X
Ci
Ci A
Ci
A B B VDD
A B Ci A
Co B
28 Transistors
IEP on Synthesis of Digital Design 2007 Adder Circuits
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 o A B C i = Co A B Ci
IEP on Synthesis of Digital Design 2007 Adder Circuits
A0 B0 A1 B1 A2 B2 A3 B3
S0 S1 S2 S3
VDD VDD A
A B B A B Ci B
Kill
"0"-Propagate A Ci
Co
Ci S
A Ci
"1"-Propagate Generate
A B B A B Ci A
24 transistors
IEP on Synthesis of Digital Design 2007 Adder Circuits
Mirror Adder
Stick Diagram
VDD
A B Ci B A Ci Co Ci A B
Co
GND
IEP on Synthesis of Digital Design 2007 Adder Circuits
A P VDD
B B
VDD A
P
P Co Carry Generation
Ci Ci Ci
A
Setup P
IEP on Synthesis of Digital Design 2007 Adder Circuits
Di
Pi
IEP on Synthesis of Digital Design 2007 Adder Circuits
Ci,0
G0 G1 G2 G3
C0 C1 C2 C3
IEP on Synthesis of Digital Design 2007 Adder Circuits
VDD
Pi Gi Pi + 1 Gi + 1
Ci - 1 Ci Ci + 1
GND
Inverter/Sum Row
IEP on Synthesis of Digital Design 2007 Adder Circuits
Carry-Bypass Adder
P0 G1 P0 G1 P2 G2 P3 G3 Also called
Carry-Skip
Ci,0 C o,0 C o,1 Co,2 Co,3
FA FA FA FA
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
M bits
tp
ripple adder
bypass adder
4..8
N
IEP on Synthesis of Digital Design 2007 Adder Circuits
Carry-Select Adder
Setup
P,G
Carry Vector
Sum Generation
IEP on Synthesis of Digital Design 2007 Adder Circuits
(1)
40 Ripple adder
tp (in unit delays)
30
Linear select
20
10
Square root select
0
0 20 40 60
N
IEP on Synthesis of Digital Design 2007 Adder Circuits
Ci,0 P0 Ci,1 P1
Ci, N-1 PN-1
S0 S1 SN-1
C o k = f A k B k Co k 1 = Gk + P k Co k 1
IEP on Synthesis of Digital Design 2007 Adder Circuits
Look-Ahead: Topology
Expanding Lookahead equations: VDD
C o k = Gk + Pk Gk 1 + Pk 1 Co k 2
G2
G1
All the way:
G0
C o k = Gk + Pk Gk 1 + P k 1 + P1 G0 + P0 Ci 0
Ci,0
Co,3
P0
P1
P2
P3
IEP on Synthesis of Digital Design 2007 Adder Circuits
A1 A2 A3 A4 A5 A6 A7
A0
tp N
A1
A2
A3
F
A4
A5
A6 tp log2(N)
A7
IEP on Synthesis of Digital Design 2007 Adder Circuits
Co 0 = G 0 + P 0 C i 0
C o 1 = G1 + P1 G0 + P 1 P0 Ci 0
C o 2 = G2 + P2 G1 + P2 P1 G0 + P 2 P1 P0 C i 0
= G2 + P2 G1 + P2 P1 G0 + P0 Ci 0 = G 2:1 + P2:1 C o 0
(A1, B1) S1
(A2, B2) S2
(A3, B3) S3
IEP on Synthesis of Digital Design 2007
(A4, B4) S4
Tree Adders
(A5, B5) S5
(A6, B6) S6
(A7, B7) S7
(A8, B8) S8
(a 1, b 1) S1
(a 2, b 2) S2
(a 3, b 3) S3
IEP on Synthesis of Digital Design 2007
(a 4, b 4) S4
Tree Adders
(a 5, b 5) S5
(a 6, b 6) S6
(a 7, b 7) S7
(a 8, b 8) S8
(a 10, b 10) S 10
(a 11, b 11) S 11
(a 12, b 12) S 12
(a 13, b 13) S 13
(a 14, b 14) S 14
(a 15, b 15) S 15
Adder Circuits
(a 0, b 0) S0
(a 1, b 1) S1
(a 2, b 2) S2
(a 3, b 3) S3
IEP on Synthesis of Digital Design 2007
(a 4, b 4) S4
(a 5, b 5) S5
Sparse Trees
(a 6, b 6) S6
(a 7, b 7) S7
(a 8, b 8) S8
(a 9, b 9) S9
(a 10, b 10) S 10
(a 11, b 11) S 11
(a 12, b 12) S 12
16-bit radix-2 sparse tree with sparseness of 2
(a 13, b 13) S 13
(a 14, b 14) S 14
(a 15, b 15) S 15
Adder Circuits
(A0, B0) S0
(A1, B1) S1
(A2, B2) S2
IEP on Synthesis of Digital Design 2007
(A3, B3) S3
Brent-Kung Tree
(A4, B4) S4
Tree Adders
(A5, B5) S5
(A6, B6) S6
(A7, B7) S7
(A8, B8) S8
(A9, B9) S9
VDD
Clk
Gi = aibi
Clk
Pi= ai + bi ai
ai bi
bi
Clk
Clk
Propagate Generate
IEP on Synthesis of Digital Design 2007 Adder Circuits
Clkk
Clkk
Pi:i-2k+1 Gi:i-2k+1
Pi:i-k+1 Pi:i-k+1
Gi:i-k+1
Pi-k:i-2k+1 Gi-k:i-2k+1
Propagate Generate
IEP on Synthesis of Digital Design 2007 Adder Circuits
Clk Clkd
Sum
Gi:0
Clk Si0
Clkd
Clk
Gi:0
Si1
Clk