A revisit to the primal-dual based clock skew scheduling algorithm

Clock skew scheduling is a useful sequential circuit optimization method. The run time efficiency of this problem becomes crucial if it must be repeated iteratively in a higher level optimization. The widely recognized Burns' algorithm proposed to solve this problem suffers from high runtime complexity, which makes it unsuitable to be deployed in iterative optimization loops. This algorithm is based on the general concept of primal-dual optimization. In this paper, we demonstrate that a more efficient approach to the clock skew scheduling problem can be developed by designing a new algorithm using the same primal-dual optimization concept. The basic idea of the algorithm is to avoid creating new admissible graph and recalculating θ values for each iteration of the primal-dual optimization. The asymptotic runtime efficiency of our algorithm is of O(|V ||| + ∣V |2log|V |), which is improved from O(|V |2|E|) thanks to the heap data structure used in our proposed algorithm. The experimental results show that our algorithm is on average 95 times faster than Burns' implementation. In best case, we can observe as much as 189 times speedup.

[1]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[2]  Shih-Hsu Huang,et al.  Register binding for clock period minimization , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[3]  A. Goldberg,et al.  A heuristic improvement of the Bellman-Ford algorithm , 1993 .

[4]  Jeng-Liang Tsai,et al.  Optimal minimum-delay/area zero-skew clock tree wire-sizing in pseudo-polynomial time , 2003, ISPD '03.

[5]  Baris Taskin,et al.  Timing Optimization Through Clock Skew Scheduling , 2000 .

[6]  Marios C. Papaefthymiou,et al.  Maximizing performance by retiming and clock skew scheduling , 1999, DAC '99.

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

[8]  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.

[9]  John P. Fishburn,et al.  Clock Skew Optimization , 1990, IEEE Trans. Computers.

[10]  Adnan Aziz,et al.  Zero-skew clock tree construction by simultaneous routing, wire sizing and buffer insertion , 2000, ISPD '00.

[11]  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.

[12]  Eby G. Friedman,et al.  Demonstration of Speed and Power Enhancements on an Industrial Circuit Through Application of Clock Skew Scheduling , 2002, J. Circuits Syst. Comput..