Abstract
In designing the layout of VLSI chips, channel routing plays a central role. A frequently used channel routing mode is known as Manhattan routing, where a two-layer channel is used to route a specified set of nets between two rows of terminals. If the net list contains long runs, the only way to reduce the number of channel tracks is by splitting horizontal segments of nets (jogging).
A new algorithm is proposed which uses a preprocessing to decide, before producing the routing, which nets must be split and where. Jogging a net effectively splits a run into two runs with approximately the same total length. The objective is achieved by finding a parameter m which represents the maximum desirable length for a run and minimizing the number of runs with length greater than m. This minimization is obtained by finding a minimum-cost matching in a weighted bipartite graph G m = (V, E). Node set V is partitioned in two sets: J and R, where J is a set of jogging requests associated to nets chosen as possible candidates for joggings while nodes in R are associated to channel columns. A heuristic is proposed to assign priorities to vertices of J and costs to vertices of R. The running time of the algorithm is O(t·n·logn) +O(n✓n), where n is the number of nets and t is the number of tracks used. Quite satisfactory experimental results are also reported.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This work has been supported in part by Ministero della Pubblica Istruzione of Italy and by the Semiconductor Research Corporation under Contract 87-DP109.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Szymanski T., "Dogleg Channel Routing is NP-complete", IEEE Trans. on CAD, CAD-4 (1985), 31–40.
Hashimoto, A. and J. Stevens, "Wire Routing by Optimizing Channel Assignment within Large Apertures", Proc. 8-th Design Automation Workshop, IEEE (1971), 214–224.
Kernighan, B., D. Schweikert, and G. Persky, "An Optimal Channel-Routing Algorithm for Polycell Layouts of Integrated Circuits", Proc. 10-th Design Automation Workshop, IEEE (1973), 50–59.
Hightower, D., "The Interconnection Problem: A Tutorial", Computer 7, 4 (April 1974), 18–32.
Asano, T., T. Kitchashi, and K. Tanaka, "On a Method of Realizing Minimum-Width Wiring", Electronics and Communications in Japan, J59-A, 2 (1976), 29–39.
Deutsch, D. N., "A ‘Dogleg ‘Channel Router", Proc. 19-th Design Automation Conference, IEEE (1976), 425–433.
Persky, G., D. Deutsch, and D. Schweikert, "LTX — A Minicomputer-Based System for Automated LSI Layout", Journal of Design Automation and Fault-Tolerant Computing, 1, 3 (May 1977), 217–255.
Kawamoto, T. and Y. Kajitani, "The Minimum Width Routing of a 2-Row 2-Layer Polycell-Layout", Proc. 16-th Design Automation Conference, IEEE (1979), 290–296.
Alford, S., "DYCHAR: A Channel Router which uses dynamic channel assignment", MIT Bachelor's thesis (May 1980).
Yoshimura, T. and E. Kuh, "Efficient Algorithms for Channel Routing", IEEE Trans. on CAD, CAD-1, 1 (January 1982), 25–35.
Rivest, R. L. and C. M. Fiduccia, "A ‘Greedy’ Channel Router", Proc. 19-th IEEE Design Automation Conference, (1982), 418–424.
Burstein, M. and R. Pelavin, "Hierarchical Channel Router", IEEE Trans. on CAD, CAD-2, 4 (October 1983), 223–234.
Rivest, R. L., A. E. Baratz and G. Miller, "Provably Good Channel Routing Algorithms", Proc. CMU Conference on VLSI Systems and Computations, (1981), 153–159.
Preparata, F. P. and W. Lipski, "Optimal Three-Layer Channel Routing", IEEE Trans. on CAD, 33, 5 (May 1984), 427–437.
Brown, D. and R. L. Rivest, "New Lower Bounds on Channel Width", Proc. CMU Conference on VLSI Systems and Computations (Computer Science Press 1981), 178–185.
Baker, B. S., S. N. Bhatt and T. Leighton, "An Approximation Algorithm for Manhattan Routing", Advances in Computing Research, 2 (1984), 205–229.
Carraresi, P. and C. Sodini, "An efficient algorithm for the bipartite matching problem", EJOR, 23 (1986), 86–93.
Edmonds, j. and R. Karp. "Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems", Journal of ACM, 19 (1972), 248–264.
Fredman, M. and R. Tarjan, "Fibonacci Heaps and their uses in Improved Network Optimization Algorithms", Journal of ACM, 34 (1987), 596–615.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lodi, E., Preparata, F.P. (1989). A heuristic for channel routing. In: Litwin, W., Schek, HJ. (eds) Foundations of Data Organization and Algorithms. FODO 1989. Lecture Notes in Computer Science, vol 367. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51295-0_125
Download citation
DOI: https://doi.org/10.1007/3-540-51295-0_125
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51295-0
Online ISBN: 978-3-540-46186-9
eBook Packages: Springer Book Archive