We present a unified framework to compare and optimize various adders in the literature including carry-ripple adders, carry-look-ahead adders, prefix-adders, canonic adders, block-based carry-look-ahead adders, carry-skip adders, conditional-sum adders, carry-select adders, and hybrid adders. The logic of all those adders can be separated into two parts: the carry logic and the sum logic, while carries can be generated by a uniformed carry operator implemented by any of the prefix operator, the fco operator, MUX, the AND-OR gates, and pass-transistors. The most efficient way to generate carries is by layers instead of by groups, where layers are non-consecutive non-equal length collections. We demonstrate that the conditional-sum adders and carry-select adders have redundant sum logic and sub-optimal carry logic; therefore they should be eliminated. We further improve some prefix addition algorithms such as the Brent-Kung's adder for carry generation. The ideas discussed here are independent of the implementation technology and therefore useful for all implementations and technologies.
|Original language||English (US)|
|Number of pages||6|
|Journal||Conference Record of the Asilomar Conference on Signals, Systems and Computers|
|State||Published - Jan 1 2001|