Abstract
We study energy consumption in CMOS-style VLSI circuits, where a wire of length/consumes energy Θh(1) when switching. Three model are considered: the uniswitch model where a wire is assumed to switch at most once if the input changes, the multiswitch model which allows the possibility of multiple switches caused by uncontrolled delays, and the clock model which also takes clock distribution energy into account. Previous lower bound results for the uniswitch model applied only to circuits where intermediate data were not encoded (for example, in unary) by using additional wires and area to reduce the energy. We show that such encodings can be useful for adding two//-bit numbers using synchronous boolean circuits (energy reduction from Θ(n log n) to O(n log n/(log log n)), but not for transitive functions such as the cyclic shift of n bits (energy &(n)). For the multiswitch modefTwe develop layouts that achieve energy close to the uniswitch case for these problems. and show a separation result between the uniswitch and multiswitch models. Finally, some energy-period tradeoffs are shown for the clock model. © 1988 ACM.