Using Eigenvectors to Partition Circuits

  • Authors:
  • Dorothy Kucar;Anthony Vannelli

  • Affiliations:
  • Department of Electrical and Computer Engineering, University of Waterloo, Waterloo, Ontario, N2L 3G1 Canada;Department of Electrical and Computer Engineering, University of Waterloo, Waterloo, Ontario, N2L 3G1 Canada

  • Venue:
  • INFORMS Journal on Computing
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many fields, ranging from bioinformatics to databases to large-scale integrated circuits, deal with the interrelation between elementary objects. Objects are represented as vertices and the relationships between them are represented as nets (edges that connect two or more vertices) in the form of a hypergraph. We seek a placement of vertices that groups like objects and separates unlike objects. This involves separating related objects into a few, possibly disjoint, blocks. These hypergraph-partitioning problems are NP-hard so cannot be solved exactly, except for very small instances. We develop and use a numerical technique based on eigenvector decomposition of the connectivity matrix associated with the circuit netlist to partition hypergraphs emanating from circuit netlists. The eigenvector components of the circuit connectivity matrix are then used to determine vertex coordinates in one dimension that are then rounded in some fashion to determine block assignments. The inherent difficulty with eigenvector techniques is that the eigenvector components tend to cluster, making it difficult to determine correct block assignments. Our technique uses weights on nets, vertices, and fixed vertices to obtain a more “discrete” placement of vertices, making it easier to determine correct block assignments.