OR Spectrum

, 30:453 | Cite as

Mathematical methods for physical layout of printed circuit boards: an overview

Regular Article

Abstract

This article surveys mathematical models and methods used for the physical layout of printed circuit boards, in particular component placement and wire routing. The main concepts are briefly described together with relevant references.

Keywords

PCB layout Wire-routing Component-placement 

References

  1. Akers SB (1972) Routing. In: Breuer MA (ed) Design automation of digital systems, vol. 1: Theory and techniques. Prentice Hall, Engleword cliffs. pp. 283–333Google Scholar
  2. Akers SB (1981) On the use of the linear assignment algorithm in module placement. In: Proceedings of the 18th conference on design automation, pp 137–144. IEEE PressGoogle Scholar
  3. Alpert CJ, Kahng AB (1995) Recent directions in netlist partitioning: a survey. Integr VLSI J 19:1–81CrossRefGoogle Scholar
  4. Aranoff S, Abulaffio Y (1981) Routing of printed circuit boards. In: Proceedings of the 18th conference on design automation, pp 130–136. IEEE PressGoogle Scholar
  5. Areibi S, Yang Z (2004) Effective memetic algorithms for VLSI design = genetic algorithms + local search + multi-level clustering. Evol Comput 12(3):327–353CrossRefGoogle Scholar
  6. Blanks JP (1985) Near-optimal placement using a quadratic objective function. In: Proceedings of the 22nd conference on Design automation, pp 609–615. IEEE PressGoogle Scholar
  7. Brady HN (1984) An approach to topological pin assignment. IEEE Trans Comput Aid Des Integr Circuits Syst 3:250–255CrossRefGoogle Scholar
  8. Brady ML, Brown DJ (1984) VLSI routing: four layers suffice. In: Preparata FP (ed) Advances in computing research: VLSI theory, vol 2. Jai Press, London, pp. 245–258Google Scholar
  9. Chang C-C, Cong J (1997) An efficient approach to multi-layer layer assignment with application to via minimization. In: Proceedings of the 34th conference on Design automation, pp 600–603. ACM PressGoogle Scholar
  10. Chen RW, Katjitani Y, Chan AP (1983) A graph-theoretic via minimization algorithm for two-layer printed circuit boards. IEEE Trans Circuits Syst 30:284–299CrossRefGoogle Scholar
  11. Chopra S (1994) Comparison of formulations and a heuristic for packing steiner trees in a graph. Ann Oper Res 50:143–171CrossRefGoogle Scholar
  12. Chopra S, Gorres ER, Rao MR (1992) Solving the steiner tree problem on a graph using branch and cut. ORSA J on Comput 4(3):320–335Google Scholar
  13. Chou Y-C, Lin Y-L (1998) A graph-partitioning-based approach for multi-layer constrained via minimization. In: ICCAD ’98: Proceedings of the 1998 international conference on computer-aided design, pp 426–429. ACM PressGoogle Scholar
  14. Cohoon JP, Paris WD (1987) Genetic placement. IEEE Trans Comput Aid Des Integr Circuits Syst 6(6):956–964CrossRefGoogle Scholar
  15. Cong J, Madden PH (1998) Performance driven multi-layer general area routing for PCB/MCM designs. In: Proceedings of the 35th conference on design automation, pp 356–361. ACM PressGoogle Scholar
  16. Coté LC, Patel AM (1980) The interchange algorithms for circuit placement problems. In: Proceedings of the 17th conference on design automation, pp 528–534. IEEE PressGoogle Scholar
  17. Cox GW, Carroll BD (1980) The standard transistor array (star), part II: Automatic cell placement techniques. In: Proceedings of the 17th conference on design automation, pp 451–457. IEEE PressGoogle Scholar
  18. Dees JWA, Smith IRJ (1981) Performance of interconnection rip-up and reroute strategies. In: Proceedings of the 18th conference on design automation, pp 382–390. IEEE PressGoogle Scholar
  19. Dion J (1988) Fast printed circuit board routing. Technical report, Digital Equipment Corporation, Western Research LaboratoryGoogle Scholar
  20. Duin C, Voß S (1994) Steiner tree heuristics—a survey. In: Dyckhoff H, Derigs U, Salomon M, Tijms HC (eds) Operations research proceedings. Springer, Heidelberg, pp 485–496Google Scholar
  21. Duin C, Voß S (1999) The Pilot method: a strategy for heuristic repetition with application to the Steiner problem in graphs. Networks 34:181–191CrossRefGoogle Scholar
  22. Dysart L, Koifman M (1979) An application of branch and bound method to automatic printed circuit board routing. In: Proceedings of the 16th conference on design automation, pp 494–499. IEEE PressGoogle Scholar
  23. Fang S-C, Chang K-E, Feng W-S, Chen S-J (1991) Constrained via minimization with practical considerations for multi-layer VLSI/PCB routing problems. In: Proceedings of the 28th conference on design automation, pp 60–65. ACM PressGoogle Scholar
  24. Fiduccia CM, Mattheyses RM (1982) A linear time heuristic for improving network partitions. In: Proceedings of the 19th conference on design automation, pp 175–181. IEEE PressGoogle Scholar
  25. Finch AC, Mackenzie KJ, Balsdon GJ, Symonds G (1985) A method for gridless routing of printed circuit boards. In: Proceedings of the 22nd conference on design automation, pp 509–515. ACM PressGoogle Scholar
  26. Fisher RS (1978) A multi-pass, multi-algorithm approach to PCB routing. In: Proceedings of the 15th conference on design automation, pp 82–91. IEEE PressGoogle Scholar
  27. Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of \({\mathcal{N}\mathcal{P}}\)-completeness. Freeman, San franciscoGoogle Scholar
  28. Gerez SH (1998) Algorithms for VLSI design automation. Wiley, New York (ISBN 0471984892)Google Scholar
  29. Grötschel M, Jünger M, Reinelt G (1989) Via minimization with pin preassignments and layer preference. Zeitsch Angew Math Mech 69(11):393–399CrossRefGoogle Scholar
  30. Grötschel M, Martin A, Weismantel R (1996a) Packing Steiner trees: a cutting plane algorithm and computational results. Math Program 72:125–145CrossRefGoogle Scholar
  31. Grötschel M, Martin A, Weismantel R (1996b) Packing Steiner trees: further facets. Eur J Combinator 17:39–52CrossRefGoogle Scholar
  32. Grötschel M, Martin A, Weismantel R (1997) The Steiner tree packing problem in VLSI design. Math Program 78(2):265–281CrossRefGoogle Scholar
  33. Hadsell RT, Madden PH (2003) Improved global routing through congestion estimation. In: Proceedings of the 40th conference on design automation, pp 28–31. ACM PressGoogle Scholar
  34. Hall KM (1970) An r-dimensional quadratic placement algorithm. Manage Sci 17(3):219–229CrossRefGoogle Scholar
  35. Hanan M, Kurtzberg JM (1972a) Placement techniques. In: Breuer MA (ed) Design automation of digital systems, vol 1 Theory and techniques. Englewood Cliffs, Prentice-Hall, pp 213–282Google Scholar
  36. Hanan M, Kurtzberg JM (1972b) A review of the placement and quadratic assignment problem. SIAM Rev 14:324–342CrossRefGoogle Scholar
  37. Hanan M, Wolff PK Sr, Agule BJ (1976a) Some experimental results on placement techniques. In: Proceedings of the 13th conference on design automation, pp 214–224. IEEE PressGoogle Scholar
  38. Hanan M, Wolff PK Sr, Agule BJ (1976b) A study of placement techniques. J Des Autom Fault Toler Comput 1(1):28–61Google Scholar
  39. Harlow JE (2000) Overview of popular benchmark sets. IEEE Des Test Comput 17(3):15–17CrossRefGoogle Scholar
  40. Hom I, Granacki J (1996) Estimation of the number of routing layers and total wirelength in a PCB through wiring distribution analysis. In: Proceedings of the European design automation conference, pp 310–315Google Scholar
  41. Johannes FM, Eisenmann H (1998) Generic global placement and floorplanning. In: Proceedings of the 35th conference on design automation, pp 269–274. IEEE PressGoogle Scholar
  42. Jorgensen DG, Meyling M (2002) A branch-and-price algorithm for switch-box routing. Networks 40(1):13–26CrossRefGoogle Scholar
  43. Jünger M, Martin A, Reinelt G, Weismantel R (1994) Quadratic 0/1 optimization and a decomposition approach for the placement of electronic circuits. Math Program 63(3):257–279CrossRefGoogle Scholar
  44. Kahng AB, Wang Q (2004) An analytic placer for mixed-size placement and timing-driven placement. In: International conference on computer aided design, pp 565–572. IEEE PressGoogle Scholar
  45. Karp RM (1972) Reducibility among combinatorial problems. In: Thatcher JW (ed). Complexity of computer computations. Plenum Press, New York, pp 85–103Google Scholar
  46. Karypis G, Kumar V (1999) Multilevel k-way hypergraph partitioning. In: Proceedings of the 36th conference on design automation, pp 343–348Google Scholar
  47. Kawamura K, Umeda M, Shiraishi H (1986) Hierarchical dynamic router. In: Proceedings of the 23nd conference on design automation, pp 803–809. ACM PressGoogle Scholar
  48. Kernighan BW, Lin S (1970) An efficient heuristic procedure for partitioning graphs. Bell Syst Tech J 49(2):291–307Google Scholar
  49. Khan JA, Sait SM (2004) Fast force-directed/simulated evolution hybrid for multiobjective VLSI cell placement. In: International symposium on circuits and systems, pp 53–56Google Scholar
  50. Kleinhans J, Sigl G, Johannes F, Anstreich K (1991) GORDIAN: VLSI Placement by quadratic programming and slicing optimization. IEEE Trans Comput–Aid Des 10(3):356–365Google Scholar
  51. Koch T (2004) Rapid mathematical programming. Ph.D. thesis, Technische Universität BerlinGoogle Scholar
  52. Koch T, Martin A (1998) Solving Steiner tree problems in graphs to optimality. Networks 32:207–232CrossRefGoogle Scholar
  53. Koren NL (1972) Pin assignment in automated printed circuit board design. In: Proceedings of the 9th conference on design automation, pp 72–79. ACM PressGoogle Scholar
  54. Kramer MR, van Leeuwen J (1984) The complexity of wire-routing and finding minimum area layouts for arbitrary VLSI circuits. In: Preparata FP (ed.) Advances in computing research, vol 2. Jay Press, pp 129–146Google Scholar
  55. Kubo Y, Takahashi A (2005) A global routing method for 2-layer ball grid array packages. In: ISPD ’05: Proceedings of the 2005 international symposium on physical design, pp 36–43. ACM PressGoogle Scholar
  56. Kumar R, kit Leong W, Heath RJ (2005) An integer programming approach to placement and routing in circuit layout http://clue.eng.iastate.edu/~rkumar/PUBS/layout.ps.Google Scholar
  57. Lauther U (1980) A data structure for gridless routing. In: Proceedings of the 17th conference on design automation, pp 603–609. IEEE PressGoogle Scholar
  58. Lee CY (1961) An algorithm for path connection and its applications. IRE Trans Electron Comput EC-10(3):346–365CrossRefGoogle Scholar
  59. Lengauer T (1990) Combinatorial Algorithms for integrated circuit layout. Teubner, StuttgartGoogle Scholar
  60. Lipski W (1984) On the structure of three-layer wireable layouts. In: Preparata FP (ed.) Advances in computing research: VLSI theory, vol 2, Jai Press, London pp 231–244Google Scholar
  61. Magnuson WG (1977) A comparison of constructive placement algorithms. In: IEEE Region 6 Conference RecordingsGoogle Scholar
  62. Mak W-K, Wong DF (2000) A fast hypergraph min-cut algorithm for circuit partitioning. Integr VLSI J 30(1):1–11CrossRefGoogle Scholar
  63. Mo F, Tabbara A, Brayton RK (2001) A force-directed maze router. In: International conference on computer aided design, pp 404–407. IEEE PressGoogle Scholar
  64. Moosa Z, Edwards D (1995) An investigation of iterative routing algorithms. In: Proceedings of the conference on European design automation, pp 91–96. IEEE Computer Society PressGoogle Scholar
  65. Mory-Rauch L (1978) Pin assignment on a printed circuit board. In: Proceedings of the 15th conference on design automation, pp 70–73. IEEE PressGoogle Scholar
  66. Murata H, Fujiyoshi K, Kaneko M (1998) VLSI/PCB placement with obstacles based on sequence pair. IEEE Trans Comput-Aid Des Integr Circuits Syst 17(1):60–68CrossRefGoogle Scholar
  67. Naclerie NJ, Masuda S, Nakajima K (1987) Via minimization for gridless layouts. In: Proceedings of the 24th conference on design automation, pp 159–165. ACM PressGoogle Scholar
  68. Naveda JF, Chang KC, Du HC (1986) A new approach to multi-layer PCB routing with short vias. In: Proceedings of the 23rd conference on design automation, pp 696–701. IEEE PressGoogle Scholar
  69. Ozdal MM, Wong MDF (2004a) A provably good algorithm for high performance bus routing. In International conference on computer aided design, pp 830–837. IEEE PressGoogle Scholar
  70. Ozdal MM, Wong MDF (2004b) Simultaneous escape routing and layer assignment for dense PCBs. In: International conference on computer aided design, pp 822–829. IEEE PressGoogle Scholar
  71. Pannérec T (2003) Knowledge-based automatic components placement for single-layer PCB layout. In: Proceedings of the 7th international conference on knowledge-based intelligent information and engineering systems: Part I, Lecture notes in computer science, vol 2773 Springer, Heidelberg pp 669–675Google Scholar
  72. Papa DA, Markov IL (2006) Hypergraph partitioning and clustering. In: Gonzalez T (ed) Approximation algorithms and metaheuristics. CRC, Boca RatanGoogle Scholar
  73. Pecht M (1993) (ed) Placement and routing of electronic modules. CRC, Boca RatanGoogle Scholar
  74. Polzin T (2003) Algorithms for the Steiner problem in networks. Ph.D. thesis, Universität des SaarlandesGoogle Scholar
  75. Polzin T, Daneshmand SV (2001) Improved algorithms for the steiner problem in networks. Descrete Appl Math 112:263–300CrossRefGoogle Scholar
  76. Preas BT, Karger PJ (1986) Automatic placement: a review of current techniques. In: Proceedings of the 23th conference on design automation, pp 622–629. IEEE PressGoogle Scholar
  77. Quinn NR (1975) The placement problem as viewed from the physics of classical mechanics. In: Proceedings of the 12th conference on design automation, pp 173–178Google Scholar
  78. Quinn NR, Breuer MA (1979) A forced directed component placement procedure for printed circuit boards. IEEE Trans Circuits Syst 26(6):377–388CrossRefGoogle Scholar
  79. Raith M, Bartholomeus M (1991) A new hypergraph based rip-up and reroute strategy. In: Proceedings of the 28th conference on design automation, pp 54–59. ACM PressGoogle Scholar
  80. Rayward-Smith VJ, Clare A (1986) On finding steiner vertices. Networks 16:283–294CrossRefGoogle Scholar
  81. Ribeiro CC, Uchoa E, Werneck RF (2002) A hybrid GRASP with perturbations for the steiner problem in graphs. INFORMS Comput 14:228–246CrossRefGoogle Scholar
  82. Rosenberg E (1987) A new interactive supply/demand router with rip-up capability for printed circuit boards. In Proceedings of the 24th conference on design automation, pp 721–726. IEEE PressGoogle Scholar
  83. Sait SM, Faheemuddin M, Minhas MR, Sanaullah S (2005) Multiobjective VLSI cell placement using distributed genetic algorithm. In: Beyer H-G, O’Reilly U-M (eds.) Proceedings of the genetic and evolutionary computation conference, pp 1585–1586. ACM PressGoogle Scholar
  84. Sait SM, Youssef H (1999) VLSI physical design automation: theory and practice. World Scientific, Singapore ISBN 9810238835Google Scholar
  85. Schiele WL, Krüger T, Just KM, Kirsch FH (1990) A gridless router for industrial design rules. In: Proceedings of the 27th conference on design automation, pp 626–631. ACM PressGoogle Scholar
  86. Schmidt H, Theune D, Thiele R, Lengauer T (1995) EMC-driven midway routing on PCBs. In: Proceedings of the European conference on Design and Test, pp 486. IEEE PressGoogle Scholar
  87. Sechen C (1988) VLSI placement and global routing using simulated annealing. Kluwer, DordrechtGoogle Scholar
  88. Sechen C, Sangiovanni-Vincentelli A (1986) Timberwolf 3.2 : A new standard cell placement and global routing package. In: Proceedings of the 23rd conference on design automation, pp 432–439. IEEE PressGoogle Scholar
  89. Shahookar K, Mazumder P (1990) A genetic approach to standard cell placement using meta-genetic parameter optimization. IEEE Trans Comput-Aid Des Integr Circuits Syst 9(5):500–511CrossRefGoogle Scholar
  90. Sigl G, Doll K, Johannes FM (1991) Analytical placement: A linear or a quadratic objective function? In: Proceedings of the 36th conference on design automation, pp 427–432Google Scholar
  91. Stallmann MFM, Brglez F, Ghosh D (2001) Heuristics, experimental subjects, and treatment evaluation in bigraph crossing minimization. ACM J Exp Algorith 6:8CrossRefGoogle Scholar
  92. Takahashi H, Matsuyama A (1980) An approximate solution for the steiner problem in graphs. Math Jpn 24:573–577Google Scholar
  93. Valenzuela CL, Wang PY (2002) VLSI placement and area optimization using a genetic algorithm to breed normalized postfix expressions. IEEE Trans Evol Comput 6(4):390–401CrossRefGoogle Scholar
  94. Viswanathan N, Chu CC-N (2004) Fastplace: efficient analytical placement using cell shifting, iterative local refinement and a hybrid net model. In: Proceedings of the 2004 international symposium on physical design, pp 26–33. ACM PressGoogle Scholar
  95. Vygen J (2001) Theory of VLSI layout. Ph.D. thesis, Universität Bonn, 2001. HabilitationsschriftGoogle Scholar
  96. Vygen J (2006) New theoretical results on quadratic placement. Integr VLSI JGoogle Scholar
  97. Wang M, Yang X, Sarrafzadeh M (2000) Dragon2000: Standard-cell placement tool for large industry circuits. International Conference on Computer Aided Design, pp 260Google Scholar
  98. Weismantel R (1992) Plazieren von Zellen: Theorie und Lösung eines quadratischen 0/1-Optimierungsproblems. Technical Report TR 92-03, Zuse Institute BerlinGoogle Scholar
  99. Whitaker N (1996) Status report on EDA benchmarks. Technical Report STEED/T1/01/4, MINT Group, University of Manchester, http://mint.cs.man.ac.uk/projects/steed/benchmarks.html.Google Scholar
  100. Winter P, Smith JM (1992) Path-distance heuristics for the steiner problem in undirected networks. Algorithmica pp 309–327Google Scholar
  101. Wong DF, Leong HW, Liu CL (1988) Simulated annealing for VLSI design. Kluwer, DordrechtGoogle Scholar
  102. Wong RT (1984) A dual ascent approach for the steiner tree problems on a directed graph. Math Program 28:271–287CrossRefGoogle Scholar
  103. Xiong X-M, Kuh ES (1988) The constrained via minimization problem for PCB and VLSI design. In: Proceedings of the 25th conference on design automation, pp 573–578. IEEE Computer Society PressGoogle Scholar
  104. Yang H, Wong DF (1996) Efficient network flow based min-cut balanced partitioning. IEEE Trans Comput-Aid Des Integr Circuits Syst 15(12):1533–1540CrossRefGoogle Scholar
  105. Yu M-F, Darnauer J, Dai WW-M (1996) Interchangeable pin routing with application to package layout. In: International conference on computer aided design, pp 668–673. IEEE PressGoogle Scholar
  106. Zachariasen M, Rohe A (2003) Rectilinear group steiner trees and applications in VLSI design. Math Program 94:407–433CrossRefGoogle Scholar
  107. Zhang L, Raut R, Jiang Y, Kleine U, Kim Y (2005) A hybrid evolutionary analogue module placement algorithm for integrated circuit layout designs. Int J Circuit Theory Appl 33(6):487–501CrossRefGoogle Scholar
  108. Zhao L, Nagamochi H, Ibaraki T (2005) Greedy splitting algorithms for approximating multiway partition problems. Math Program 102(1):167–183CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  • Nadine Abboud
    • 1
  • Martin Grötschel
    • 2
  • Thorsten Koch
    • 2
  1. 1.syskoplan AGGüterslohGermany
  2. 2.Zuse Institute BerlinBerlinGermany

Personalised recommendations