The floorplanning design stage consists of various steps with the aim of finding floorplans that allow a timing-clean routing and spread power consumption over the whole chip.
In mathematics floorplanning refers to the problem of packing smaller rectangles with a fixed or unfixed orientation into a larger rectangle. The dimensions of the larger and smaller rectangles might be fixed (hard constraints) or must be optimized (soft constraints). Additionally, a measure modelling the quality of routing that the floorplan allows might be optimized.
Since various variants of rectangle packing are NP-hard, the existence of a polynomial-time algorithm for the general floorplanning problem would imply P = N P {\displaystyle P=NP} .10
Integer Programming One can model rectangle packing problem for fixed sizes and orientations as an integer linear program. Further, constraints and variables can be added to minimize the bounding-box-netlength. Given small rectangles R 1 , . . . R n {\displaystyle R_{1},...R_{n}} with widths w 1 , . . . , w n {\displaystyle w_{1},...,w_{n}} , heights h 1 , . . . , h n {\displaystyle h_{1},...,h_{n}} and nets N 1 , . . . , N n {\displaystyle {\mathcal {N}}_{1},...,{\mathcal {N}}_{n}} as well as a larger rectangle with width W {\displaystyle W} and height H {\displaystyle H} , the integer program looks as follows:
For fixed relations R i , j , A i , j {\displaystyle R_{i,j},A_{i,j}} the above integer program is the dual of a maximum flow problem and therefore solvable in polynomial time.11
Not all choices for these spatial relation variables correspond to a feasible placement. A set of relations that contains all feasible placements is called complete. The best known upper bound on the size of a complete set of relations was proved by Silvanus and Vygen, who showed that O ( n ! ⋅ C n / n 6 ) {\displaystyle O\left(n!\cdot C^{n}/n^{6}\right)} with C = ( 11 + 5 5 ) / 2 {\displaystyle C=(11+5{\sqrt {5}})/{2}} spatial relations suffice. They also gave a lower bound of O ( n ! ⋅ c n / n 6 ) {\displaystyle O\left(n!\cdot c^{n}/n^{6}\right)} with c = 4 + 2 2 . {\displaystyle c=4+2{\sqrt {2}}.} 12
Heuristics Using different representations such as O-trees,13 B*-trees14 or sequence pairs15 for the spatial relations between rectangles, various heuristic algorithms have been proposed to solve floorplanning instances in practice. Some of them restrict the solution space by only considering sliceable floorplans.
A sliceable floorplan is a floorplan that may be defined recursively as described below.16
Sliceable floorplans have been used in a number of early electronic design automation tools17 for a number of reasons. Sliceable floorplans may be conveniently represented by binary trees (more specifically, k-d trees), which correspond to the order of slicing. More importantly, a number of NP-hard problems with floorplans have polynomial time algorithms when restricted to sliceable floorplans.18
Leveraging the computing power of GPUs, analytical placement approaches such as DreamPlace have been applied to macro placement problems.19
"Floorplan in VLSI Physical Design". iVLSI Technologies. Retrieved 2025-06-12. https://ivlsi.com/floorplan-vlsi-physical-design/ ↩
Kahng, Andrew B. (2000). "Classical floorplanning harmful?". Proceedings of the 2000 international symposium on Physical design. ISPD '00. Association for Computing Machinery. pp. 207–213. doi:10.1145/332357.332401. ISBN 1-58113-191-7. Retrieved 2025-06-12. 1-58113-191-7 ↩
Liu, Chen-Wei and Chang, Yao-Wen (2024-09-01). "Physical Design: Methodologies and Developments". arXiv:2409.04726 [eess.SY].{{cite arXiv}}: CS1 maint: multiple names: authors list (link) /wiki/ArXiv_(identifier) ↩
VLSIPD4 (2023-04-23). "Floorplanning in Physical Design". Medium. Retrieved 2025-06-06.{{cite web}}: CS1 maint: numeric names: authors list (link) https://medium.com/@vlsipd4/floorplanning-in-physical-design-052e4fe2bb66 ↩
VLSI‑Talks (January 2023). "FLOORPLAN - VLSI TALKS". VLSI TALKS. Retrieved 2025-06-12. https://vlsitalks.com/physical-design/floorplan/ ↩
Lin, Ruei-Bin; Chiang, Yi-Xiu (2019). Impact of Double-Row Height Standard Cells on Placement and Routing. 20th International Symposium on Quality Electronic Design (ISQED). Santa Clara, CA, USA: IEEE. pp. 317–322. doi:10.1109/ISQED.2019.8697712. Retrieved 2025-06-12. https://doi.org/10.1109/ISQED.2019.8697712 ↩
Liu, Chen-Wei; Chang, Yao-Wen (2006). Floorplan and power/ground network co-synthesis for fast design convergence. 2006 International Symposium on Physical Design. ISPD '06. San Jose, California, USA: Association for Computing Machinery. pp. 86–93. doi:10.1145/1123008.1123026. Retrieved 2025-06-12. https://doi.org/10.1145/1123008.1123026 ↩
Funke, Julia; Hougardy, Stefan; Schneider, Jan (2016). "An exact algorithm for wirelength optimal placements in VLSI design". Integration: The VLSI Journal. 52: 355–366. doi:10.1016/j.vlsi.2015.07.001. Retrieved 2025-06-12. https://doi.org/10.1016/j.vlsi.2015.07.001 ↩
Silvanus, Jannik; Vygen, Jens (2017). "Few Sequence Pairs Suffice: Representing All Rectangle Placements". SIAM Journal on Discrete Mathematics. 34: 2017–2032. doi:10.1137/16M1095880 (inactive 15 June 2025).{{cite journal}}: CS1 maint: DOI inactive as of June 2025 (link) /wiki/Doi_(identifier) ↩
Tang, M.; Sebastian, A. (2005). "A Genetic Algorithm for VLSI Floorplanning Using O-Tree Representation". Applications of Evolutionary Computing. Lecture Notes in Computer Science. Vol. 3449. Springer Berlin Heidelberg. pp. 215–224. doi:10.1007/978-3-540-32003-6_22. /wiki/Doi_(identifier) ↩
Fernando, J.; Katkoori, S. (2008). "An Elitist Non-dominated Sorting Based Genetic Algorithm for Simultaneous Area and Wirelength Minimization in VLSI Floorplanning". Proceedings of the 21st International Conference on VLSI Design. IEEE. pp. 337–342. doi:10.1109/VLSI.2008.56. /wiki/Doi_(identifier) ↩
Lin, P.-H.; Chang, Y.-W.; Lin, S.-C. (2009). "Analog Placement Based on Symmetry-Island Formulation". IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 28 (6). IEEE: 791–804. doi:10.1109/TCAD.2009.2015708 (inactive 15 June 2025).{{cite journal}}: CS1 maint: DOI inactive as of June 2025 (link) /wiki/Doi_(identifier) ↩
"The Electrical Engineering Handbook", Richard C. Dorf (1997) ISBN 0-8493-8574-1 /wiki/ISBN_(identifier) ↩
Sarrafzadeh, M, "Transforming an arbitrary floorplan into a sliceable one", Proc. 1993 IEEE/ACM International Conference on Computer-Aided Design (ICCAD-93), pp. 386-389. https://ieeexplore.ieee.org/abstract/document/580085/ ↩
Brian Santo (24 April 2023). AI Can’t Design Chips Without People. EE Times. https://www.eetimes.com/ai-cant-design-chips-without-people/. Accessed 18 June 2025. https://www.eetimes.com/ai-cant-design-chips-without-people/ ↩