Professional Documents
Culture Documents
Multiplier design
Array multipliers
ECE 261
James Morizio
Input-Output
MEMORY
CONTROL
DATAPATH
ECE 261
James Morizio
Bit-Sliced Design
Signals Data Control
Control
Metal 2 (control)
Multiplier
Data-in
Register
Shifter
Adder
Data-out
Single-Bit Addition
Half Adder
S = A B Cout = AgB
Cout S A B
Full Adder
B C
A 0 0 1 1
B 0 1 0 1
Cout 0 0 0 1
S 0 1 1 0
A 0 0 0 0 1 1 1 1
James Morizio
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
Cout 0 0 0 1 0 1 1 1
S 0 1 1 0 1 0 0 1
5
ECE 261
Full-Adder
A B Cout Full Cin adder Sum
ECE 261
James Morizio
ECE 261
James Morizio
ECE 261
James Morizio
FA
FA
td = (N-1)tcarry + tsum
Goa l: Ma ke the fas te s t pos s ible carry pa th circuit
ECE 261 James Morizio 9
Note: 1) S = ABCi + Co(A + B + Ci) 2) Placement of Ci 3) Two inverter stages for each Co
O(N) delay
28 Transistors
ECE 261 James Morizio 10
Inversion Property
Inverting all inputs results in inverted outputs
A B A B
Ci
FA
Co
Ci
FA
Co
ECE 261
James Morizio
11
A0 B0
Ci ,0 FA Co,0
A1 B1
FA Co,1
A2 B2
FA Co,2
A3 B3
Co,3 FA
S0
S1
S2
S3
Exploit Inversion Property Need two different types of cells, FA: no inverter in carry path
ECE 261 James Morizio 12
24 transistors
ECE 261 James Morizio 13
Transistors connected to Ci placed closest to output. Only the transistors in carry stage have to be optimized for speed. All transistors in the sum stage can be minimal size.
ECE 261
James Morizio
14
NP-CMOS Adder
VDD VDD A1 B1 B1 A1 Ci 2 A1 VDD Ci 1 B1 Ci1 A1 B1 VD D VDD A0 A0 Ci0 Carry Path B0 B0 Ci1 A0 B0 Ci0 B0 A0 Ci0 S0 VDD S1
VDD
ECE 261
James Morizio
15
G0
G1
G2
G3
G4
Only nMOS transmission gates used. Why? Delay of long series of pass gates: add buffers
ECE 261 James Morizio 16
Carry-Bypass Adder
P0 Ci,0 G1
Co,0
P0
G1
Co,1
P2
G2
Co,2
P3
G3 Co,3
FA
FA
FA
FA
P0 G1 Ci,0
Co,0
P0
G1
Co,1
P2
G2
Co,2
P3
G3
BP=P oP1 P2 P3
FA
FA
FA
FA
Co,3
Manchester-Carry Implementation
P0 Ci,0 G0
P1 G1
P2 G2
P3 G3
BP Co,3
BP
ECE 261
James Morizio
18
C arry
C arry Propagati on
C arry Propagati on
C i,0
Propagati on
Sum
S um
Sum
Sum
Design N-bit adder using N/M equal length stages e.g. N = 16, M = 4 What is the critical path? tp = tsetup + Mtcarry + (N/M-1)tbypass + Mtcarry + tsum , i.e. O(N)
ECE 261 James Morizio 19
bypass adder
4..8
N
James Morizio 20
ECE 261
Carry-Select Adder
Generate carry out for both 0 and 1 incoming carries
Setup
P,G
"0"
"1"
Co,k-1
Multiplexer
Carry Vector
Co,k+3
Sum Generation
ECE 261
James Morizio
21
"0"
"0" Carry
"0"
"0" Carry
"0"
"0" Carry
"0"
"0" Carry
"1" Carry
ECE 261
James Morizio
22
(1)
"0" "0" Carry "0" "0" Carry "0" "0" Carry "0" "0" Carry
(1)
"1" Carry "1" "1" "1" Carry "1" "1" Carry "1" "1" Carry
(5)
Ci,0
(5)
Multiplexer
(6)
Co,3
(5)
Multiplexer
(5) (7)
Co,7 Multiplexer
(8)
Co,11
(5)
Multiplexer Co,15 Sum Generation S12-15
"0"
"0" Carry
"0"
"0" Carry
"0"
"0" Carry
"0"
"0" Carry
"1" Carry
ECE 261
James Morizio
24
Bit 2-4
Setup
Bit 5-8
Setup
Bit 9-13
Setup
(1)
"0" "0" Carry "0" "0" Carry "0" "0" Carry "0" "0" Carry
(1)
"1" Carry "1" "1" "1" Carry "1" "1" Carry "1" "1" Carry
(3)
Ci,0
(3)
Multiplexer
(4)
Co,3
(4)
Multiplexer
(5) (5)
Co,7 Multiplexer
(6)
Co,11
(6)
Multiplexer Co,15 Sum Generation
Sum Generation
Sum Generation
Sum Generation
i.e., O(N)
ECE 261 James Morizio 25
40.0
ripple adder
30.0 tp
linear select
20.0
10.0
0.0
0.0
20.0 N
40.0
60.0
ECE 261
James Morizio
26
AN-1 ,BN-1
Ci,0
P0
Ci,1
P1
Ci,N-1
...
PN-1
S0
S1
SN-1
Carry-Lookahead Adders
High fanin for large N Implement as CLA slices, or use 2nd level lookahead generator
4 4 4 4 4 4 4 4
4 4
4 4 4
4 4 4
4 4 4 4
Faster implementation
CLA generator
ECE 261 James Morizio 28
Look-Ahead: Topology
VDD G3 G2 G1 G0 Ci,0 Co,3 P0 P1 P2 P3 Gnd
ECE 261 James Morizio 29