A heuristic for channel routing
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.
KeywordsChannel Assignment Horizontal Segment Empty Column Weighted Bipartite Graph Jogging Column
Unable to display preview. Download preview PDF.
- Szymanski T., "Dogleg Channel Routing is NP-complete", IEEE Trans. on CAD, CAD-4 (1985), 31–40.Google Scholar
- Hashimoto, A. and J. Stevens, "Wire Routing by Optimizing Channel Assignment within Large Apertures", Proc. 8-th Design Automation Workshop, IEEE (1971), 214–224.Google Scholar
- 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.Google Scholar
- Hightower, D., "The Interconnection Problem: A Tutorial", Computer 7, 4 (April 1974), 18–32.Google Scholar
- 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.Google Scholar
- Deutsch, D. N., "A ‘Dogleg ‘Channel Router", Proc. 19-th Design Automation Conference, IEEE (1976), 425–433.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- Alford, S., "DYCHAR: A Channel Router which uses dynamic channel assignment", MIT Bachelor's thesis (May 1980).Google Scholar
- Yoshimura, T. and E. Kuh, "Efficient Algorithms for Channel Routing", IEEE Trans. on CAD, CAD-1, 1 (January 1982), 25–35.Google Scholar
- Rivest, R. L. and C. M. Fiduccia, "A ‘Greedy’ Channel Router", Proc. 19-th IEEE Design Automation Conference, (1982), 418–424.Google Scholar
- Burstein, M. and R. Pelavin, "Hierarchical Channel Router", IEEE Trans. on CAD, CAD-2, 4 (October 1983), 223–234.Google Scholar
- 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.Google Scholar
- Preparata, F. P. and W. Lipski, "Optimal Three-Layer Channel Routing", IEEE Trans. on CAD, 33, 5 (May 1984), 427–437.Google Scholar
- 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.Google Scholar
- Baker, B. S., S. N. Bhatt and T. Leighton, "An Approximation Algorithm for Manhattan Routing", Advances in Computing Research, 2 (1984), 205–229.Google Scholar
- Carraresi, P. and C. Sodini, "An efficient algorithm for the bipartite matching problem", EJOR, 23 (1986), 86–93.Google Scholar
- Edmonds, j. and R. Karp. "Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems", Journal of ACM, 19 (1972), 248–264.Google Scholar
- Fredman, M. and R. Tarjan, "Fibonacci Heaps and their uses in Improved Network Optimization Algorithms", Journal of ACM, 34 (1987), 596–615.Google Scholar