Sequential Multiplication - CAD Based Logic Design - Lecture Slides, Slides of Computer Science

These are the Lecture Slides of CAD Based Logic Design which includes Divide and Conquer, Stitching Up, Computation, Design Problem, Leaf Subproblem, Carry-Lookahead Adder, Intricate Techniques, Fast Tree Designs, Associative Operations etc. Key important points are: Sequential Multiplication, Complement Multiplication Example, Booth Multiplication Example, Intricate Techniques, Fast Tree Designs, Associative Operations, Divide and Conquer, Stitching Up

Typology: Slides

2012/2013

Uploaded on 03/21/2013

dheeraj
dheeraj 🇮🇳

5

(4)

101 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Sequential Multiplication
Docsity.com
pf3
pf4

Partial preview of the text

Download Sequential Multiplication - CAD Based Logic Design - Lecture Slides and more Slides Computer Science in PDF only on Docsity!

Sequential Multiplication

Regular A&S 2’s Complement Multiplication Example

Multplicand Y = 11001101 = -51, Multiplier X = 01100111 = 103, -Y = 10110011= - Cout-AC-Q = 0| 00000000 | 01100111 M = 11001101 Iter 1: Q0 = 1, perform add AC+Y: 00000000

  • 11001101 0 11001101 = Cout-AC No ovfl, ASR AC-Q: 11100110 | 10110011 Iter 2: Q0 = 1, perform add AC+Y: + 11001101 1 10110011 = Cout-AC No ovfl, ASR AC-Q: 11011001 | 11011001 Iter 3: Q0 = 1, perform add AC+Y: + 11001101 1 10100110 = Cout-AC No ovfl, ASR AC-Q: 11010011 | 01101100 Iter 4: Q0 = 0, only ASR AC-Q: 11101001 | 10110110 Iter 5: Q0 = 0, only ASR AC-Q: 11110100 | 11011011 Iter 6: Q0 = 1, perform add AC+Y: + 11001101 1 11000001 = Cout-AC No ovfl, ASR AC-Q: 11100000 | 11101101 Iter 7: Q0 = 1, perform add AC+Y: + 11001101 1 10101101 = Cout-AC No ovfl, ASR AC-Q: 11010110 | 11110110 Iter 8: Q0 = 0, only ASR AC-Q : 11101011 | 01111011 P = AC-Q = 1110101101111011 = -5253 = (-51) x 103. Needed to perform 5 +’s and 8 shifts

Booth Multiplication Example

Multplicand Y = 01001101 = 77, Multiplier X = 11100111 = -25, -Y = 10110011= -

Cout-AC-Q-q-^ = 0| 00000000 | 11100111 | 0 M = 01001101 (q-^ is the “prev” bit of Q)

Iter 1: q 0 -q-^ = 10, perform sub AC-Y: 00000000

0 10110011 = Cout-AC

No ovfl, ASR AC-Q-q-^ : 11011001 | 11110011 | 1

Iter 2: q 0 -q-^ = 11, only ASR AC-Q-q-^ : 11101100 | 11111001 | 1

Iter 3: q 0 -q-^ = 11, only ASR AC-Q-q-^ : 11110110 | 01111100 | 1

Iter 4: q 0 -q-^ = 01, perform add AC+Y: +

1 01000011 = Cout-AC

No ovfl, ASR AC-Q-q-^ : 00100001 | 10111110 | 0

Iter 5: q 0 -q-^ = 00, only ASR AC-Q-q-^ : 00010000 | 11011111 | 0

Iter 6: q 0 -q-^ = 10, perform sub AC-Y:+ 10110011

0 11000011 = Cout-AC

No ovfl, ASR AC-Q-q-^ : 11100001 | 11101111 | 1

Iter 7: q 0 -q-^ = 11, only ASR AC-Q-q-^ : 11110000 | 11110111 | 1

Iter 8: q 0 -q-^ = 11, only ASR AC-Q-q-^ : 11111000 | 01111011 | 1

P = AC-Q = 1111100001111011 = -1925 = 77 x (-25)

Needed only 3 +/-’s as opposed to 6 +/-’s needed in regular A&S mult.

# of shifts remain the same (8)