IP PortfolioDatapath and DSPinteger arithmetic

of_csa_tree

Carry-save adder tree (Wallace / Dadda)

Maturity simulatedTargets FPGA + ASICDifficulty MediumPriority 1

Multi-operand carry-save adder tree of 3:2 compressors reducing N_IN operands to a sum/carry pair (sum + carry == sum of inputs mod 2^WIDTH). ARCH selects Wallace (greedy) or Dadda (lazy, sequence 2,3,4,6,9,13,...) stage scheduling.

Simulated. The RTL is lint clean and passes its self-checking testbench against a reference model in simulation. It has not been run on an FPGA board or in silicon.

Interfaces

PortDirectionKindWidthNotes
opsinparallel256 
sumoutparallel64 

Standards

No external standard applies.

More in integer arithmetic

IDBlockMaturity
of_add_rippleRipple-carry addersimulated
of_add_claCarry-lookahead addersimulated
of_add_cselCarry-select addersimulated
of_add_kogge_stoneKogge-Stone parallel-prefix adderfpga-routed
of_add_brent_kungBrent-Kung parallel-prefix addersimulated
of_add_sklanskySklansky parallel-prefix addersimulated
of_addsubAdder/subtractor with flagssimulated
of_incIncrementer / decrementersimulated
of_absAbsolute valuesimulated
of_cmpMagnitude comparatorsimulated