Advances in homotopic layout compaction

Homotopic compaction is the compaction of a VLSI layout by means of a continuous motion of layout components that preserves routability. We present the most efficient algorithm for one-dimensional homotopic compaction yet discovered: it requires timeO(oN 2 log N) and space O(N 2) on input of size N. These bounds are pessimistic, and practical performance may be close to linear. Our algorithm generates the complete constraint system for a layout and can therefore be adapted to perform wire length minimization as well as automatic jog insertion. It applies to layered circuits under rectilinear wiring rules, and also to knock-knee layouts, for which no efficient compaction algorithm was previously known. 1. Homotopic Compaction A powerful approach to the physical design of VLSI layouts is to consider wires as flexible connections with fixed topology. From this homotopic viewpoint, there is a natural one-dimensional compaction problem that may be stated as follows [13]. Call a layout routable if it can be made legal by deforming its wires in some continuous fashion that preserves the layout topology. Given a routable layout, we wish to find a layout of minimum width reachable by a continuous motion of modules and wires that displaces each module horizontally, maintains the connections between wires and modules, and preserves routability. An algorithm for this problem can perform layout compaction with optimal automatic jog insertion, even if wires are not restricted to Manhattan geometry. This paper presents an algorithm for onedimensional homotopic compaction that substantially Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee a n d / o r specific permission. © 1989 A C M 0 8 9 7 9 1 3 2 3 X / 8 9 / 0 0 0 6 / 0 2 7 3 $1.50 273 improves upon previous algorithms in both worst-case and expected performance. R o u t a b i l i t y condi t ions Homotopie compaction is best approached by treating the wires not as objects to be moved, but only as constraints on the placement of modules. One first determines for a layout a set of routability conditions that determine, as a function of the module positions, whether the layout is routable. One then seeks a placement of modules that minimizes layout width while satisfying the routability conditions. Finally, one may reroute the wires using a homotopic router [3, 6, 7, 8], which converts a routable layout into a legal layout by deforming its wires. Necessary and sufficient conditions for routability are now known for several layout models [2, 6, 11, 12]. They are defined in terms of cuts, which are paths that connect pairs of modules in a layout. A cut has two associated quantities: its congestion, which represents the number of wires forced to cross it by the layout topology; and its capacity, which is a limit imposed by the geometry of the cut on the number of wires that can legally cross it. If a cut's congestion exceeds its capacity, we call it oversaturated. One can often find a small set of critical cuts such that the layout is routable if and only if no critical cut is oversaturated.