A fully polynomial time approximation scheme for timing driven minimum cost buffer insertion

As VLSI technology enters the nanoscale regime, interconnect delay has become the bottleneck of the circuit timing. As one of the most powerful techniques for interconnect optimization, buffer insertion is indispensable in the physical synthesis flow. Buffering is known to be NP-complete and existing works either explore dynamic programming to compute optimal solution in the worst-case exponential time or design efficient heuristics without performance guarantee. Even if buffer insertion is one of the most studied problems in physical design, whether there is an efficient algorithm with provably good performance still remains unknown. This work settles this open problem. In the paper, the first fully polynomial time approximation scheme for the timing driven minimum cost buffer insertion problem is designed. The new algorithm can approximate the optimal buffering solution within a factor of 1 + ε running in O(m2n2b/ε3 + n3b2/ε) time for any 0 ≪ ε ≪ 1, where n is the number of candidate buffer locations, m is the number of sinks in the tree, and b is the number of buffers in the buffer library. In addition to its theoretical guarantee, our experiments on 1000 industrial nets demonstrate that compared to the commonly-used dynamic programming algorithm, the new algorithm well approximates the optimal solution, with only 0.57% additional buffers and 4.6× speedup. This clearly demonstrates the practical value of the new algorithm.

[1]  Jason Cong,et al.  Buffer block planning for interconnect-driven floorplanning , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[2]  C. Alpert,et al.  Fast algorithms for slew constrained minimum cost buffering , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[3]  David Z. Pan,et al.  An integrated nonlinear placement framework with congestion and porosity aware buffer planning , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[4]  Hai Zhou,et al.  Simultaneous routing and buffer insertion with restrictions on buffer locations , 1999, DAC '99.

[5]  Weiping Shi,et al.  Complexity analysis and speedup techniques for optimal buffer insertion with minimum cost , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[6]  Sachin S. Sapatnekar,et al.  A practical methodology for early buffer and wire resource allocation , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[7]  Peter J. Osler Placement driven synthesis case studies on two sets of two chips: hierarchical and flat , 2004, ISPD '04.

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

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

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

[11]  Jason Cong,et al.  An interconnect-centric design flow for nanometer technologies , 2001, Proc. IEEE.

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

[13]  Shiyan Hu,et al.  Fast interconnect synthesis with layer assignment , 2008, ISPD '08.

[14]  Shiyan Hu,et al.  A polynomial time approximation scheme for timing constrained minimum cost layer assignment , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

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

[16]  Shiyan Hu,et al.  A faster approximation scheme for timing driven minimum cost layer assignment , 2009, ISPD '09.

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