Application of Addition Algorithms Joe Cavallaro
Overview u Addition algorithms – core operation u Fixed-point core algorithms easy to implement u Basic adder design from full adder cell u Ripple carry addition – O(n) u Carry propagation bottleneck u “Fast” algorithms control carry transport
Wireless Communications Applications u Key to all matrix algorithms. u GPP and DSP processors use a given algorithm u Flexible choice in ASIC and FPGA designs u Multiuser Detection – Addition bottleneck since multiplications can be eliminated via hard decisions u Area-time complexity in choice of Adders
Redundant Arithmetic and On-Line Addition u Traditional number systems have “0” and “1” and work from LSB to MSB. u Redundant arithmetic allows “-1”, “0” and “1” bits per digit – implies multiple representations and “error correction” u On-Line arithmetic is bit serial from MSB to LSB u Allows for efficient pipelines and allows quick sign detection u Challenge is to quantify speedup
Adder Equations u Full Adder Cell u S_I = x_I XOR y_I XOR c_I u C_I+1 = x_I AND y_I OR c_I AND (x_I OR y_I)
Ripple Carry Adder
Carry look-ahead Adder
(f,r) Gate Tree
Tree Structure Adder – T > log 2n
Manchester Carry Chain
Carry Skip Adder – comparable to CLA
Counter Cell – Multi-operand -> Multiplication
Carry-Save Adders u Basic cell generate c and s output u S = (x + y + z) mod 2 u C = ((x + y + z) – s) / 2 u Final carry-propagate adder at bottom of tree
Carry Save Adder – 4 Operands
Carry Save Adder Tree for 6 Operands
Levels in the CSA Tree
Pipelined Design
Timing Diagram for Pipeline
Summary u Overview of addition algorithms u Block structures for RCA, CLA, CSA u Introduction to Redundant arithmetic and On-line arithmetic u Application to ASICs for Multiuser Detection u Reference: Israel Koren