A fast hierarchical quadratic placement algorithm

Placement is a critical component of today's physical-synthesis flow with tremendous impact on the final performance of very large scale integration (VLSI) designs. Unfortunately, it accounts for a significant portion of the overall physical-synthesis runtime. With the complexity and the netlist size of today's VLSI design growing rapidly, clustering for placement can provide an attractive solution to manage affordable placement runtimes. However, such clustering has to be carefully devised to avoid any adverse impact on the final placement solution quality. This paper presents how to apply clustering and unclustering strategies to an analytic top-down placer to achieve large speedups without sacrificing (and sometimes even enhancing) the solution quality. The authors' new bottom-up clustering technique, called the best choice (BC), operates directly on a circuit hypergraph and repeatedly clusters the globally best pair of objects. Clustering score manipulation using a priority-queue (PQ) data structure enables identification of the best pair of objects whenever clustering is performed. To improve the runtime of PQ-based BC clustering, the authors proposed a lazy-update technique for faster updates of the clustering score with almost no loss of the solution quality. A number of effective methods for clustering score calculation, balancing cluster sizes, handling of fixed blocks, and area-based unclustering strategy are discussed. The effectiveness of the resulting hierarchical analytic placement algorithm is tested on several large-scale industrial benchmarks with mixed-size fixed blocks. Experimental results are promising. Compared to the flat analytic placement runs, the hierarchical mode is 2.1 times faster, on the average, with a 1.4% wire-length improvement.

[1]  Chris C. N. Chu,et al.  FastPlace: efficient analytical placement using cell shifting, iterative local refinement, and a hybrid net model , 2005, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Jens Vygen,et al.  Algorithms for large-scale flat placement , 1997, DAC.

[3]  George Karypis,et al.  Multilevel Hypergraph Partitioning , 2003 .

[4]  G. Karypis,et al.  Multilevel k-way hypergraph partitioning , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[5]  Joseph R. Shinnerl,et al.  An enhanced multilevel algorithm for circuit placement , 2003, ICCAD-2003. International Conference on Computer Aided Design (IEEE Cat. No.03CH37486).

[6]  Frank M. Johannes,et al.  Generic global placement and floorplanning , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[7]  Andrew B. Kahng,et al.  Can recursive bisection alone produce routable, placements? , 2000, Proceedings 37th Design Automation Conference.

[8]  Jason Cong,et al.  Multilevel global placement with congestion control , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Ernst G. Ulrich,et al.  Clustering and linear placement , 1972, DAC '72.

[10]  Andrew B. Kahng,et al.  A General Framework For Vertex Orderings, With Applications To Netlist Clustering , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[11]  Majid Sarrafzadeh,et al.  Dragon2000: standard-cell placement tool for large industry circuits , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[12]  Andrew B. Kahng,et al.  Partitioning-based standard-cell global placement with an exact objective , 1997, ISPD '97.

[13]  Thang Nguyen Bui Graph bisection algorithms , 1986 .

[14]  Georg Sigl,et al.  GORDIAN: VLSI placement by quadratic programming and slicing optimization , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  Patrick H. Madden,et al.  Global objectives for standard cell placement , 2001, GLSVLSI '01.

[16]  Joseph R. Shinnerl,et al.  Multilevel optimization for large-scale circuit placement , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

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

[18]  Jason Cong,et al.  Edge separability-based circuit clustering with application to multilevel circuit partitioning , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[19]  Jason Cong,et al.  Random walks for circuit clustering , 1991, [1991] Proceedings Fourth Annual IEEE International ASIC Conference and Exhibit.

[20]  Charles J. Alpert,et al.  The ISPD98 circuit benchmark suite , 1998, ISPD '98.

[21]  Gi-Joon Nam,et al.  The ISPD2005 placement contest and benchmark suite , 2005, ISPD '05.

[22]  Gi-Joon Nam,et al.  Effective free space management for cut-based placement via analytical constraint generation , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[23]  Jason Cong,et al.  Physical hierarchy generation with routing congestion control , 2002, ISPD '02.

[24]  Carl Sechen,et al.  Efficient and effective placement for very large circuits , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[25]  Malgorzata Marek-Sadowska,et al.  Fine granularity clustering-based placement , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  Dennis J.-H. Huang,et al.  Multilevel Circuit Partitioning , 1997, Proceedings of the 34th Design Automation Conference.