VLSI Arithmetic - University of California, Davis › ~vojin › CLASSES › EPFL › ... ·...
Transcript of VLSI Arithmetic - University of California, Davis › ~vojin › CLASSES › EPFL › ... ·...
VLSI Arithmetic
Lecture 11:Division
Prof. Vojin G. OklobdzijaUniversity of California
http://www.ece.ucdavis.edu/acsel
June 1, 20042
DivisionPart Goals
Review shift-subtract division schemesLearn about faster dividersDiscuss speed/cost tradeoffs in dividers
Part SynopsisDivision is the hardest basic operationFortunately, it is also the least commonDivision speedup: high-radix, array, ...Combined multiplication/division hardwareDigit-recurrence vs convergence division
*from Parhami
June 1, 20043
Shift/Subtract Division Algorithms
*from Parhami
June 1, 20044
DivisionDivision is more complex than multiplication:
Need for quotient digit selection or estimationPossibility of overflow: the high-order k bits of zmust be strictly less than d; this overflow checkalso detects the divide-by-zero condition.
*from Parhami
June 1, 20045
Division
*from Parhami
June 1, 20046
Programmed Division
*from Parhami
June 1, 20047
Restoring Hardware Dividers
*from Parhami
June 1, 20048
Restoring Hardware Dividers
*from Parhami
June 1, 20049
Restoring Hardware Dividers
*from Parhami
June 1, 200410
Restoring Division
*from Parhami
June 1, 200411
Nonrestoring and Signed Division
The cycle time in restoring division must accommodate:• shifting the registers• allowing signals to propagate through the adder• determining and storing the next quotient digit• storing the trial difference, if required
Later events depend on earlier ones in the same cycleSuch dependencies tend to lengthen the clock cycle.
Nonrestoring division algorithm assume qk–j = 1 and perform• subtraction• store the difference as the new partial remainder
(the partial remainder can become incorrect, hence the name “nonrestoring”)
*from Parhami
June 1, 200412
Nonrestoring Division
Why it is acceptable to store an incorrect valuein the partial-remainder register?
*from Parhami
June 1, 200413
Non-restoring Division
*from Parhami
June 1, 200414
Nonrestoring Division Example
(0 1 1 1 0 1 0 1)two / (1 0 1 0)two(117)ten / (10)ten *from Parhami
June 1, 200415
Division
*from Parhami
June 1, 200416
Division
*from Parhami
June 1, 200417
Division
*from Parhami
June 1, 200418
Division
*from Parhami
June 1, 200419
*from Parhami
June 1, 200420
High-Radix Division
*from Parhami
June 1, 200421
High-Radix Division
*from Parhami
June 1, 200422
High-Radix Division
*from Parhami
June 1, 200423
SRT Division
*from Parhami
June 1, 200424
SRT Division
*from Parhami
June 1, 200425
SRT Division
*from Parhami
June 1, 200426
SRT Division
*from Parhami
June 1, 200427
Using Carry-Save Adder
*from Parhami
June 1, 200428
SRT Division
*from Parhami
June 1, 200429
*from Parhami
June 1, 200430
Radix-4 SRT
Division
*from Parhami
June 1, 200431
General High-Radix Dividers
*from Parhami
June 1, 200432
Combined Multiply/Divide Units
June 1, 200433
Other Methods for Division
General High-Radix DividersDivision with prescalingArray DividersDivision by Convergence
Division by repeated multiplicationDivision by reciprocation
Multiplier DesignJune 1, 2004 34
THEEND
Hollywood