Using Carry-Save Adders

33
Using Carry-Save Adders For Radix- 4, Can Be Used to Generate 3a – No Booth Slight Delay Penalty from CSA – 3 Gates

description

Using Carry-Save Adders. For Radix- 4, Can Be Used to Generate 3a – No Booth’s Slight Delay Penalty from CSA – 3 Gates. Upper Half P in Stored Carry. For Radix-2, Better Use in Keeping Cumulative Product in Redundant Form for First k -1 Cycles Then Use a CPA in the Last Cycle. - PowerPoint PPT Presentation

Transcript of Using Carry-Save Adders

Page 1: Using Carry-Save Adders

Using Carry-Save Adders

• For Radix- 4, Can Be Used to Generate 3a – No Booth’s• Slight Delay Penalty from CSA – 3 Gates

Page 2: Using Carry-Save Adders

Upper Half P in Stored Carry

• For Radix-2, Better Use in Keeping Cumulative Product

in Redundant Form for First k -1 Cycles• Then Use a CPA in the Last Cycle

Page 3: Using Carry-Save Adders

CSA With Booth Recoding

• Better Usage when Combined with Booth’s

Recoding

– Reduces Cycles by 50%

• Each Cycle Faster Due to CSA

• Sign of a, 2a Incorporated Directly in

Recoder/Selector Instead of Add/Subtract

Signal Generation

Page 4: Using Carry-Save Adders

CSA Combined with Booth Recoding

Page 5: Using Carry-Save Adders

Booth Recoder/Selector• Circuitry Shown on Following Slide

• Negative Multiples –a, -2a in 2’s Complement

• a, 2a Aligned at Right with Position i

• Must be Padded with i Zeros to Right

• Bitwise Complement (when –a, -2a Needed) Converts zeros to ones Followed by LSb add of 1 Converts Back to zeros

• Causes a Carry-in of 1 into Position i

• Can Ignore Positions 0 through i -1 (in neg. multiples) Insert carry-in directly (dot)

Page 6: Using Carry-Save Adders

Booth Recoder – Selector Circuit

Page 7: Using Carry-Save Adders

Radix-4 with CSA – No Booth

Page 8: Using Carry-Save Adders

Radices > 4• Radix-8 (3 bits at a time-k/3 multiples) Requires 3-Level

CSA Tree

– Might as Well Use Radix-16 (4 bits at a time)

– Still 3-level tree with one more CSA

• MUXes Can Be Replaced with Booth Recoder/Selector

Circuits in Higher Radix Multipliers

• Can Continue to Increase Radix (256-8bits) Leading to

Wider Trees

• Tradeoff is Speed Versus Area

Page 9: Using Carry-Save Adders

Radix-16 Multiplication

Page 10: Using Carry-Save Adders

Classification of Multipliers

Page 11: Using Carry-Save Adders

Twin-Beat Mult. with Radix-8 Booth Recoding

Page 12: Using Carry-Save Adders

Full Tree Multipliers• All k PPs Produced Simultaneously

• Input to k-input Multioperand Tree

• Multiples of a (Binary, High-Radix or Recoded) Formed at

Top of Tree

• Multiple-Forming Circuits

– AND Gates (binary multiplier)

– radix-4 Booth (recoded multiplier)

• Tree Results in Product in Redundant Form

(2 Values – Carry-Store for Example)

• Final Product Formed With Converter

(Fast CPA for Exmaple)

Page 13: Using Carry-Save Adders

General Parallel Multiplier

Page 14: Using Carry-Save Adders

Tree Type Multiplier Classification

• Distinguished by Design of:1. Partial Product Forming Circuits (i.e., Booth, Hi-Rad, etc.)2. Reduction Tree Type3. Redundant-to-Binary Converter

• If Redundant Result in Carry-Save Form, Converter is

Just a CPA

• Could Use Other Redundant Adders Such as Signed

Binary (4:2 Compressors)

• High Radix Multipliers Lead to Fewer Values to

Accumulate– Sequential Design – Fewer Cycles– Parallel Design Smaller Tree– Tradeoff Tree Complexity Versus Multiple Forming Circuit

Page 15: Using Carry-Save Adders

Wallace and Dadda Tree Multipliers

• Wallace – Combine Partial Products as Soon as

Possible

• Dadda – Maintain Critical Path Length (Tree

Depth) but Combine as Late as Possible

• Wallace – Fastest Possible Design Since

Typically Smaller CPA at End

• Dadda – Simpler Tree but Wider CPA at End

Page 16: Using Carry-Save Adders

4 4 Example

• 16 AND Gates Used to Form xiaj Terms (dots)

1 2 3 4 3 2 1

Page 17: Using Carry-Save Adders

Wallace Example

1 2 3 4 3 2 1

• 5 FAs, 3 HAs, 4-bit CPA

Page 18: Using Carry-Save Adders

Dadda Examples

1 2 3 4 3 2 1

• 3 FAs, 3 HAs, 6-bit CPA

1 2 3 4 3 2 1

• 4 FAs, 2 HAs, 6-bit CPA

Page 19: Using Carry-Save Adders

Trees in Numeric Representation

• Many Times Hybrid Approach Used to Find Smallest Width CPA

• MS Thesis Topic – Optimize Tree With Different Counter Types

Page 20: Using Carry-Save Adders

Implementation Issues

• Logarithmic Depth Tree – Irregular Structure

• Design/Layout Difficult

• Various Length Signal Propagation Paths

• Hazards and Signal Skew

• Need Iterated Recursive Structures

• Automatic Synthesis and Layout

• Motivates Search for Alternative Reduction Tree

Structures

Page 21: Using Carry-Save Adders

Other Tree Architectures

• Can Compose from Larger Counters, e.g. (7:2)

– Use “0” Inputs for Some

– Or Prune the Tree for Some

• Use “slices” – Example is (11:2) – Next Slide

– Can be Laid Out to Occupy Narrow Vertical

Slice and Replicated

– All Carries Produced in Level i Enter Level i+1

– Balanced Delay Tree Results

• 3 Columns – 1, 3, 5 FAs

• Can Expand from 11 to 18 – Append Col. of 7

Page 22: Using Carry-Save Adders

(11:2) Tree Slice

Page 23: Using Carry-Save Adders

Other Tree Blocks

• Converter Stage is Fast CPA • Can Also Use SBD• With SBD the Converter Stage is a Fast Subtractor

Page 24: Using Carry-Save Adders

Array Multipliers

• Can Eliminate Top CSA With 0 Input• Can Replace 0 With y to Compute ax+y

Page 25: Using Carry-Save Adders

Array Multipliers

• Tree is One-Sided

• Longest Delay is 4 CSA Plus k-bit CPA

• Slower than Wallace/Dadda Tree

• Regular Structure

– short wires in horiz., vert., diag. positions

– simple, efficient layout

– easily pipelined (latches after each CSA row)

Page 26: Using Carry-Save Adders

Methods for Reducing Array Size

Page 27: Using Carry-Save Adders

Reducing Array Size (cont.)

Page 28: Using Carry-Save Adders

5 by 5 Array Multiplier (unsgnd)

Page 29: Using Carry-Save Adders

Signed Array Multiplier

• Array with 2’s Complement

• Alternative is Pezaris Array with Different Cell

Types

• Need Array of AND Gates for Multiple Generation

• Critical Path is Main Diagonal then Ripple Thru

CPA

• Can skip “h” Cells Along Main Diag– lower right cell now has 4 inputs– move to “extra” input in second cell in diag.– less regular layout now but faster

Page 30: Using Carry-Save Adders

5 by 5 Array Multiplier (signed)

Page 31: Using Carry-Save Adders

5 by 5 Array Multiplier

• AND Gates Embedded inside FA Blocks

Page 32: Using Carry-Save Adders

Pipelined Partial Tree Multiplier

Page 33: Using Carry-Save Adders

Pipelined Array Multiplier