An O(mn) time algorithm for optimal buffer insertion of nets with m sinks

Buffer insertion is an effective technique to reduce interconnect delay. In this paper, we give a simple <i>O</i>(<i>mn</i>) time algorithm for optimal buffer insertion, where <i>m</i> is the number of sinks and <i>n</i> is the number of buffer positions. This is the first linear time buffer insertion algorithm for nets with constant number of sinks. When <i>m</i> is small, it is a significant improvement over our recent <i>O</i>(<i>n</i> log<sup>2</sup> <i>n</i>) time algorithm, and the <i>O</i>(<i>n</i><sup>2</sup>) time algorithm of van Ginneken. For <i>b</i> buffer types, the new algorithm runs in <i>O</i>(<i>b</i><sup>2</sup><i>n</i> + <i>bmn</i>) time, an improvement of our recent <i>O(bn</i><sup>2</sup>) algorithm. The improvement is made possible by a clever bookkeeping method and an innovative linked list data structure that can perform addition of a wire, and addition of a buffer in amortized <i>O</i>(1) time. On industrial test cases, the new algorithm is faster than previous best algorithms by an order of magnitude.

[1]  Milos Hrkic,et al.  S-Tree: a technique for buffered routing tree synthesis , 2002, DAC '02.

[2]  Jason Cong,et al.  Buffered Steiner tree construction with wire sizing for interconnect layout optimization , 1996, ICCAD 1996.

[3]  Noel Menezes,et al.  Repeater scaling and its impact on CAD , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Martin D. F. Wong,et al.  A quadratic programming approach to simultaneous buffer insertion/sizing and wire sizing , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  L.P.P.P. van Ginneken,et al.  Buffer placement in distributed RC-tree networks for minimal Elmore delay , 1990 .

[6]  Charles J. Alpert,et al.  Buffer insertion for noise and delay optimization , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[7]  Weiping Shi,et al.  An O(bn2) Time Algorithm for Optimal Buffer Insertion with b Buffer Types , 2005, DATE.

[8]  Mark A. Franklin,et al.  Optimum buffer circuits for driving long uniform lines , 1991 .

[9]  Hai Zhou,et al.  A flexible data structure for efficient buffer insertion , 2004, IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings..

[10]  Jiang Hu,et al.  Making fast buffer insertion even faster via approximation techniques , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[11]  Weiping Shi,et al.  Complexity analysis and speedup techniques for optimal buffer insertion with minimum cost , 2004 .

[12]  Weiping Shi,et al.  A fast algorithm for optimal buffer insertion , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Chung-Kuan Cheng,et al.  Optimal wire sizing and buffer insertion for low power and a generalized delay model , 1996 .