Professional Documents
Culture Documents
Cad 8
Cad 8
Cad 8
2
Example
Given: Three blocks with the following potential widths and heights
Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2
Block B: w = 1, h = 2 or w = 2, h = 1
Block C: w = 1, h = 3 or w = 3, h = 1
A C
B
A B
C
A
3
Example
Example
Given: Three blocks with the following potential widths and heights
Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2
Block B: w = 1, h = 2 or w = 2, h = 1
Block C: w = 1, h = 3 or w = 3, h = 1
This floorplan has a global bounding box with minimum possible area (9 square units). 4
Floorplanning Terminologies
Fixed blocks: Blocks for which dimensions are known
5
Floorplanning Terminologies
I/O Pads Floorplan
Module a
Module b
Block a Block c
Module c
GND VDD
Chip Block d
Planning Block Pins
Block
Module d b Block e
Module e
Supply Network 6
Optimizations of Floorplanning
Minimize area of the global bounding box
Global bounding box of a floorplan is the minimum axis-aligned rectangle that contains
all floorplan blocks.
Area of the global bounding box represents the area of the top-level floorplan
Minimize Total wirelength
Long connections between blocks may increase signal propagation delays in the design
Combination of area area(F) and total wirelength L(F) of floorplan F
Minimize ∙area(F) + (1 – )∙L(F)
where the parameter 0 ≤ ≤ 1 gives the relative importance between area(F) and L(F)
7
Factor Considered for Floorplanning
Shape of blocks
To simplify the problems all blocks are assumed to have rectangular shape
Floorplanner uses aspect ratio to determine the shape (height/width)
Usually there will be an upper and lower bound on aspect ratio
Routing considerations
Blocks need to be placed in such a way that there is sufficient routing area between them
Packaging considerations
Blocks which generate maximum heat should be placed farther
Preplaced Blocks
Locations of some blocks may be prefixed
8
Slicing Floorplan
Obtained by repeatedly dividing each rectangle, starting with the entire
chip area, into two smaller rectangles
Horizontal or vertical cut line
A slicing tree or slicing floorplan tree is a binary tree with k leaves and k –
1 internal nodes
Each leaf represents a block
Each internal node represents a horizontal or vertical cut line
9
Slicing Floorplan
V V
c H H H H
b
e f a b c H a b d H
a
d d V c V
e f e f
10
Slicing Floorplan
Polish expression
c H H
b
e f a b c H A B+ C D EF ++
a
d d V
e f
b b
c a
e e
a c
d d
12
Integer Programming based Floor Planning
Ref: Suphachai Sutanthavibul and Eugene Shragowitz, “An Analytical Approach to Floorplan
Design and Optimization”, IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL. 10, No.
6, JUNE 1991
MILP formulation wi
wj
hj Module j
hi Module i
(xj,yj)
(xi,yi)
13
Constraints to prevent overlapping
wi
wj
hj Module j
hi Module i xi + wi ≤ xj
(xj,yj)
(xi,yi) wi
wj
hj Module j hi Module i
xi - wj ≥ xj
(xj,yj)
14
(xi,yi)
Constraints to prevent overlapping
wj
hj Module j
(xj,yj)
wi
y i + hi ≤ y j
hi Module i
(xi,yi)
15
Constraints to prevent overlapping
wi
hi Module i
(xi,yi) y i - hj ≥ y j
wj
hj Module j
(xj,yj)
16
Constraints to prevent overlapping
xi + wi ≤ xj i is to the left of j
xi - wj ≥ xj i is to the right of j
yi + hi ≤ yj i is below j
yi - hj ≥ yj i is above j
But only one of these constraints need to be true at a time (but at least one
should be true)
17
Constraints to prevent overlapping
xi + wi ≤ xj + W(xij + yij)
xi - wj ≥ xj - W(1-xij + yij)
yi + hi ≤ yj + H(1+xij-yij)
yi - hj ≥ yj - H(2-xij – yij)
18
Constraints to prevent overlapping
xi ≥ 0 for all i
yi ≥ 0
xi+wi ≤ W
y* ≥ yi + hi
19