CSE246 Adder - PowerPoint PPT Presentation

About This Presentation
Title:

CSE246 Adder

Description:

Given depth constraint, generate a parallel prefix adder of minimum ... 7(GP[3,0]) Level 4. 8(GP[4,0]) Level 5. 8/30/09. 9. Dynamic Programming. Complexity ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 20
Provided by: haiku
Learn more at: https://cseweb.ucsd.edu
Category:
Tags: adder | cse246 | gp

less

Transcript and Presenter's Notes

Title: CSE246 Adder


1
CSE246Adder Part II
  • Instructor
  • Prof. Chung-Kuan Cheng

2
Zimmermans Heuristic Approach
  • Problem formulation
  • Given depth constraint, generate a parallel
    prefix adder of minimum size
  • Two step Heuristic
  • Start with a serial prefix adder
  • Compress to a fastest prefix structure at the
    cost of increasing size
  • LSB to MSB, low level to high level
  • Expand to reduce size, subject to depth
    constraint
  • MSB to LSB, high level to low level

3
Zimmermans Heuristic Approach
  • Local compression/expansion operation
  • Up/down shift

4
Zimmermans Heuristic Approach
  • Advantages
  • Simple and fast
  • Product depth-size optimal result in many cases
  • Handles non-uniform input arrival times
  • Disadvantage
  • No guarantee on optimality

5
Prefix Adder with arbitrary input arrival time
profile
  • Non-uniform input arrival times represented in
    real number
  • How to construct the fastest prefix adder under
    arbitrary input arrival time profile?

6
Cont
  • Timing model
  • All (G,P) generators have the same delay C
  • Denote the output timing of generator (G,P)ij
    as tij
  • Suppose in the prefix graph, (G,P)ij is
    generated from (G,P)jk and (G,P)k-1j, then

tij maxtik , tk-1j C
7
Dynamic Programming The idea
  • Image a full array of partial prefix results
  • All (G,P) signals of length i are on level i
  • Rightmost signals are wanted prefix results
  • Generate all the (G,P) signals row by row, from
    lower level to higher level
  • For each (G,P) signal, find the scheme that leads
    to best timing, i.e., find the partition point k
    such that

tij minmaxtik , tk-1j C
tnn
tn-1n-1
t11
t22
k
tnn-1
t21
tnn-2
t31
tn2
tn-11
tn1
8
Dynamic Programming
  • A 5-bit example

9
Dynamic Programming
  • Complexity
  • For (G,P)ij, search (i-j) combinations
  • Overall O(n3)
  • Hints for reducing complexity
  • For (G,P)ij, there might more than one optimal
    partition points, but we want just one
  • At least one optimal partition point of
    (G,P)ij is bounded by the optimal partition
    points of (G,P)i-1j and (G,P)ij1

10
Backward Reduction I
  • Some of the partial prefix results are not used,
    hence can be removed

Level 1
Level 2
Level 3
Level 4
Level 5
(a)
(b)
11
Backward Reduction II
  • Some nodes may be over tightened, and can be
    relaxed to reduce area

12
A missing detail
  • (G,P) signals allows overlap ? search space
    increases
  • However, allowing overlapping does not produce
    better timing

(G,P)ij (G,P)ik (G,P)lj
l k
13
Function level optimization
  • Carry Skip Adder

If p3,0p3p2p1p0 1, then x cin
14
False Path
  • A1 lt- MUX lt- A0 lt- cin is a false path
  • If carry is from cin, then block must have
    p3p2p1p0 1
  • Since p3,0 1, g3,0 must be 0
  • The carry is not generated from A0
  • The carry needs not to propagate via A0, it will
    go from the MUX

15
False Path Cycles
  • Cycles of False Paths Eg. 1s complement number
    addition
  • Positive x
  • Negative (2n-1)-x
  • Addition
  • (2n-1)-x (2n-1)-y 2n(2n-1)-(xy)-1

A3,0
B3,0
Cout
Cin
Adder
S3,0
16
Example
  • 000
  • 11111 0
  • 11111 0
  • 111110
  • 111111 0
  • -3-5 -8
  • 11100 -3
  • 11010 -5
  • 110110
  • 110111 -8

17
Multi-Operand Addition
  • Carry save adder a (3,2) counter

18
Example
  • A (3,2) counter compresses X rows to 2/3X rows
    each time
  • Tree structure in implementation

19
Other Counters
  • (7,3) counter
  • (5,3) counter

S1
Ca
Cb
S0
S0
S2
  • Design of (5,3) counter using full adders

Ca
Cb
S0
Write a Comment
User Comments (0)
About PowerShow.com