18
EE 466/586 EE 466/586 VLSI Design VLSI Design Partha Pande School of EECS Washington State University [email protected]

EE 466/586 VLSI Design

Embed Size (px)

DESCRIPTION

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University [email protected]. Lecture 23 Arithmetic circuits (Cont’d). The Binary Multiplication. The Binary Multiplication. Partial-Product Generation. - PowerPoint PPT Presentation

Citation preview

Page 1: EE 466/586 VLSI Design

EE 466/586EE 466/586VLSI DesignVLSI DesignPartha Pande

School of EECSWashington State University

[email protected]

Page 2: EE 466/586 VLSI Design

Lecture 23Arithmetic circuits (Cont’d)

Page 3: EE 466/586 VLSI Design

The Binary MultiplicationThe Binary Multiplication

Z X·· Y Zk2k

k 0=

M N 1–+

= =

Xi2i

i 0=

M 1–

Yj2j

j 0=

N 1–

=

XiYj2i j+

j 0=

N 1–

i 0=

M 1–

=

X Xi2i

i 0=

M 1–

=

Y Yj2j

j 0=

N 1–

=

with

Page 4: EE 466/586 VLSI Design

The Binary MultiplicationThe Binary Multiplication

x

Partial products

Multiplicand

Multiplier

Result

1 0 1 0 1 0

1 0 1 0 1 0

1 0 1 0 1 0

1 1 1 0 0 1 1 1 0

0 0 0 0 0 0

1 0 1 0 1 0

1 0 1 1

Page 5: EE 466/586 VLSI Design

Partial-Product Generation

Partial products result from the logical AND of multiplicand X with a multiplier bit Yi

Each row in the partial-product array is either a copy of the multiplicand or a row of zeros.

Partial-product array has many zero rows that have no impact on the result.

Page 6: EE 466/586 VLSI Design

The Array MultiplierThe Array Multiplier

Y0

Y1

X3 X2 X1 X0

X3

HA

X2

FA

X1

FA

X0

HA

Y2X3

FA

X2

FA

X1

FA

X0

HA

Z1

Z3Z6Z7 Z5 Z4

Y3X3

FA

X2

FA

X1

FA

X0

HA

Page 7: EE 466/586 VLSI Design

The MxN Array MultiplierThe MxN Array Multiplier— Critical Path— Critical Path

HA FA FA HA

HAFAFAFA

FAFA FA HA

Critical Path 1

Critical Path 2

Critical Path 1 & 2

Page 8: EE 466/586 VLSI Design

Carry-Save MultiplierCarry-Save Multiplier

Multiplication result does not change when the output carry bits are passed diagonally downwards instead of only to the right.

Include an extra adder called a vector-merging adder to generate the final results

Page 9: EE 466/586 VLSI Design

Carry-Save MultiplierCarry-Save MultiplierHA HA HA HA

FAFAFAHA

FAHA FA FA

FAHA FA HA

Vector Merging Adder

Page 10: EE 466/586 VLSI Design

Multiplier FloorplanMultiplier Floorplan

SCSCSCSC

SCSCSCSC

SCSCSCSC

SC

SC

SC

SC

Z0

Z1

Z2

Z3Z4Z5Z6Z7

X0X1X2X3

Y1

Y2

Y3

Y0

Vector Merging Cell

HA Multiplier Cell

FA Multiplier Cell

X and Y signals are broadcastedthrough the complete array.( )

Page 11: EE 466/586 VLSI Design

Wallace-Tree MultiplierWallace-Tree Multiplier

6 5 4 3 2 1 0 6 5 4 3 2 1 0

Partial products First stage

Bit position

6 5 4 3 2 1 0 6 5 4 3 2 1 0

Second stage Final adder

FA HA

(a) (b)

(c) (d)

Page 12: EE 466/586 VLSI Design

Wallace-Tree MultiplierWallace-Tree Multiplier

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

Page 13: EE 466/586 VLSI Design

Wallace-Tree Multiplier

FA

FA

FA

FA

y0 y1 y2

y3

y4

y5

S

Ci-1

Ci-1

Ci-1

Ci

Ci

Ci

FA

y0 y1 y2

FA

y3 y4 y5

FA

FA

CC S

Ci-1

Ci-1

Ci-1

Ci

Ci

Ci

Page 14: EE 466/586 VLSI Design

The Binary ShifterThe Binary Shifter

Ai

Ai-1

Bi

Bi-1

Right Leftnop

Bit-Slice i

...

Page 15: EE 466/586 VLSI Design

The Barrel ShifterThe Barrel Shifter

Sh3Sh2Sh1Sh0

Sh3

Sh2

Sh1

A3

A2

A1

A0

B3

B2

B1

B0

: Control Wire

: Data Wire

Area Dominated by Wiring

Page 16: EE 466/586 VLSI Design

The Barrel ShifterThe Barrel Shifter

Number of rows equals the word length of the data Number of columns equals to the maximum shift

width The control wires are routed diagonally through the

array

Page 17: EE 466/586 VLSI Design

Full Datapath

Page 18: EE 466/586 VLSI Design

Datapath With Control