Binary Multiplication Algorithms: Shift and Add, Radix-4, and Booth Recoding - Prof. Krzys, Study notes of Electrical and Electronics Engineering

Various binary multiplication algorithms, including shift and add (right and left), radix-4, and booth recoding. Topics cover sequential multiplication of 2's-complement numbers, high-radix shift/add algorithms, and radix-4 multiplier designs. Examples and formulas are provided.

Typology: Study notes

Pre 2010

Uploaded on 02/10/2009

koofers-user-sem-2
koofers-user-sem-2 🇺🇸

10 documents

1 / 19

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
Sequential
Multipliers
Lecture 7
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Partial preview of the text

Download Binary Multiplication Algorithms: Shift and Add, Radix-4, and Booth Recoding - Prof. Krzys and more Study notes Electrical and Electronics Engineering in PDF only on Docsity!

Sequential

Multipliers

Lecture 7

Notation

a Multiplicand ak-1ak-2... a 1 a 0

x Multiplier xk-1xk-2... x 1 x 0

p Product (a ⋅ x) p2k-1p2k-2... p 2 p 1 p 0

Multiplication of two 4-bit unsigned

binary numbers in dot notation

Sequential shift-and-add multiplier for

right-shift algorithm

Right-shift

multiplication

algorithm:

Example

Area optimization for the sequential shift-and-add multiplier with the right-shift algorithm

Shift/Add Algorithms

Left-shift algorithm

p = a ⋅^ x = x 0 a2^0 + x 1 a2^1 + x 2 a2^2 + … + xk-1a2k-

= (...((0⋅2 + xk-1a)⋅2 + xk-2a)⋅2 + ... + x 1 a)⋅2 + x 0 a=

k times

p(0)^ = 0

p = p(k)

p(j+1)^ = (p(j)^ ⋅2 + xk-1-ja) j=0..k-

Shift/Add Algorithms

Right-shift algorithm: multiply-add

= (...((y2k^ + x 0 a2k)/2 + x 1 a2k)/2 + ... + xk-1a2k)/2 =

k times

p(0)^ = y2k

p = p(k)

p(j+1)^ = (p(j)^ + xj a 2k) / 2 j=0..k-

= y + x 0 a2^0 + x 1 a2^1 + x 2 a2^2 + … + xk-1a2k-1^ = y + a ⋅^ x

p(0)^ = y2-k

p = p(k)

p(j+1)^ = (p(j)^ ⋅2 + xk-(j+1)a) j=0..k-

Shift/Add Algorithms

Left-shift algorithm: multiply-add

= (...((y2-k^ ⋅2 + xk-1a)⋅2 + xk-2a)⋅2 + ... + x 1 a)⋅2 + x 0 a =

k times

= y + xk-1a2k-1^ + xk-2a2k-2^ + … + x 1 a2^1 + x 0 a = y + a ⋅^ x

Sequential multiplication of 2’s-complement numbers with right shifts (positive multiplier)

Sequential multiplication of 2’s-complement numbers with right shifts (negative multiplier)

Radix-4, or two-bit-at-a-time,

multiplication in dot notation

Basic Multiplication Equations

x = ∑ xi ⋅^ ri

i=

k- p = a ⋅^ x

p = a ⋅^ x = ∑ a ⋅ xi ⋅^ ri^ =

= x 0 ar^0 + x 1 a r^1 + x 2 a r^2 + … + xk-1a rk-

i=

k-

High-Radix Shift/Add Algorithms

Right-shift high-radix algorithm

p = a ⋅^ x = x 0 ar^0 + x 1 ar^1 + x 2 ar^2 + … + xk-1ark-

= (...((0 + x 0 ark)/r + x 1 ark)/r + ... + xk-1ark)/r =

k times

p(0)^ = 0

p = p(k)

p(j+1)^ = (p(j)^ + xj a rk) / r j=0..k-

High-Radix Shift/Add Algorithms

Left-shift high-radix algorithm

p = a ⋅^ x = x 0 ar^0 + x 1 ar^1 + x 2 ar^2 + … + xk-1ark-

= (...((0⋅r + xk-1a)⋅r + xk-2a)⋅r + ... + x 1 a)⋅r + x 0 a=

k times

p(0)^ = 0

p = p(k)

p(j+1)^ = (p(j)^ ⋅ r + xk-1-ja) j=0..k-

The multiple generation part of a radix- multiplier based on replacing 3 a with 4 a (carry into next higher radix-4 multiplier digit) and - a

Radix-2 Booth Recoding

j+1 j i

Radix-2 Booth Recoding

Sequential

multiplication of

2’s-complement

numbers with

right shifts using

Booth’s recoding

Example radix-4 multiplication with modified Booth’s recoding of the 2’s-complement multiplier

The multiple generation part of a radix-

multiplier based on Booth’s recoding

Radix-4 multiplication with a carry-save adder used to combine the cumulative partial product, xia , and 2 xi +1 a into two numbers

Radix-4 multiplier with

a carry-save adder and Booth’s recoding

Radix-16 multiplier with carry-save adders