ECE 261 Krish Chakrabarty 1 Arithmetic Building Blocks • Datapath elements • Adder design – Static adder – Dynamic adder • Multiplier design – Array multipliers • Shifters, Parity circuits ECE 261 Krish Chakrabarty 2 A Generic Digital Processor MEMORY DATAPATH CONTROL Input-Output
15
Embed
Arithmetic Building Blocks - people.ee.duke.edupeople.ee.duke.edu/~krish/teaching/Lectures/arithmetic_circuits_1... · Inversion Property AB S Ci FA Co AB S Ci FA Co Inverting all
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
ECE 261 Krish Chakrabarty 1
Arithmetic Building Blocks
• Datapath elements• Adder design
– Static adder– Dynamic adder
• Multiplier design– Array multipliers
• Shifters, Parity circuits
ECE 261 Krish Chakrabarty 2
A Generic Digital Processor
MEMORY
DATAPATH
CONTROL
Inpu
t-O
utpu
t
2
ECE 261 Krish Chakrabarty 3
Building Blocks for Digital Architectures• 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
ECE 261 Krish Chakrabarty 4
Bit-Sliced Design
Bit 3
Bit 2
Bit 1
Bit 0
Control
Tile identical processing elements
Dat
a-in
Dat
a-ou
t
Reg
iste
r
Add
er
Shift
er
Mul
tiplie
r
Signals
Data Control
Metal 2(control)
Metal 1(data)
3
ECE 261 Krish Chakrabarty 5
Single-Bit Addition
Half Adder Full Adder
0111100110100000SCoutBA
1111101011011011000101110100101010000000SCoutCBA
A B
S
Cout
A B
C
S
Cout
out
S A BC A B
= ⊕= out ( , , )
S A B CC MAJ A B C
= ⊕ ⊕=
ECE 261 Krish Chakrabarty 6
Full-AdderA B
Cout
SumCin
Fulladder
4
ECE 261 Krish Chakrabarty 7
The Binary Adder
A B
Cout
Sum
Cin Fulladder
Sum = A ⊕ B ⊕ C= ABCi + ABCi + ABCi + ABCi
Co = AB + BCi + ACi
ECE 261 Krish Chakrabarty 8
Sum and Carry as a functions of P, G
Define 3 new variable which ONLY depend on A, BGenerate (G) = AB
Propagate (P) = A+B
5
ECE 261 Krish Chakrabarty 9
The Ripple-Carry Adder
A0 B0
S0
Co,0Ci,0
A1 B1
S1
Co,1
A2 B2
S2
Co,2
A3 B3
S3
Co,3
(= Ci,1)FA FA FA FA
Wo rs t cas e d elay lin ear with th e n u mber o f b itstd = O(N)
Goal: Make the fas tes t poss ible carry path circuit
td = (N-1)tcarry + tsum
ECE 261 Krish Chakrabarty 10
Complimentary Static CMOS Full Adder
VDD
VDD
VDD
VDD
A B
Ci
S
Co
X
B
A
Ci A
BBA
Ci
A B Ci
Ci
B
A
Ci
A
B
BA
28 Transistors
Note:1) S = ABCi + Co(A + B + Ci)2) Placement of Ci3) Two inverter stages for
each Co
O(N) delay
6
ECE 261 Krish Chakrabarty 11
Inversion Property
A B
S
CoCi FA
A B
S
CoCi FA
Inverting all inputs results in inverted outputs
ECE 261 Krish Chakrabarty 12
Minimize Critical Path by Reducing Inverting Stages
Co,0Ci,0 Co,1 Co,2 Co,3FA’ FA FA’ FA
Odd CellEven Cell
Exploit Inversion Property
Need two different types of cells, FA’: no inverter in carry path
A0A1B0
A2B1 B2B3A3
S0 S1 S2 S3
7
ECE 261 Krish Chakrabarty 13
A better structure: the Mirror Adder
VDD
Ci
A
BBA
B
A
A BKill
Generate"1"-Propagate
"0"-Propagate
VDD
Ci
A B Ci
Ci
B
A
Ci
A
BBA
VDD
SCo
24 transistors
ECE 261 Krish Chakrabarty 14
The Mirror Adder• Symmetrical NMOS and PMOS chains
– identical rising and falling transitions if the NMOS and PMOS devices are properly sized.
– Maximum of two series transistors in the carry-generation circuitry.
• Critical issue: minimization of the capacitance at Co. – Reduction of the diffusion capacitances important. – The capacitance at Co composed of four diffusion capacitances, two
internal gate capacitances, and six gate capacitances in the connecting adder cell .
• 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.
8
ECE 261 Krish Chakrabarty 15
NP-CMOS Adder
VDD
φ
φ
Ci0
A0 B0 B0
φ
A0
VDD
φ
B1
φ
A1
VDD
φ
φ
A1 B1
Ci1
Ci2
Ci0
Ci0
B0
A0B0
S0
A0
VDD
φ
φ
VDD
φ
VDD
φ
φ
B1 Ci1
B1
φ
A1A1
VDDφ S1
Ci1
Carry Path
17 transistors,ignoring extra inverters for inputsand outputs
ECE 261 Krish Chakrabarty 16
Manchester Carry Chain
P0
Ci,0
P1
G0
P2
G1
P3
G2
P4
G3 G4
VDD
∅
∅
Co,4
• Only nMOS transmission gates used. Why?• Delay of long series of pass gates: add buffers
9
ECE 261 Krish Chakrabarty 17
Carry-Bypass Adder
FA FA FA FA
P0 G1 P0 G1 P2 G2 P3 G3
Co,3Co,2Co,1Co,0Ci,0
FA FA FA FA
P0 G1 P0 G1 P2 G2 P3 G3
Co,2Co,1Co,0Ci,0
Co,3
BP=P oP1P2P3
Idea: If (P0 and P1 and P2 and P3 = 1)then Co3 = C0, else “kill” or “generate”.
ECE 261 Krish Chakrabarty 18
Manchester-Carry Implementation
P0
Ci,0
P1
G0
P2
G1
P3
G2
BP
G3
BP
Co,3
10
ECE 261 Krish Chakrabarty 19
Carry-Bypass Adder (cont.)
S e tu p
C arry
Propagation
S um
S e tu p
C arry
Propagation
S um
Setup
C arry
Propagation
Sum
S e tu p
C arry
Propagation
S um
Bit 0-3 Bit 4-7 Bit 8-11 Bit 12-15
Ci,0
Design N-bit adder using N/M equal length stagese.g. N = 16, M = 4What is the critical path?