A systematic incrementalization technique and its application to hardware design

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


A systematic transformation method based on incrementalization and value caching generalizes a broad family of program optimizations. It yields significant performance improvements in many program classes, including iterative schemes that characterize hardware specifications. CACHET is an interactive incrementalization tool. Although incrementalization is highly structured and automatable, better results are obtained through interaction, where the main task is to guide term rewriting based on data-specific identities. Incrementalization specialized to iteration corresponds to strength reduction, a familiar program improvement technique. This correspondence is illustrated by the derivation of a hardware-efficient nonrestoring square-root algorithm, which has also served as an example of theorem prover-based implementation verification.

Published online: 9 October 2001
ID="*"S.D. Johnson supported, in part, by the National Science Foundation under grant MIP-9601358.
ID="**"Y.A. Liu supported in part by the National Science Foundation under grant CCR-9711253, the Office of Naval Research under grant N00014-99-1-0132, and Motorola Inc. under a Motorola University Partnership in Research Grant.
ID="***"Y. Zhang is a student recipient of a Motorola University Partnership in Research Grant.