Jump to content

Floorplan (microelectronics): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m lc per MOS:EXPABBR
Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit
 
(43 intermediate revisions by 37 users not shown)
Line 1: Line 1:
{{Short description|Layout of major electronic circuit blocks}}
[[Image:floorplan.png|thumb|right|200px|Mock floorplan in an [[IC layout editor]] [[window (computing)|window]] ]]
{{cleanup images |date=May 2024}}
In [[electronic design automation]], a '''floorplan''' of an [[integrated circuit]] is a schematic representaion of tentative [[placement (EDA)|placement]] of its major functional blocks.
{{Use American English|date = April 2019}}
[[File:floorplan.png|thumb|right|upright=1.2|A mock floorplan viewed in an [[IC layout editor]]]]
In [[electronic design automation]], a '''floorplan''' of an [[integrated circuit]] is a schematic representation of tentative [[placement (EDA)|placement]] of its major functional blocks.


In modern electronic design process floorplans are created during the [[floorplanning]] design stage, an early stage in the hierarchical approach to chip design.
In modern electronic design process floorplans are created during the '''floorplanning''' design stage, an early stage in the hierarchical approach to [[integrated circuit design]].


Depending on the design methodology, the actual notions of floorplan may differ.
Depending on the design methodology being followed, the actual definition of a floorplan may differ.


==Floorplanning==
==Mathematical models and optimization problems related to floorplans==
Floorplanning takes in some of the geometrical constraints in a design. Here are some examples:


* [[bonding pad]]s for off-chip connections (often using [[wire bonding]]) are normally located along the periphery of the chip;
In some approaches floorplan may be a partition of the whole chip area into [[axis aligned rectangle]]s to be occupied by IC blocks. This partition is subject to various constraints and requirements of optimization: block area, [[aspect ratio]]s, estimated total measure of interconnects, etc.
* [[line driver]]s often have to be located as close to bonding pads as possible;
* chip area is therefore in some cases given a minimum area in order to fit in the required number of pads;
* areas are clustered in order to limit data paths thus frequently featuring defined structures such as [[CPU cache|cache]] [[Random-access memory|RAM]], [[Multiplication|multiplier]], [[barrel shifter]], [[line driver]] and [[arithmetic logic unit]];
* purchased intellectual property blocks ([[Semiconductor intellectual property core|IP-blocks]]), such as a [[processor core]], come in predefined area blocks;
* some IP-blocks come with legal limitations such as permitting no routing of signals directly above the block.


==Mathematical models and optimization problems==
Finding good floorplans has been a research area in [[combinatorial optimization]]. Most of problems related to finding optimal floorplans are [[NP-hard]], i.e., require vast computational resources. Therefore the most common approach is to use various optimization heuristics for finding good solutions.
[[File:Flo-01.png|thumb|right|A sliceable floorplan, with a slicing order indicated]]
[[File:Flo-02.png|thumb|right|The simplest non-sliceable floorplan]]


In some approaches the floorplan may be a partition of the whole chip area into [[axis aligned rectangle]]s to be occupied by IC blocks. This partition is subject to various constraints and requirements of optimization: block area, [[aspect ratio]]s, estimated total measure of interconnects, etc.
Another approach is to restrict design methodology to certain classes of floorplans, such as sliceable floorplans, see below.

Finding good floorplans has been a research area in [[combinatorial optimization]]. Most of the problems related to finding optimal floorplans are [[NP-hard]], i.e., require vast computational resources. Therefore, the most common approach is to use various optimization heuristics for finding good solutions.

Another approach is to restrict design methodology to certain classes of floorplans, such as sliceable floorplans.


===Sliceable floorplans===
===Sliceable floorplans===
A '''sliceable floorplan''' is a floorplan that may be defined recursively as described below. <ref name=dorf>"The Electrical Engineering Handbook", Richard C. Dorf (1997) {{ISBN|0-8493-8574-1}}</ref>
[[Image:Flo-01.png|thumb|right|200px|A sliceable flooorplan, with a slicing order indicated]]
[[Image:Flo-02.png|thumb|right|200px|The simplest non-sliceable flooorplan]]
A '''sliceable floorplan''' is a floorplan that may be defined recursively as described below. <ref name=dorf>"he Electrical Engineering Handbook", Richard C. Dorf (1997) ISBN 0849385741</ref>
*A floorplan that consists of a single rectangular block is sliceable.
*A floorplan that consists of a single rectangular block is sliceable.
*If a block from a sliceable floorplan is cut ("sliced") in two by a vertical or horizontal line, the resulting floorplan is sliceable.
*If a block from a sliceable floorplan is cut ("sliced") in two by a vertical or horizontal line, the resulting floorplan is sliceable.


Sliceable floorplans have been used in a number of early [[EDA]] tools<ref name=dorf/> for a number of reasons. Sliceable floorplans may be conveniently represented by [[binary tree]]s 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.<ref>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. </ref>
Sliceable floorplans have been used in a number of early [[electronic design automation]] tools<ref name=dorf/> for a number of reasons. Sliceable floorplans may be conveniently represented by [[binary tree]]s (more specifically, [[k-d tree|''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.<ref>Sarrafzadeh, M, "[https://ieeexplore.ieee.org/abstract/document/580085/ Transforming an arbitrary floorplan into a sliceable one]", Proc. 1993 IEEE/ACM International Conference on Computer-Aided Design (ICCAD-93), pp. 386-389. </ref>

==Further reading==
* [http://www.schoelzke.info/mirror/galway/projects/ChipPlanner-Description.htm The Chip Planner of the PLAYOUT System]
* [https://www.ifte.de/books/eda/index.html ''VLSI Physical Design: From Graph Partitioning to Timing Closure''], by Kahng, Lienig, Markov and Hu, {{doi|10.1007/978-3-030-96415-3}}{{ISBN|978-3-030-96414-6}}, 2022
* [https://www.ifte.de/books/pd/index.html ''Fundamentals of Layout Design for Electronic Circuits''], by Lienig, Scheible, Springer, {{doi|10.1007/978-3-030-39284-0}}{{ISBN|978-3-030-39284-0}}, 2020


==References==
==References==
Line 29: Line 47:
[[Category:Electronics optimization]]
[[Category:Electronics optimization]]
[[Category:Combinatorial optimization]]
[[Category:Combinatorial optimization]]
[[Category:Rectangular subdivisions]]

Latest revision as of 05:36, 1 December 2024

A mock floorplan viewed in an IC layout editor

In electronic design automation, a floorplan of an integrated circuit is a schematic representation of tentative placement of its major functional blocks.

In modern electronic design process floorplans are created during the floorplanning design stage, an early stage in the hierarchical approach to integrated circuit design.

Depending on the design methodology being followed, the actual definition of a floorplan may differ.

Floorplanning

[edit]

Floorplanning takes in some of the geometrical constraints in a design. Here are some examples:

  • bonding pads for off-chip connections (often using wire bonding) are normally located along the periphery of the chip;
  • line drivers often have to be located as close to bonding pads as possible;
  • chip area is therefore in some cases given a minimum area in order to fit in the required number of pads;
  • areas are clustered in order to limit data paths thus frequently featuring defined structures such as cache RAM, multiplier, barrel shifter, line driver and arithmetic logic unit;
  • purchased intellectual property blocks (IP-blocks), such as a processor core, come in predefined area blocks;
  • some IP-blocks come with legal limitations such as permitting no routing of signals directly above the block.

Mathematical models and optimization problems

[edit]
A sliceable floorplan, with a slicing order indicated
The simplest non-sliceable floorplan

In some approaches the floorplan may be a partition of the whole chip area into axis aligned rectangles to be occupied by IC blocks. This partition is subject to various constraints and requirements of optimization: block area, aspect ratios, estimated total measure of interconnects, etc.

Finding good floorplans has been a research area in combinatorial optimization. Most of the problems related to finding optimal floorplans are NP-hard, i.e., require vast computational resources. Therefore, the most common approach is to use various optimization heuristics for finding good solutions.

Another approach is to restrict design methodology to certain classes of floorplans, such as sliceable floorplans.

Sliceable floorplans

[edit]

A sliceable floorplan is a floorplan that may be defined recursively as described below. [1]

  • A floorplan that consists of a single rectangular block is sliceable.
  • If a block from a sliceable floorplan is cut ("sliced") in two by a vertical or horizontal line, the resulting floorplan is sliceable.

Sliceable floorplans have been used in a number of early electronic design automation tools[1] 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.[2]

Further reading

[edit]
  • The Chip Planner of the PLAYOUT System
  • VLSI Physical Design: From Graph Partitioning to Timing Closure, by Kahng, Lienig, Markov and Hu, doi:10.1007/978-3-030-96415-3ISBN 978-3-030-96414-6, 2022
  • Fundamentals of Layout Design for Electronic Circuits, by Lienig, Scheible, Springer, doi:10.1007/978-3-030-39284-0ISBN 978-3-030-39284-0, 2020

References

[edit]
  1. ^ a b "The Electrical Engineering Handbook", Richard C. Dorf (1997) ISBN 0-8493-8574-1
  2. ^ 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.