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

0605_Optimization of Spanning Tree Adders (1)

Embed Size (px)

Citation preview

Page 1: 0605_Optimization of Spanning Tree Adders (1)

Optimization of Spanning Tree Adders

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

Page 2: 0605_Optimization of Spanning Tree Adders (1)

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 (1)

Introduction to several addersWhy spanning tree adders are needed?Experimental resultConclusion & future work

Page 4: 0605_Optimization of Spanning Tree Adders (1)

AgendaIntroduction to Adders & Problem StatementSpanning Tree AddersResult & Conclusion

Page 5: 0605_Optimization of Spanning Tree Adders (1)

Introduction to Adders & Problem StatementSpanning Tree AddersResult & Conclusion

Page 6: 0605_Optimization of Spanning Tree Adders (1)

Introduction to Adders & Problem Statement

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

Page 7: 0605_Optimization of Spanning Tree Adders (1)

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 (1)

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 (1)

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

Page 10: 0605_Optimization of Spanning Tree Adders (1)

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 (1)

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 (1)

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

Page 13: 0605_Optimization of Spanning Tree Adders (1)

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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

Introduction to Adders & Problem StatementSpanning Tree AddersResult & Conclusion

Page 23: 0605_Optimization of Spanning Tree Adders (1)

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 (1)

32-bit STA

Page 25: 0605_Optimization of Spanning Tree Adders (1)

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 (1)

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 (1)

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 (1)

Introduction to Adders & Problem StatementSpanning Tree AddersResult & Conclusion

Page 29: 0605_Optimization of Spanning Tree Adders (1)

Main Comparion16-bit vs. 32-bit addersCLA vs. Spanning tree adders4-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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

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 (1)

Future WorkUse transistor to design final adders and MCC blocksSized for optimum performanceUse transistor multiplexer instead of gate level multiplexer

Page 39: 0605_Optimization of Spanning Tree Adders (1)

Some Others – IC Design

Language level: Like C languageGate level: Assembly languageTransistor level: Machine code