A heuristic for channel routing

  • E. Lodi
  • F. P. Preparata
New Technologies
Part of the Lecture Notes in Computer Science book series (LNCS, volume 367)


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.


Channel Assignment Horizontal Segment Empty Column Weighted Bipartite Graph Jogging Column 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Szymanski T., "Dogleg Channel Routing is NP-complete", IEEE Trans. on CAD, CAD-4 (1985), 31–40.Google Scholar
  2. [2]
    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
  3. [3]
    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
  4. [4]
    Hightower, D., "The Interconnection Problem: A Tutorial", Computer 7, 4 (April 1974), 18–32.Google Scholar
  5. [5]
    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
  6. [6]
    Deutsch, D. N., "A ‘Dogleg ‘Channel Router", Proc. 19-th Design Automation Conference, IEEE (1976), 425–433.Google Scholar
  7. [7]
    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
  8. [8]
    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
  9. [9]
    Alford, S., "DYCHAR: A Channel Router which uses dynamic channel assignment", MIT Bachelor's thesis (May 1980).Google Scholar
  10. [10]
    Yoshimura, T. and E. Kuh, "Efficient Algorithms for Channel Routing", IEEE Trans. on CAD, CAD-1, 1 (January 1982), 25–35.Google Scholar
  11. [11]
    Rivest, R. L. and C. M. Fiduccia, "A ‘Greedy’ Channel Router", Proc. 19-th IEEE Design Automation Conference, (1982), 418–424.Google Scholar
  12. [12]
    Burstein, M. and R. Pelavin, "Hierarchical Channel Router", IEEE Trans. on CAD, CAD-2, 4 (October 1983), 223–234.Google Scholar
  13. [13]
    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
  14. [14]
    Preparata, F. P. and W. Lipski, "Optimal Three-Layer Channel Routing", IEEE Trans. on CAD, 33, 5 (May 1984), 427–437.Google Scholar
  15. [15]
    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
  16. [16]
    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
  17. [17]
    Carraresi, P. and C. Sodini, "An efficient algorithm for the bipartite matching problem", EJOR, 23 (1986), 86–93.Google Scholar
  18. [18]
    Edmonds, j. and R. Karp. "Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems", Journal of ACM, 19 (1972), 248–264.Google Scholar
  19. [19]
    Fredman, M. and R. Tarjan, "Fibonacci Heaps and their uses in Improved Network Optimization Algorithms", Journal of ACM, 34 (1987), 596–615.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • E. Lodi
    • 1
  • F. P. Preparata
    • 2
  1. 1.Dipartimento di Informatica e ApplicazioniUniversità di SalernoItaly
  2. 2.Coordinated Science LaboratoryUniversity of IllinoisUrbana

Personalised recommendations