Date post: | 26-Mar-2015 |
Category: |
Documents |
Upload: | jenna-hughes |
View: | 222 times |
Download: | 0 times |
ECE 555 Digital Circuits & Components
ECE555ECE555Lecture 10Lecture 10
Nam Sung KimUniversity of Wisconsin – Madison
Dept. of Electrical & Computer Engineering
1
ECE 555 Digital Circuits & Components
OutlineOutline Multiplier
• Array Multiplier• CSA/Wallace Tree Multiplier
Shifter
Datapath Bitslice Organization
2
ECE 555 Digital Circuits & Components
MultiplicationMultiplication Example
3
1100 : 1210 0101 : 510
ECE 555 Digital Circuits & Components
MultiplicationMultiplication Example
4
1100 : 1210 0101 : 510 1100
ECE 555 Digital Circuits & Components
MultiplicationMultiplication Example
5
1100 : 1210 0101 : 510 1100 0000
ECE 555 Digital Circuits & Components
MultiplicationMultiplication Example
6
1100 : 1210 0101 : 510 1100 0000 1100
ECE 555 Digital Circuits & Components
MultiplicationMultiplication Example
7
1100 : 1210 0101 : 510 1100 0000 1100 0000
ECE 555 Digital Circuits & Components
MultiplicationMultiplication Example
8
1100 : 1210 0101 : 510 1100 0000 1100 000000111100 : 6010
ECE 555 Digital Circuits & Components
MultiplicationMultiplication Example
M x N-bit multiplication• Produce N M-bit partial products• Sum these to produce M+N-bit product
9
1100 : 1210 0101 : 510 1100 0000 1100 000000111100 : 6010
multiplier
multiplicand
partialproducts
product
ECE 555 Digital Circuits & Components
General Multiplication FormGeneral Multiplication Form Multiplicand: Y = (yM-1, yM-2, …, y1, y0)
Multiplier: X = (xN-1, xN-2, …, x1, x0)
Product:
10
1 1 1 1
0 0 0 0
2 2 2M N N M
j i i jj i i j
j i i j
P y x x y
x0y5 x0y4 x0y3 x0y2 x0y1 x0y0
y5 y4 y3 y2 y1 y0
x5 x4 x3 x2 x1 x0
x1y5 x1y4 x1y3 x1y2 x1y1 x1y0
x2y5 x2y4 x2y3 x2y2 x2y1 x2y0
x3y5 x3y4 x3y3 x3y2 x3y1 x3y0
x4y5 x4y4 x4y3 x4y2 x4y1 x4y0
x5y5 x5y4 x5y3 x5y2 x5y1 x5y0
p0p1p2p3p4p5p6p7p8p9p10p11
multiplier
multiplicand
partialproducts
product
ECE 555 Digital Circuits & Components
Dot DiagramDot Diagram Each dot represents a bit (or partial product)
11
partial products
multiplier x
x0
x15
ECE 555 Digital Circuits & Components
Array MultiplierArray Multiplier
12
y0y1y2y3
x0
x1
x2
x3
p0p1p2p3p4p5p6p7
B
ASin Cin
SoutCout
BA
CinCout
Sout
Sin
=
CSAArray
CPA
critical path BA
Sout
Cout CinCout
Sout
=Cin
BA
ECE 555 Digital Circuits & Components
Rectangular ArrayRectangular Array Squash array to fit rectangular floorplan
13
y0y1y2y3
x0
x1
x2
x3
p0
p1
p2
p3
p4p5p6p7
ECE 555 Digital Circuits & Components
Wallace Tree MultiplierWallace Tree Multiplier Using 3:2 compressor (FA!)
14
0123456
0123456
0123456
0123456
x0
x3
ECE 555 Digital Circuits & Components
Wallace Tree MultiplierWallace Tree Multiplier Using 3:2 compressor (FA!)
x0y0x0y1x0y2x0y3
x1y0x1y1x1y2x1y3
x2y0x2y1x2y2x2y3
x3y0x3y1x3y2x3y3
+ +
+
ECE 555 Digital Circuits & Components
Wallace Tree MultiplierWallace Tree Multiplier Using 3:2 compressor (FA!)
x0y0x0y1x0y2
x0y3
x1y0
x1y1
x1y2x1y3 x2y0
x2y1x2y2
x3y0x3y1x3y3
+ +
+++x2y3
x3y2
+
+
ECE 555 Digital Circuits & Components
Wallace Tree MultiplierWallace Tree Multiplier
17
Partial products
First stage
Second stage
Final adder
FA FA FA
HA HA
FA
x3y3
z7 z6 z5 z4 z3 z2 z1 z0
x3y2x2y3
x1y1x3y0 x2y0 x0y1x0y2
x2y2x1y3
x1y2x3y1x0y3 x1y0 x0y
ECE 555 Digital Circuits & Components
Parallel Programmable ShiftersParallel Programmable Shifters
Dat
a InControl =
Dat
a O
ut
Shift amountShift directionShift type (logical, arith, circular)
Shifters used in multipliers, floating point units
Consume lots of area if done in random logic gates
ECE 555 Digital Circuits & Components
A Programmable Binary ShifterA Programmable Binary Shifter
rgt nop left
Ai
Ai-1 Bi-1
Bi
Ai Ai-1rgt nop left Bi Bi-1
A1 A00 1 0 A1 A0
A1 A01 0 0 0 A1
A1 A00 0 1 A0
0
ECE 555 Digital Circuits & Components
4-bit Barrel Shifter4-bit Barrel Shifter
A0
A1
A2
A3
B0
B1
B2
B3
Sh1
Sh2
Sh3
Sh0 Sh1 Sh2 Sh3
Example: Sh0 = 1 B3B2B1B0 = A3A2A1A0
Sh1 = 1 B3B2B1B0 = A3A3A2A1
Sh2 = 1 B3B2B1B0 = A3A3A3A2
Sh3 = 1 B3B2B1B0 = A3A3A3A3
Area dominated by wiring
ECE 555 Digital Circuits & Components
4-bit Barrel Shifter Layout4-bit Barrel Shifter Layout
BufferSh3Sh2Sh1Sh0
A3
A2
A1
A0
Widthbarrel ~ 2 pm N N = max shift distance, pm = metal pitchDelay ~ 1 fet + N diff caps
Widthbarrel
Only one Sh#active at a timel
ECE 555 Digital Circuits & Components
8-bit Logarithmic Shifter8-bit Logarithmic Shifter
A3
A2
A1
A0
!Sh1Sh1 !Sh2Sh2 !Sh3Sh3
B0
B1
B2
B3
ECE 555 Digital Circuits & Components
8-bit Logarithmic Shifter Layout8-bit Logarithmic Shifter Layout
Widthlog ~ pm(2K+(1+2+…+2K-1)) = pm(2K+2K-1) K = log2 NDelay ~ K fets + 2 diff caps
A0
B3
B2
B1
B0
A1
A2
A3
1 2 4
ECE 555 Digital Circuits & Components
Datapath Bit-Sliced OrganizationDatapath Bit-Sliced Organization
27
Control Flow
Bit 0
Bit 1
Bit 2
Bit 3
Tile identical bit-slice elements
Re
gis
ter
File
Pip
elin
e R
egis
ter
Ad
der
Sh
ifter
Pip
elin
e R
egis
ter
Mu
ltip
lexe
r
Mu
ltip
lexe
r
Data Flow
Pip
elin
e R
egis
ter
From I$
Pip
elin
e R
egis
ter
To/From D$
decoder