Resurrecting infeasible clock-gating functions

In this paper we consider the problem of exploiting infeasible clock gating functions. Analysis of industrial designs reveals a large margin of potential for power saving based on clock gating functions that initially appear to be useless due to timing violation or excessive power consumption. We propose two optimization techniques for resurrecting such functions that can be used as a generic post-processing phase in an automatic clock gating tool. The first provides timing-aware approximation and the second aims at generating large gating domains by clustering similar clock gating functions. Our experimental results show that the combination of these two techniques yields an additional power saving of up to 78% in industrial designs.

[1]  Martin D. F. Wong,et al.  DDBDD: Delay-Driven BDD Synthesis for FPGAs , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[2]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[3]  Ali Assi,et al.  BDD Path Length Minimization Based on Initial Variable Ordering , 2005 .

[4]  Antonio J. Acosta,et al.  Selective Clock-Gating for Low Power/Low Noise Synchronous Counters 1 , 2002, PATMOS.

[5]  Reiner Kolla,et al.  Approximative Representation of boolean Functions by size controllable ROBDD's , 1997 .

[6]  Maciej J. Ciesielski,et al.  BDD decomposition for efficient logic synthesis , 1999, Proceedings 1999 IEEE International Conference on Computer Design: VLSI in Computers and Processors (Cat. No.99CB37040).

[7]  Marios C. Papaefthymiou,et al.  Precomputation-based sequential logic optimization for low power , 1994, ICCAD '94.

[8]  Moshe Y. Vardi,et al.  Intelligate: Scalable Dynamic Invariant Learning for Power Reduction , 2009, PATMOS.

[9]  Ron Shamir,et al.  Clustering Gene Expression Patterns , 1999, J. Comput. Biol..

[10]  Maciej J. Ciesielski,et al.  BDS: a BDD-based logic optimization system , 2000, DAC.

[11]  Shih-Chieh Chang,et al.  A novel sequential circuit optimization with clock gating logic , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[12]  David Bañeres,et al.  A Recursive Paradigm to Solve Boolean Relations , 2009, IEEE Transactions on Computers.

[13]  Luca Benini,et al.  Symbolic synthesis of clock-gating logic for power optimization of synchronous controllers , 1999, TODE.

[14]  Aaron P. Hurst Automatic synthesis of clock gating logic with controlled netlist perturbation , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[15]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[16]  Frans Theeuwen,et al.  Power Reduction Through Clock Gating by Symbolic Manipulation , 1997 .

[17]  Massoud Pedram,et al.  Clock-gating and its application to low power design of sequential circuits , 2000 .