A "Greedy" Channel Router

We present a new, "greedy", channel-router that is quick, simple, and highly effective. It always succeeds, usually using no more than one track more than required by channel density. (It may be forced in rare cases to make a few connections "off the end" of the channel, in order to succeed.) It assumes that all pins and wiring lie on a common grid, and that vertical wires are on one layer, horizontal on another. The greedy router wires up the channel in a left-to-right, column-by-column manner, wiring each column completely before starting the next. Within each column the router tries to maximize the utility of the wiring produced, using simple, "greedy" heuristics. It may place a net on more than one track for a few columns, and "collapse" the net to a single track later on, using a vertical jog. It may also use a jog to move a net to a track closer to its pin in some future column. The router may occasionally add a new track to the channel, to avoid "getting stuck".

[1]  Akihiro Hashimoto,et al.  Wire routing by optimizing channel assignment within large apertures , 1971, DAC.

[2]  Martin Tompa An optimal solution to a wire-routing problem (preliminary version) , 1980, STOC '80.

[3]  Gary L. Miller,et al.  Provably Good Channel Routing Algorithms , 1981 .

[4]  Yoji Kajitani,et al.  The Minimum Width Routing of a 2-Row 2-Layer Polycell-Layout , 1979, 16th Design Automation Conference.

[5]  A. Hashimoto,et al.  Wire routing by optimizing channel assignment within large apertures , 1971, DAC '71.

[6]  Martin Tompa An Optimal Solution to a Wire-Routing Problem , 1981, J. Comput. Syst. Sci..

[7]  Dave Hightower,et al.  The interconnection problem: A tutorial , 1973, Computer.

[8]  R. Rivest,et al.  New Lower Bounds for Channel Width , 1981 .

[9]  James Joseph Koschella A placement/interconnect channel router : cutting your PI into slices , 1981 .

[10]  Ron Y. Pinter,et al.  Optimal Routing in Rectilinear Channels , 1981 .

[11]  Charles E. Leiserson,et al.  Optimal Placement for River Routing , 1983, SIAM J. Comput..

[12]  Ron Y. Pinter,et al.  Optimal Placement for River Routing , 1983 .

[13]  Ronald L. Rivest The "PI" (Placement And Interconnect) System , 1982, 19th Design Automation Conference.

[14]  Alan Siegel,et al.  Optimal wiring between rectangles , 1981, STOC '81.

[15]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[16]  Brian W. Kernighan,et al.  An optimum channel-routing algorithm for polycell layouts of integrated circuits , 1973, DAC '73.

[17]  David N. Deutsch A “DOGLEG” channel router , 1976, DAC 1976.

[18]  J. Soukup Circuit layout , 1981, Proceedings of the IEEE.

[19]  David N. Deutsch,et al.  A “DOGLEG” channel router , 1976, DAC '76.

[20]  A. S. LaPaugh,et al.  ALGORITHMS FOR INTEGRATED CIRCUIT LAYOUT: AN ANALYTIC APPROACH , 1980 .

[21]  Ronald L. Rivest The "PI" (Placement And Interconnect) System , 1982, DAC 1982.

[22]  Sartaj Sahni,et al.  The Complexity of Design Automation Problems , 1980, 17th Design Automation Conference.