Area-efficient graph layouts

Minimizing the area of a circuit is an important problem in the domain of Very Large Scale Integration. We use a theoretical VLSI model to reduce this problem to one of laying out a graph, where the transistors and wires of the circuit are identified with the vertices and edges of the graph. We give an algorithm that produces VLSI layouts for classes of graphs that have good separator theorems. We show in particular that any planar graph of n vertices has an O(n lg2 n) area layout and that any tree of n vertices can be laid out in linear area. The algorithm maintains a sparse representation for layouts that is based on the well-known UNION-FIND data structure, and as a result, the running time devoted to bookkeeping is nearly linear.

[1]  David S. Johnson,et al.  Some simplified NP-complete problems , 1974, STOC '74.

[2]  Robert E. Tarjan,et al.  Efficiency of a Good But Not Linear Set Union Algorithm , 1972, JACM.

[3]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

[4]  R. Tarjan,et al.  A Separator Theorem for Planar Graphs , 1977 .

[5]  C. Y. Lee An Algorithm for Path Connections and Its Applications , 1961, IRE Trans. Electron. Comput..

[6]  Richard Edwin Stearns,et al.  Memory bounds for recognition of context-free and context-sensitive languages , 1965, SWCT.

[7]  H. T. Kung,et al.  On the Area of Binary Tree Layouts , 1980, Inf. Process. Lett..

[8]  H. T. Kung,et al.  Fast Algorithms for Manipulating Formal Power Series , 1978, JACM.

[9]  Carlo H. Séquin,et al.  Communication In X-TREE, A Modular Multiprocessor System , 1978, ACM Annual Conference.

[10]  Roland L. Mattison A high quality, low cost router for MOS/LSI , 1972, DAC '72.

[11]  Michael O. Albertson,et al.  On the independence ratio of a graph , 1978, J. Graph Theory.

[12]  J. Saxe,et al.  A general method for solving divide-and-conquer recurrences , 1980, SIGA.

[13]  Leslie G. Valiant,et al.  Universality considerations in VLSI circuits , 1981, IEEE Transactions on Computers.

[14]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[15]  Dave Johannsen,et al.  Bristle Blocks: A Silicon Compiler , 1979, 16th Design Automation Conference.

[16]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[17]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[18]  David S. Johnson,et al.  Some simplified polynomial complete problems , 1974 .

[19]  Ivan E. Sutherland,et al.  How Big Should a Printed Circuit Board Be? , 1973, IEEE Transactions on Computers.

[20]  M. Rem,et al.  Cost and performance of VLSI computing structures , 1979, IEEE Transactions on Electron Devices.

[21]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[22]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[23]  Jeffrey D. Ullman,et al.  The compilation of regular expressions into integrated circuits , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).