A semi-persistent clustering technique for VLSI circuit placement

  • Authors:
  • Charles Alpert;Andrew Kahng;Gi-Joon Nam;Sherief Reda;Paul Villarrubia

  • Affiliations:
  • IBM Corp., Austin, Texas;UCSD, La Jolla, CA;IBM Corp., Austin, Texas;UCSD, La Jolla, CA;IBM Corp., Austin, Texas

  • Venue:
  • Proceedings of the 2005 international symposium on Physical design
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Placement is a critical component of today's physical synthesis flow with tremendous impact on the final performance of VLSI designs. However, it accounts for a significant portion of the over-all physical synthesis runtime. With complexity and netlist size of today's VLSI design growing rapidly, clustering for placement can provide an attractive solution to manage affordable placement runtime. Such clustering, however, has to be carefully devised to avoid any adverse impact on the final placement solution quality. In this paper we present a new bottom-up clustering technique, called best-choice, targeted for large-scale placement problems. Our best-choice clustering technique operates directly on a circuit hypergraph and repeatedly clusters the globally best pair of objects. Clustering score manipulation using a priority-queue data structure enables us to identify the best pair of objects whenever clustering is performed. To improve the runtime of priority-queue-based best-choice clustering, we propose a lazy-update technique for faster updates of clustering score with almost no loss of solution quality. We also discuss a number of effective methods for clustering score calculation, balancing cluster sizes, and handling of fixed blocks. The effectiveness of our best-choice clustering methodology is demonstrated by extensive comparisons against other standard clustering techniques such as Edge-Coarsening [12] and First-Choice [13]. All clustering methods are implemented within an industrial placer CPLACE [1] and tested on several industrial benchmarks in a semi-persistent clustering context.