The channel routing problem is a special care of the wire routing problem when interconnections have to be performed within a rectangular strip having no obstructions, between terminals located on opposite sides of the rectangle. We present here a new channel routing algorithm, based on reduction of the problem to the case of a (2 x n) grid and on consistent utilization of a "divide and conquer" approach. For the current implementation of the algorithm, the running time is proportional to N x n x log (m), where N is the number of nets, n is the length of the channel (number of columns) and m is the width of the channel (number of tracks). Traditional technological restrictions are assumed, i.e. net terminals are located on vertical grid lines, two wiring layers are available for interconnections - one layer is used exclusively for vertical segments, another for horizontal and vias are introduced for each layer change. This algorithm consistently outperforms several known routers in quality of wiring. We tested the algorithm on several benchmark problems. One of them - Deutsch's "difficult example" - was routed with only 19 horizontal wiring tracks (the absolute minimum for this case), whereas all other known routers required 20 or more tracks.
[1]
A. S. LaPaugh,et al.
ALGORITHMS FOR INTEGRATED CIRCUIT LAYOUT: AN ANALYTIC APPROACH
,
1980
.
[2]
Takeshi Yoshimura,et al.
Efficient Algorithms for Channel Routing
,
1982,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.
[3]
Brian W. Kernighan,et al.
An optimum channel-routing algorithm for polycell layouts of integrated circuits
,
1973,
DAC '73.
[4]
Gary L. Miller,et al.
Provably Good Channel Routing Algorithms
,
1981
.
[5]
J. Soukup.
Circuit layout
,
1981,
Proceedings of the IEEE.
[6]
David N. Deutsch.
A “DOGLEG” channel router
,
1976,
DAC 1976.
[7]
A. Hashimoto,et al.
Wire routing by optimizing channel assignment within large apertures
,
1971,
DAC '71.
[8]
N. S. Barnett,et al.
Private communication
,
1969
.
[9]
R.L. Rivest,et al.
A "Greedy" Channel Router
,
1982,
19th Design Automation Conference.
[10]
Alfred V. Aho,et al.
Rectilinear steiner trees: Efficient special-case algorithms
,
1977,
Networks.