0605_optimization of spanning tree adders

39
Optimization of Spanning Tree Adders 報報報 報報報 報報報 報報報

Upload: raji-pillalamarri

Post on 15-Oct-2014

90 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: 0605_Optimization of Spanning Tree Adders

Optimization of Spanning Tree Adders

報告者曾俊雄  賴韋志  巫祈賢 

Page 2: 0605_Optimization of Spanning Tree Adders

OverviewCompare designs of spanning tree adders in terms of delay complexity power consumption

Spanning tree adders is an existing category of adders, this paper does not focus on inventing new spanning tree adders but performing experiments on several possible configuration of spanning tree adders.

Page 3: 0605_Optimization of Spanning Tree Adders

Introduction to several adders

Why spanning tree adders are needed?

Experimental result

Conclusion & future work

Page 4: 0605_Optimization of Spanning Tree Adders

AgendaIntroduction to Adders & Problem Statement

Spanning Tree Adders

Result & Conclusion

Page 5: 0605_Optimization of Spanning Tree Adders

Introduction to Adders & Problem Statement

Spanning Tree Adders

Result & Conclusion

Page 6: 0605_Optimization of Spanning Tree Adders

Introduction to Adders & Problem Statement

source: http://en.wikipedia.org/wiki/Adder_(electronics)

Page 7: 0605_Optimization of Spanning Tree Adders

Very brief introduction on several existing adders: ripple carry adders carry skip adders carry look ahead adders tree structured adders

Brent-Kung Spanning Tree Ling Han-Carlson Kogge-Stone

Page 8: 0605_Optimization of Spanning Tree Adders

Very brief introduction on several existing adders: ripple carry adders carry skip adders carry look ahead adders tree structured adders

Brent-Kung Spanning Tree Ling Han-Carlson Kogge-Stone

Page 9: 0605_Optimization of Spanning Tree Adders

Propagation DelayBasically, the performance of adders are evaluated with propagation delay (in this paper)

Page 10: 0605_Optimization of Spanning Tree Adders

source: http://www.seas.upenn.edu/~ese201/lab/CarryLookAhead/CarryLookAheadF01.html

Propagation Delay: also called gate delay, the time difference between the change of input and output signals.

Page 11: 0605_Optimization of Spanning Tree Adders

Ripple Carry AddersGoal: the adder should be able to compute

the sum of more than 1 bits Idea: just chain several adders together

Page 12: 0605_Optimization of Spanning Tree Adders

source: http://en.wikipedia.org/wiki/Adder_(electronics)

Page 13: 0605_Optimization of Spanning Tree Adders

Pros & ConsPros:straight forward, easy to implement low power consumption, low resource

source: D.J.Kinniment, J.D.Garside, B.Gao, A comparison ofPower Consumption in Some CMOS Adder Circuits. In:Proceedings of the Fifth International WorkshopPATMOS-‘95, Oldenburg, Germany, ISBN 3-8142-0526-X, pp. 106-118.

Page 14: 0605_Optimization of Spanning Tree Adders

Cons:slow (high propagation delay)

a 32-bits adder requires 31 carry computations

source: http://en.wikipedia.org/wiki/Adder_(electronics)

Page 15: 0605_Optimization of Spanning Tree Adders

Carry look ahead addersproposed by Weinberger and Smith in 1958

source: http://en.wikipedia.org/wiki/Carry_look-ahead_adder

Page 16: 0605_Optimization of Spanning Tree Adders

carry look ahead adders work by creating “Propagate” and “Generate” signals for each bit

Propagate: controls whether a carry is propagated from lower bits to higher bits

Generate: controls whether a carry is generated

Page 17: 0605_Optimization of Spanning Tree Adders

a 4-bits carry look ahead adder

source: http://www.seas.upenn.edu/~ese201/lab/CarryLookAhead/CarryLookAheadF01.html

Page 18: 0605_Optimization of Spanning Tree Adders

Pros & ConsPros: faster than ripple-carry adders, since some

computation can be done in advance

for example, part of C4 can be pre-computed after C0, P0, G0 are known

Page 19: 0605_Optimization of Spanning Tree Adders

Cons:much more complicated when > 4 bits (

http://www.seas.upenn.edu/~ese201/lab/CarryLookAhead/CarryLookAheadF01.html)

the carry look ahead block requires gates with more than 2 input, which may cause efficiency problems (according to Megha Ladha; Earl E. Swartzlander, Jr )

Page 20: 0605_Optimization of Spanning Tree Adders

AlternativesAlternatives: improved carry look ahead adders: Ling

adders tree-style adders to decrease input numbers

for each level:Kogge-Stone AdderBrent-Kung AdderHan-Carlson AdderSpanning Tree Adder

Page 21: 0605_Optimization of Spanning Tree Adders

Kogge-Stone Adder

Brent-Kung Adder

source: http://www.acsel-lab.com/Projects/fast_adder/adder_designs.htm

Page 22: 0605_Optimization of Spanning Tree Adders

Introduction to Adders & Problem Statement

Spanning Tree Adders

Result & Conclusion

Page 23: 0605_Optimization of Spanning Tree Adders

Spanning Tree Adder (STA)Spanning tree adder use minimum number of multi-input gates Hybrid adder

Manchester Carry Chain (MCC) use ripple carries Propagate rapidly Size of MCC

is a trade of# of inputs# of levels

MCC

Page 24: 0605_Optimization of Spanning Tree Adders

32-bit STA

Page 25: 0605_Optimization of Spanning Tree Adders

STA based on MCCGi:j=MCC2(Gi:k-1, Gk:j, Pi:k-1, Pk:j)

Gi:j=MCC3(Gi:k-1, Gk:m-1, Gm:j, Pi:k-1, Pk:m-1, Pk:j)

Ci=G0:i-1

Page 26: 0605_Optimization of Spanning Tree Adders

Carry Select Adder (CSA)Two sum outputs: Assumed carry input as 0 Assumed carry input as 1

# of MCC level is decided by the size of final stage CSA m-bits wide CSA Require Cm, C2m, C3m…

carry select adder

Page 27: 0605_Optimization of Spanning Tree Adders

Final stage adder: if m is large carry select adder takes more time if m is mall need more MCC levels

8-bits wide carry select adder4 sum outputs

Page 28: 0605_Optimization of Spanning Tree Adders

Introduction to Adders & Problem Statement

Spanning Tree Adders

Result & Conclusion

Page 29: 0605_Optimization of Spanning Tree Adders

Main Comparion16-bit vs. 32-bit adders

CLA vs. Spanning tree adders

4-bit, 8-bit, 16-bit RCA vs. CSA

Measure: Delay, complexity, power consumption

Delay and power consumption are performed with Synopsys and Cadence

Page 30: 0605_Optimization of Spanning Tree Adders

16-bit vs. 32-bit Adders

32-bit spanning tree

16-bit spanning tree

Size of CSA ↑: Delay of MCC ↓, CSA ↑

Page 31: 0605_Optimization of Spanning Tree Adders

4-bit, 8-bit, 16-bit RCA vs. CSA - Delay

16 and 32-bit spanning tree with CSA and RCA in final stage

Delay: Except 4-bit module, CSA is better

Page 32: 0605_Optimization of Spanning Tree Adders

4-bit, 8-bit, 16-bit RCA vs. CSA - Complexity

16 and 32-bit spanning tree with CSA and RCA in final stage

Complexity: Almost the same

Page 33: 0605_Optimization of Spanning Tree Adders

4-bit, 8-bit, 16-bit RCA vs. CSA - Power Consumption

16 and 32-bit spanning tree with CSA and RCA in final stage

Size of Final Adders ↑: Power Consumption ↓

Page 34: 0605_Optimization of Spanning Tree Adders

CLA vs. Spanning tree adders - Delay

16 and 32-bit CLA and Optimum Spanning Tree(OST)

Ratio of Delay: 32bit decreases more

Page 35: 0605_Optimization of Spanning Tree Adders

CLA vs. Spanning tree adders - Complexity

16 and 32-bit CLA and Optimum Spanning Tree(OST)

Ratio of Complexity: 32bit increases less

Page 36: 0605_Optimization of Spanning Tree Adders

CLA vs. Spanning tree adders - Power Consumption

16 and 32-bit CLA and Optimum Spanning Tree(OST)

Ratio of Power Consumption: Almost the same

Page 37: 0605_Optimization of Spanning Tree Adders

ConclusionPerformance: In 16-bit Spanning tree adder, 4-bit, RCA and

CSA are the same In 32-bit Spanning tree adder, 8-bit above,

RCA is betterSpanning tree is more ideal for larger size.

Page 38: 0605_Optimization of Spanning Tree Adders

Future WorkUse transistor to design final adders and MCC blocks

Sized for optimum performance

Use transistor multiplexer instead of gate level multiplexer

Page 39: 0605_Optimization of Spanning Tree Adders

Some Others – IC Design

Language level: Like C language

Gate level: Assembly language

Transistor level: Machine code