We address the problem of minimizing power consumption in behavioral synthesis of data-dominated circuits. The complex nature of power as a cost function implies that the effects of several behavioral synthesis tasks like module selection, clock selection, scheduling, and resource sharing on supply voltage and switched capacitance need to be considered simultaneously to fully derive the benefits of design space exploration at the behavior level. Recent work has established the importance of behavioral synthesis in low power VLSI design. However, most of the algorithms that have been proposed separate these tasks and perform them sequentially, and are hence not able to explore the tradeoffs possible due to their interaction. We present an efficient algorithm for performing scheduling, clock selection, module selection, and resource allocation and assignment simultaneously with an aim of reducing the power consumption in the synthesized data path. The algorithm, which is based on an iterative improvement strategy, is capable of escaping local minima in its search for a low power solution. The algorithm considers diverse module libraries and complex scheduling constructs such as multicycling, chaining, and structural pipelining. We describe supply voltage and clock pruning strategies that significantly improve the efficiency of our algorithm by cutting down on the computational effort involved in exploring candidate supply voltages and clock periods that are unlikely to lead to the best solution. Experimental results are reported to demonstrate the effectiveness of the algorithm. Our techniques can be combined with other known methods of behavioral power optimization like data path replication and transformations, to result in a complete data path synthesis system for low power applications.
[1]
Kenneth Steiglitz,et al.
Combinatorial Optimization: Algorithms and Complexity
,
1981
.
[2]
Anantha P. Chandrakasan,et al.
Low-power CMOS digital design
,
1992
.
[3]
Niraj K. Jha,et al.
Behavioral synthesis for low power
,
1994,
Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.
[4]
M. Horowitz,et al.
Low-power digital design
,
1994,
Proceedings of 1994 IEEE Symposium on Low Power Electronics.
[5]
Miodrag Potkonjak,et al.
Optimizing power using transformations
,
1995,
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..
[6]
Niraj K. Jha,et al.
An ILP formulation for low power based on minimizing switched capacitance during data path allocation
,
1995,
Proceedings of ISCAS'95 - International Symposium on Circuits and Systems.
[7]
Jan M. Rabaey,et al.
Architectural power analysis: The dual bit type method
,
1995,
IEEE Trans. Very Large Scale Integr. Syst..
[8]
Robert A. Walker,et al.
An exact methodology for scheduling in a 3D design space
,
1995,
Proceedings of the Eighth International Symposium on System Synthesis.
[9]
J. Rabaey,et al.
Behavioral Level Power Estimation and Exploration
,
1997
.