Multi-level clustering for clock skew optimization

Clock skew scheduling has been effectively used to reduce the clock period of sequential circuits. However, this technique may become impractical if a different skew must be applied for each memory element. This paper presents a new technique for clock skew scheduling constrained by the number of skew domains. The technique is based on a multi-level clustering approach that progressively groups flip-flops with skew affinity. This new technique has been compared with previous work, showing the efficiency in the obtained performance and computational cost. As an example, the skews for an OpenSparc with almost 16 K flip-flops and 500 K paths have been calculated in less than 5 minutes when using only 2 to 5 skew domains.

[1]  Sachin S. Sapatnekar,et al.  A graph-theoretic approach to clock skew optimization , 1994, Proceedings of IEEE International Symposium on Circuits and Systems - ISCAS '94.

[2]  Ganesh Gopalakrishnan,et al.  Performance analysis and optimization of asynchronous circuits , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[3]  Madhav P. Desai,et al.  A novel technique towards eliminating the global clock in VLSI circuits , 2004, 17th International Conference on VLSI Design. Proceedings..

[4]  Maciej J. Ciesielski,et al.  Clock period minimization with wave pipelining , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Robert K. Brayton,et al.  Minimum padding to satisfy short path constraints , 1993, ICCAD.

[6]  Richard M. Karp,et al.  A characterization of the minimum cycle mean in a digraph , 1978, Discret. Math..

[7]  Jens Vygen,et al.  Cycle time and slack optimization for VLSI-chips , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[8]  Leee/acm International Conference On Computer-aided Design Digest Of Technical Papers , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[9]  Sandy Irani,et al.  Efficient algorithms for optimum cycle mean and optimum cost to time ratio problems , 1999, DAC '99.

[10]  Trevor N. Mudge,et al.  CheckT/sub c/ and minT/sub c/: timing verification and optimal clocking of synchronous digital circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[11]  Sachin S. Sapatnekar,et al.  Clock Skew Optimization , 1999 .

[12]  Kui Wang,et al.  A fast incremental clock skew scheduling algorithm for slack optimization , 2008, 2008 Asia and South Pacific Design Automation Conference.

[13]  Shashi Shekhar,et al.  Multilevel hypergraph partitioning: applications in VLSI domain , 1999, IEEE Trans. Very Large Scale Integr. Syst..

[14]  Andreas Kuehlmann,et al.  Multi-Domain Clock Skew Scheduling , 2003, ICCAD 2003.

[15]  J. Quadrat,et al.  Numerical Computation of Spectral Elements in Max-Plus Algebra☆ , 1998 .

[16]  T. Lindvall ON A ROUTING PROBLEM , 2004, Probability in the Engineering and Informational Sciences.

[17]  Narendra V. Shenoy,et al.  Verifying clock schedules , 1992, ICCAD.

[18]  Shih-Hsu Huang,et al.  Clock Period Minimization with Minimum Delay Insertion , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[19]  Robert E. Tarjan,et al.  Faster parametric shortest path and minimum-balance algorithms , 1991, Networks.

[20]  Robert K. Brayton,et al.  Sequential circuit design using synthesis and optimization , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[21]  M. R. Rao,et al.  Combinatorial Optimization , 1992, NATO ASI Series.

[22]  Luciano Lavagno,et al.  A Fully-Automated Desynchronization Flow for Synchronous Circuits , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[23]  R. Engelbrecht,et al.  DIGEST of TECHNICAL PAPERS , 1959 .

[24]  Atsushi Takahashi,et al.  Clock period minimization of semi-synchronous circuits by gate-level delay insertion , 1999, Proceedings of the ASP-DAC '99 Asia and South Pacific Design Automation Conference 1999 (Cat. No.99EX198).

[25]  Robert K. Brayton,et al.  Graph algorithms for clock schedule optimization , 1992, ICCAD.

[26]  Luciano Lavagno,et al.  Desynchronization: Synthesis of Asynchronous Circuits From Synchronous Specifications , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[27]  Bruce Hendrickson,et al.  A Multi-Level Algorithm For Partitioning Graphs , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[28]  Shashi Shekhar,et al.  Multilevel hypergraph partitioning: application in VLSI domain , 1997, DAC.