Skip to main content

A heuristic for channel routing

  • New Technologies
  • Conference paper
  • First Online:
Foundations of Data Organization and Algorithms (FODO 1989)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 367))

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.

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 to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Szymanski T., "Dogleg Channel Routing is NP-complete", IEEE Trans. on CAD, CAD-4 (1985), 31–40.

    Google Scholar 

  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. 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. Hightower, D., "The Interconnection Problem: A Tutorial", Computer 7, 4 (April 1974), 18–32.

    Google Scholar 

  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. Deutsch, D. N., "A ‘Dogleg ‘Channel Router", Proc. 19-th Design Automation Conference, IEEE (1976), 425–433.

    Google Scholar 

  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. 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. Alford, S., "DYCHAR: A Channel Router which uses dynamic channel assignment", MIT Bachelor's thesis (May 1980).

    Google Scholar 

  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. Rivest, R. L. and C. M. Fiduccia, "A ‘Greedy’ Channel Router", Proc. 19-th IEEE Design Automation Conference, (1982), 418–424.

    Google Scholar 

  12. Burstein, M. and R. Pelavin, "Hierarchical Channel Router", IEEE Trans. on CAD, CAD-2, 4 (October 1983), 223–234.

    Google Scholar 

  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. Preparata, F. P. and W. Lipski, "Optimal Three-Layer Channel Routing", IEEE Trans. on CAD, 33, 5 (May 1984), 427–437.

    Google Scholar 

  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. 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. Carraresi, P. and C. Sodini, "An efficient algorithm for the bipartite matching problem", EJOR, 23 (1986), 86–93.

    Google Scholar 

  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. Fredman, M. and R. Tarjan, "Fibonacci Heaps and their uses in Improved Network Optimization Algorithms", Journal of ACM, 34 (1987), 596–615.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Witold Litwin Hans-Jörg Schek

Rights and permissions

Reprints 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

Publish with us

Policies and ethics