Derivation of a logarithmic time carry lookahead addition circuit

7Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.

Abstract

Using Haskell as a digital circuit description language, we transform a ripple carry adder that requires O(n) time to add two n-bit words into a parallel carry lookahead adder that requires O(log n) time. The ripple carry adder uses a scan function to calculate carry bits, but this scan cannot be parallelized directly since it is applied to a non-associative function. Several techniques are applied in order to introduce parallelism, including partial evaluation and symbolic function representation. The derivation given here constitutes a semi-formal correctness proof, and it also brings out explicitly each of the ideas underlying the algorithm.

Cite

CITATION STYLE

APA

O’Donnell, J. T., & Rünger, G. (2004). Derivation of a logarithmic time carry lookahead addition circuit. Journal of Functional Programming, 14(6), 697–713. https://doi.org/10.1017/S0956796804005180

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free