ece6133 physical design automation of vlsi...
TRANSCRIPT
![Page 1: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/1.jpg)
FloorplanningECE6133
Physical Design Automation of VLSI Systems
Prof. Sung Kyu LimSchool of Electrical and Computer Engineering
Georgia Institute of Technology
![Page 2: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/2.jpg)
Floorplanning, Placement, and Pin Assignment
• Partitioning leads to
– Blocks with well-defined areas and shapes (fixed blocks).
– Blocks with approximated areas and no particular shapes (flexibleblocks).
– A netlist specifying connections between the blocks.
• Objectives
– Find locations for all blocks.
– Consider shapes of flexible block, pin locations of all the blocks.
Partitioning RoutingFloorplanning/Placement (/Pin assignment)
Blocks w/ areas (shapes)
netlist
Block locations
netlist
![Page 3: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/3.jpg)
Floorplanning
• Inputs to the floorplanning problem:
– A set of blocks, fixed or flexible.
– Pin locations of fixed blocks.
– A netlist.
• Objectives: Minimize area, reduce wirelength for (critical) nets, max-imize routability, determine shapes of flexible blocks
7 5
4
2
1
6
3
A non−optimal floorplanAn optimal floorplan, in terms of area
1
6
7 5
2
4
3
![Page 4: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/4.jpg)
Floorplan Design
x
y
Aspect ratio: r <= y/x <= s
Rotation:
Area: A=xy
Modules:
Module connectivity
3
2
5
3 6
52
1
a b
c d
e f
a
bc
d
e
f
g
![Page 5: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/5.jpg)
Floorplanning: Terminology
• Rectangular dissection: Subdivision of a given rectangle by a finite #of horizontal and vertical line segments into a finite # of non-overlappingrectangles.
• Slicing structure: a rectangular dissection that can be obtained byrepetitively subdividing rectangles horizontally or vertically.
• Slicing tree: A binary tree, where each internal node represents a verticalcut line or horizontal cut line, and each leaf a basic rectangle.
• Skewed slicing tree: One in which no node and its right child are thesame.
13
4 5
6 72
H
V
H
H
V V
12 3
4 56 7
13
4 5
6 72
A slicing tree (skewed)
H
V
H
HV
V
12
3
4 5
6 7
Another slicing tree (non−skewed)Non−slicing floorplan Slicing floorplan
![Page 6: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/6.jpg)
Floorplan Design by Simulated Annealing
• Related work
– Wong & Liu, “A new algorithm for floorplan design,” DAC’86.
∗ Consider slicing floorplans.
– Wong & Liu, “Floorplan design for rectangular and L-shaped mod-ules,” ICCAD’87.
∗ Also consider L-shaped modules.
– Wong, Leong, Liu, Simulated Annealing for VLSI Design, pp. 31–71,Kluwer academic Publishers, 1988.
• Ingredients: solution space, neighborhood structure, cost function, an-nealing schedule?
![Page 7: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/7.jpg)
jAlgorithms for VLSI Physical Design Automation
����
c Sherwani ��
Partitioning
Simulated Annealing Algorithm
�
� Concept analogous to the annealing process
used for metals and glass�
� A random initial partition is available as input�
� A new partitioning is generated by
exchanging some elements�
� If the partitions improve the move
is always accepted�
� If not then the move is accepted with a
probability which decreases with
the increase in a parameter called temperature T
![Page 8: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/8.jpg)
jAlgorithms for VLSI Physical Design Automation
����
c Sherwani ��
Partitioning
The Annealing curve
Temp
Time
Global Minima
Local Minima’s
![Page 9: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/9.jpg)
jAlgorithms for VLSI Physical Design Automation
����
c Sherwani ��
Partitioning
Simulated Annealing Algorithm
�
Algorithm SA
begint � t��
cur part � ini part�
cur score � SCORE�cur part��
repeat
repeat
comp� � SELECT�part���
comp� � SELECT�part���
trial part � EXCHANGE�comp�� comp�� cur part��
trial score � SCORE�trial part��
�s � trial score � cur score�
if ��s � � then
cur score � trial score�
cur part � MOVE�comp�� comp���
elser � RANDOM� � ���
if �r � e��s
t � then
cur score � trial score�
cur part � MOVE�comp�� comp� ��
until �equilibrium at t is reached�
t � �t �� � � �� ��
until �freezing point is reached�
end�
![Page 10: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/10.jpg)
Solution Representation• An expression E = e1e2 . . . e2n−1, where ei ∈ {1,2, . . . , n,H, V },1 ≤ i ≤
2n− 1, is a Polish expression of length 2n− 1 iff
1. every operand j, 1 ≤ j ≤ n, appears exactly once in E;2. (the balloting property) for every subexpression Ei = e1 . . . ei,1 ≤
i ≤ 2n− 1, #operands > #operators.
1 6 H 3 5 V 2 H V 7 4 H V
# of operands = 4 ....... = 7# of operators = 2 ....... = 5
• Polish expression ←→ Postorder traversal.• ijH: rectangle i on bottom of j; ijV : rectangle i on the left of j.
7 54
21
6
3
V
H H
V V
H 2 7 5
3 4
1 6E = 16H2V75VH34HV
E = 16+2*75*+34+*Postorder traversal of a tree!
![Page 11: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/11.jpg)
Solution Representation (cont’d)
VV
H
1 4
1
43
22 3
E = 123H4VV
V
H
V
3
1
2
4
E = 123HV4V non−skewed! skewed!
H
H
....... HH ........
V
V
....... VV ........
Non−skewed cases
• Question: How to eliminate ambiguous representation?
![Page 12: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/12.jpg)
Normalized Polish Expression
• A Polish expression E = e1e2 . . . e2n−1 is called normalized iff E has noconsecutive operators of the same type (H or V ).
• Given a normalized Polish expression, we can construct a unique rect-angular slicing structure.
7 54
21
6
3
V
H H
V V
H 2 7 5
3 4
1 6
E = 16H2V75VH34HVA normalized Polish expression
![Page 13: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/13.jpg)
Neighborhood Structure
• Chain: HVHVH . . . or V HV HV . . .
1 6 H 3 5 V 2 H V 7 4 H V
chain
• Adjacent: 1 and 6 are adjacent operands; 2 and 7 are adjacent operands;5 and V are adjacent operand and operator.
• 3 types of moves:
– M1 (Operand Swap): Swap two adjacent operands.
– M2 (Chain Invert): Complement some chain (V = H,H = V ).
– M3 (Operator/Operand Swap): Swap two adjacent operand andoperator.
![Page 14: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/14.jpg)
Effects of Perturbation
1
2
3
4
2
4
3
1 24
3
1
2
4
3
1
12V4H3V
M1 M2 M3
12V3H4V 12H3H4V 12H34HV
• Question: The balloting property holds during the moves?
– M1 and M2 moves are OK.
– Check the M3 moves! Reject “illegal” M3 moves.
• Check M3 moves: Assume that the M3 move swaps the operand eiwith the operator ei+1, 1 ≤ i ≤ k−1. Then, the swap will not violate theballoting property iff 2Ni+1 < i.
– Nk: # of operators in the Polish expression E = e1e2 . . . ek,1 ≤ k ≤ 2n− 1.
![Page 15: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/15.jpg)
Cost Function• Φ = A+ λW .
– A: area of the smallest rectangle
– W : overall wiring length
– λ: user-specified parameter
1
2
3
4
2
4
3
1 24
3
1
2
4
3
1M1 M2 M3
A: 12H34HV
• W =∑
ij cijdij.
– cij: # of connections between blocks i and j.
– dij: center-to-center distance between basic rectangles i and j.
![Page 16: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/16.jpg)
Area Computation
{ (5,5) (9,4) }
{ (3,2) }
{ (3,5) (6,,4) }{ (2,5) (3,4) }
{ (2,3) (3,2) } { (2,2) }
{ (1,3) (3,1) } { (2,3) (3,2) }
{ (1,2) (2,1) } { (2,2) }
V
HH
V
1 2
3 4
5 6
{ (6,2) (3,3) }
V
1
2 5
3
6
4
2
3
2 1 2
V
HH
V
1 2
3 4
5 6
V
u1 u2
v w
max{u1, u2}
v+w
u1 u2
v wu1
u2
max{v, w}
u1+u2
• Wiring cost?
![Page 17: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/17.jpg)
Incremental Computation of Cost Function
• Each move leads to only a minor modification of the Polish expression.
• At most two paths of the slicing tree need to be updated for each move.
V
HH
V1 2
3 45 6
V
V
HH
V
1 2
36
V
E = 12H34V56VHV
M1
E = 12H35V46VHV
54
![Page 18: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/18.jpg)
Incremental Computation of Cost Function
(cont’d)
HH
V1 2
3 4
5 6
V
H
1 2
36
V
E = 12H34V56VHV
V
HH
V1 2
3 4
5 6
V
V
H
V
6
V
1
2 3E = 12H34V56VHV
M2
M3
V
E = 12H34V56HVH
H
V
H
H
54
E = 123H4V56VHV
45
![Page 19: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/19.jpg)
Annealing Schedule
• Initial solution: 12V 3V . . . nV .
1 2 3 n
• Ti = riT0, i = 1,2,3, . . .; r = 0.85.
• At each temperature, try kn moves (k = 5–10).
• Terminate the annealing process if
– # of accepted moves < 5%,
– temperature is low enough, or
– run out of time.
![Page 20: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/20.jpg)
Algorithm: Simulated Annealing Floorplanning(P, ε, r, k)1 begin2 E ← 12V 3V 4V . . . nV ; /* initial solution */
3 Best← E; T0 ← ∆avg
ln(P ); M ←MT ← uphill← 0; N = kn;
4 repeat5 MT ← uphill← reject← 0;6 repeat7 SelectMove(M);8 Case M of9 M1: Select two adjacent operands ei and ej; NE ← Swap(E, ei, ej);10 M2: Select a nonzero length chain C; NE ← Complement(E,C);11 M3: done← FALSE;12 while not (done) do13 Select two adjacent operand ei and operator ei+1;14 if (ei−1 6= ei+1) and (2Ni+1 < i) then done← TRUE;15 NE ← Swap(E, ei, ei+1);16 MT ←MT + 1; ∆cost← cost(NE)− cost(E);
17 if (∆cost ≤ 0) or (Random < e−∆cost
T )18 then19 if (∆cost > 0) then uphill← uphill + 1;20 E ← NE;21 if cost(E) < cost(best) then best← E;22 else reject← reject+ 1;23 until (uphill > N) or (MT > 2N);24 T = rT; /* reduce temperature */
25 until (rejectMT
> 0.95) or (T < ε) or OutOfT ime;26 end
![Page 21: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/21.jpg)
Practical Problems in VLSI Physical Design Polish Expression (1/8)
Draw slicing floorplan based on:Initial PE: P1 = 25V1H374VH6V8VHDimensions: (2,4), (1,3), (3,3), (3,5), (3,2), (5,3), (1,2), (2,4)
Normalized Polish Expression
![Page 22: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/22.jpg)
Practical Problems in VLSI Physical Design Polish Expression (2/8)
M1 MoveSwap module 3 and 7 in P1 = 25V1H374VH6V8VH
We get: P2 = 25V1H734VH6V8VHArea changed from 11 × 15 to 13 × 14
![Page 23: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/23.jpg)
Practical Problems in VLSI Physical Design Polish Expression (3/8)
Change on Floorplan
![Page 24: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/24.jpg)
Practical Problems in VLSI Physical Design Polish Expression (4/8)
M2 MoveComplement last chain in P2 = 25V1H734VH6V8VH
We get: P3 = 25V1H734VH6V8HVArea changed from 13 × 14 to 15 × 11
![Page 25: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/25.jpg)
Practical Problems in VLSI Physical Design Polish Expression (5/8)
Change on Floorplan
![Page 26: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/26.jpg)
Practical Problems in VLSI Physical Design Polish Expression (6/8)
M3 MoveSwaps 6 and V in P3 = 25V1H734VH6V8HV
We get: P4 = 25V1H734VHV68HVArea changed from 15 × 11 to 15 × 7
![Page 27: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/27.jpg)
Practical Problems in VLSI Physical Design Polish Expression (7/8)
Change on Floorplan
![Page 28: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/28.jpg)
Practical Problems in VLSI Physical Design Polish Expression (8/8)
Initial Temperature CalculationWhat is average change on cost function?Initial temperature with acceptance probability 0.9?
![Page 29: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/29.jpg)
• A calculator company produces a scientific calculator and a graphing calculator.
• Long-term projections indicate an expected demand of at least 100 scientific and 80 graphing calculators each day.
• Because of limitations on production capacity, no more than 200 scientific and 170 graphing calculators can be made daily.
• To satisfy a shipping contract, a total of at least 200 calculators must be shipped each day.
• If each scientific calculator sold results in a $2 loss, but each graphing calculator produces a $5 profit, how many of each type should be made daily to maximize net profits?
Sample LP Problem
![Page 30: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/30.jpg)
• Variables– x: number of scientific calculators produced– y: number of graphing calculators produced
• Objective function– P = –2x + 5y
• Constraints– 100 < x < 200 – 80 < y < 170 – y > –x + 200
• Answer– P = 650 at (x, y) = (100, 170)
LP Formulation
![Page 31: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/31.jpg)
Linear program (LP)
minimize
n∑
j=1
cjxj
subject to
n∑
j=1
aijxj ≤ bi, i = 1, . . . ,m
n∑
j=1
cijxj = di, i = 1, . . . , p
variables: xj; problem data: cj, aij, bi, cij, di
properties
• can be solved very efficiently (several 10,000 variables, constraints)• widely available general-purpose software• extensive, useful theory, e.g., can characterize sensitivity of optimumwith respect to changes in data
Introduction and overview 1–2
![Page 32: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/32.jpg)
Integer linear program
integer linear program
minimize∑n
j=1 cjxj
subject to∑n
j=1 aijxj ≤ bi, i = 1, . . . ,m∑nj=1 cijxj = di, i = 1, . . . , p
xj ∈ Z
Boolean linear program
minimize∑n
j=1 cjxj
subject to∑n
j=1 aijxj ≤ bi, i = 1, . . . ,m∑nj=1 cijxj = di, i = 1, . . . , p
xj ∈ {0, 1}
• very general problems; can be extremely hard to solve• can be solved as a sequence of linear programs
Introduction and overview 1–8
![Page 33: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/33.jpg)
Floorplanning by Mathematical Programming
• Sutanthavibul, Shragowitz, and Rosen, “An analytical approach to floor-plan design and optimization,” 27th DAC, 1990.
• Notation:
– wi, hi: width and height of module Mi.
– (xi, yi): coordinate of the lower left corner of module Mi.
– ai ≤ wi/hi ≤ bi: aspect ratio wi/hi of module Mi. (Note: We definedaspect ratio as hi/wi before.)
• Goal: Find a mixed integer linear programming (ILP) formulation forthe floorplan design.
– Linear constraints? Objective function?
![Page 34: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/34.jpg)
Nonoverlap Constraints
• Two modules Mi and Mj are nonoverlap, if at least one of the following linear constraintsis satisfied (cases encoded by pij and qij):
pij qijMi to the left of Mj: xi + wi ≤ xj 0 0Mi below Mj: yi + hi ≤ yj 0 1Mi to the right of Mj: xi − wj ≥ xj 1 0Mi above Mj: yi − hj ≥ yj 1 1
• Let W,H be upper bounds on the floorplan width and height, respectively.
• Introduce two 0,1 variables pij and qij to denote that one of the above inequalities isenforced; e.g., pij = 0, qij = 1⇒ yi + hi ≤ yj is satisfied.
xi + wi ≤ xj +W (pij + qij)
yi + hi ≤ yj +H(1 + pij − qij)xi − wj ≥ xj −W (1− pij + qij)
yi − hj ≥ yj −H(2− pij − qij)
(xi, yi) (xj, yj)
wi
xi + wi <= xj(xi, yi) (xj, yj)
wi
xi + wi > xj
hi
wjhj
![Page 35: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/35.jpg)
Cost Function & Constraints
• Minimize Area = xy, nonlinear! (x, y: width and height of the resultingfloorplan)
• How to fix?
– Fix the width W and minimize the height y!
• Four types of constraints:
1. no two modules overlap (∀i, j : 1 ≤ i < j ≤ n);
2. each module is enclosed within a rectangle of width W and height H(xi + wi ≤W, yi + hi ≤ H,1 ≤ i ≤ n);
3. xi ≥ 0, yi ≥ 0,1 ≤ i ≤ n;
4. pij, qij ∈ {0,1}.
• wi, hi are known.
![Page 36: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/36.jpg)
Mixed ILP for Floorplanning
Mixed ILP for the floorplanning problem with rigid, fixed modules.
min y
subject to
xi + wi ≤W, 1 ≤ i ≤ n (1)
yi + hi ≤ y, 1 ≤ i ≤ n (2)
xi + wi ≤ xj +W (pij + qij), 1 ≤ i < j ≤ n (3)
yi + hi ≤ yj +H(1 + pij − qij), 1 ≤ i < j ≤ n (4)
xi − wj ≥ xj −W (1− pij + qij), 1 ≤ i < j ≤ n (5)
yi − hj ≥ yj −H(2− pij − qij), 1 ≤ i < j ≤ n (6)
xi, yi ≥ 0, 1 ≤ i ≤ n (7)
pij, qij ∈ {0,1}, 1 ≤ i < j ≤ n (8)
• Size of the mixed ILP: for n modules,
– # continuous variables: O(n); # integer variables: O(n2); # linear constraints:O(n2).
– Unacceptably huge program for a large n! (How to cope with it?)
• Popular LP software: LINDO, lp solve, etc.
![Page 37: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/37.jpg)
Mixed ILP for Floorplanning (cont’d)
Mixed ILP for the floorplanning problem: rigid, freely oriented modules.
min y
subject to
xi + rihi + (1− ri)wi ≤W, 1 ≤ i ≤ n (9)
yi + riwi + (1− ri)hi ≤ y, 1 ≤ i ≤ n (10)
xi + rihi + (1− ri)wi ≤ xj +M(pij + qij), 1 ≤ i < j ≤ n (11)
yi + riwi − (1− ri)hi ≤ yj +M(1 + pij − qij), 1 ≤ i < j ≤ n (12)
xi − rjhj + (1− rj)wj ≥ xj −M(1− pij + qij), 1 ≤ i < j ≤ n (13)
yi − rjwj − (1− rj)hj ≥ yj −M(2− pij − qij), 1 ≤ i < j ≤ n (14)
xi, yi ≥ 0, 1 ≤ i ≤ n (15)
pij, qij ∈ {0,1}, 1 ≤ i < j ≤ n (16)
• For each module i with free orientation, associate a 0-1 variable ri:
– ri = 0: 0◦ rotation for module i.
– ri = 1: 90◦ rotation for module i.
• M = max{W,H}.
![Page 38: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/38.jpg)
Flexible Modules
• Assumptions: wi, hi are unknown; area lower bound: Ai.
• Module size constraints: wihi ≥ Ai; ai ≤ wihi≤ bi.
• Hence, wmin =√Aiai, wmax =
√Aibi, hmin =
√Ai
bi, hmax =
√Ai
ai.
• wihi ≥ Ai nonlinear! How to fix?
– Can apply a first-order approximation of the equation: a line passing through(wmin, hmax) and (wmax, hmin).
hi = ∆iwi + ci / ∗ y = mx+ c ∗ /
∆i =hmax − hminwmin − wmax
/ ∗ slope ∗ /
ci = hmax −∆iwmin / ∗ c = y0 −mx0 ∗ /
– Substitute ∆iwi+ ci for hi to form linear constraints (xi, yi, wi are unknown; ∆i,ci, can be computed as above).
![Page 39: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/39.jpg)
Wirelength Constraint
• Critical nets– Timing analysis, power analysis, etc
• 6 new continuous variables per net– Half perimeter of bounding box of each net is bounded
– Overhead is not significant: time dependence on # of continuous variable is at most linear
nnnnnnnnn
inin
inin
Lyxyyyxxxniyyniyynixxnixx
≤+−≥−≥
∈∀=∈∀=
∈∀=∈∀=
,ˆ,ˆminˆ,maxminˆ,max
![Page 40: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/40.jpg)
Reducing the Size of the Mixed ILP
• Time complexity of a mixed ILP: exponential!
• Recall the large size of the mixed ILP: # variables, # constraints: O(n2).
– How to fix it?
• Key: Solve a partial problem at each step (successive augmentation)
• Questions:
– How to select next subgroup of modules? ⇒ linear ordering based on connectivity.
– How to minimize the # of required variables?
![Page 41: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/41.jpg)
W
Partial floorplan
Next group of modules
![Page 42: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/42.jpg)
Reducing the Size of the Mixed ILP (cont’d)
• Size of each successive mixed ILP depends on (1) # of modules in the next group; (2)“size” of the partially constructed floorplan.
• Keys to deal with (2)
– Minimize the problem size of the partial floorplan.
– Replace the already placed modules by a set of covering rectangles.
– # rectangles is usually much smaller than # placed modules.
Dead space
(a) (b)
(c)
Horizontal cut edges
C3 C4
C2
C1
(d)
R4 R5
R3
R2
R1
![Page 43: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/43.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (1/22)
Fixed modules only, no rotation allowedm1 (4,5), m2 (3,7), m3 (6,4), m4 (7,7)
I. Floorplanning with Fixed Modules
![Page 44: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/44.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (2/22)
ILP Formulation
![Page 45: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/45.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (3/22)
Non-Overlapping Constraints (cont)
![Page 46: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/46.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (4/22)
Additional Constraints
![Page 47: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/47.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (5/22)
SolutionsUsing GLPK we get the following solutions:
![Page 48: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/48.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (6/22)
Final FloorplanWhy the non-optimality?
Due to linear approximation of area objective (= y*)Chip width/height constraints also affectedIn fact, our ILP solution (y* = 12) is optimal under these conditions.
![Page 49: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/49.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (7/22)
II. Floorplanning with RotationFixed modules, rotation allowed
Fixed modules: m1 (4,5), m2 (3,7), m3 (6,4), m4 (7,7)Need 4 more binary variables for rotation: z1, z2, z3, z4
We use M = max{W,H} = 23
![Page 50: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/50.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (8/22)
ILP Formulation
![Page 51: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/51.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (9/22)
Non-Overlapping Constraints (cont)
![Page 52: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/52.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (10/22)
Non-Overlapping Constraints (cont)
![Page 53: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/53.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (11/22)
Additional Constraints
![Page 54: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/54.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (12/22)
SolutionsUsing GLPK we get the following solutions:
![Page 55: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/55.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (13/22)
III. Floorplanning with Flexible Modules2 Fixed modules:
m1 (4,5), m2 (3,7) (rotation allowed)
2 Flexible modules: m3: area = 24, aspect ratio [0.5, 2]m4: area = 49, aspect ratio [0.3, 2.5]
![Page 56: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/56.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (14/22)
Linear Approximation
![Page 57: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/57.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (15/22)
Linear Approximation (cont)
![Page 58: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/58.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (16/22)
Upper Bound of Chip Dimension
![Page 59: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/59.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (17/22)
Non-Overlap Constraint
![Page 60: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/60.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (18/22)
Non-Overlap Constraint (cont)
![Page 61: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/61.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (19/22)
More Constraints
![Page 62: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/62.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (20/22)
Solutions
![Page 63: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/63.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (21/22)
ComparisonFixed modules only = 12 × 12Rotation allowed = 11 × 11Flexible modules used = 10.46 × 10.32
![Page 64: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/64.jpg)
Practical Problems in VLSI Physical Design ILP Floorplanning (22/22)
Approximation Error and OverlapDue to linear approximation
Approximated area of m3 = 3.46 × 5.2 = 17.99 (actually 24)Approximated area of m4 = 3.83 × 7.32 = 28.04 (actually 49)Real area of m3 = 3.46 × 6.94 = 24Real area of m4 = 3.83 × 12.79 = 49Floorplan area increases, overlap occurs
![Page 65: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/65.jpg)
P-admissible Solution Space
• P-admissible solution space for Problem P:
1. the solution space is finite,
2. every solution is feasible,
3. evaluation for each configuration is possible in polynomial time andso is the implementation of the corresponding configuration, and
4. the configuration corresponding to the best evaluated solution in thespace coincides with an optimal solution of P.
• Slicing floorplan is not P-admissible. Why?
• A P-admissible floorplan representation: Sequence Pair.
![Page 66: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/66.jpg)
Sequence-Pair Based Floorplanning/Placement
• Murata, et al, ICCAD-95; Nakatake, et al, ICCAD-96; Murata, et al,ISPD-97; Murata and Kuh, ISPD-98; Xu, et al, ISPD-98; Kang and Dai,ISPD-98, ICCAD-98.
• Represent a packing by a pair of module-name sequences (e.g., (abdecf, cbfade)).
• Correspond all pairs of the sequences to a P-admissible solution space.
• Search in the P-admissible solution space (typically, by simulated anneal-ing).
b
c
d e
f
a
b
c
d e
f
a
c
d e
f
a
b
Loci of module bA floorplan
![Page 67: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/67.jpg)
Relative Module Positions• A floorplan is a partition of a chip into rooms, each containing at most
one block.
• Locus (right-up, left-down, up-left, down-right)
1. Take a non-empty room.
2. Start at the center of the room, walk in two alternating directions tohit the sides of rooms.
3. Continue until to reach a corner of the chip.
• Positive locus: Union of right-up locus and left-down locus.
• Negative locus: Union of up-left locus and down-right locus.
b
d e
fc
a
b
d e
fc
a
Positive loci: abdecf Negative loci: cbfade
c
d e
f
a
b
Loci of module b
![Page 68: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/68.jpg)
Geometrical Information
• No pair of positive (negative) loci cross each other, i.e., loci are linearlyordered.
• Sequence Pair (Γ+,Γ−): Γ+ is a module-name sequence representingthe order of positive loci. (Exp: (Γ+,Γ−) = (abdecf, cbfade))
• x′ is after (before) x in both Γ+ and Γ− =⇒ x′ is right (left) to x.
• x′ is after (before) x in Γ+ and before (after) x in Γ− =⇒ x′ is below(above) x.
b
d e
fc
a
b
d e
fc
a
Positive loci: abdecf Negative loci: cbfade
c
d e
f
a
b
Loci of module b
![Page 69: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/69.jpg)
(Γ+,Γ−)-Packing
• For every sequence pair (Γ+,Γ−), there is a (Γ+,Γ−) packing.
• Horizontal constraint graph GH(V,E) (similarly for GV (V,E)):
– V : source s, sink t, m vertices for modules.
– E: (s, x) and (x, t) for each module x, and (x, x′) iff x must be left-tox′.
– Vertex weight: 0 for s and t, width of module x for the othervertices.
b
d e
fc
a
b
d e
fc
a
Horizontal constraint graph(Transitive edges are not shown)
b
d e
fc
a
Vertical constraint graph(Transitive edges are not shown)
Packing for sequence pair: (abdecf, cbfade)
s t
s
t
![Page 70: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/70.jpg)
Optimal (Γ+,Γ−)-Packing
• Optimal (Γ+,Γ−)-Packing can be obtained in O(m2) time by applyinga longest path algorithm on a vertex-weighted directed acyclic graph.
– GH and GV are independent.
– The X and Y coordinates of each module are determined as theminimum by assigning the longest path length between s and thevertex of the module in GH and GV , respectively.
• The set of all sequence pairs is a P-admissible solution space.
b
d e
fc
a
b
d e
fc
a
Horizontal constraint graph(Transitive edges are not shown)
b
d e
fc
a
Vertical constraint graph(Transitive edges are not shown)
Packing for sequence pair: (abdecf, cbfade)
s t
s
t
![Page 71: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/71.jpg)
Sequence Pair
• Final chip area?• Solution space size?
– Without rotation vs with rotation
• Optimization: Simulated Annealing– Initial solution: Γ+ = Γ-
– Swap two modules in Γ+
– Swap two modules both in Γ+ and Γ-
– Rotate
• Results: produces highly packed non-slicing floorplans
![Page 72: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/72.jpg)
Annealing Temperature vs. Floorplan Quality
(c) temperature: 20area: 7260120
3549
2696
3111
4174
(a) temperature: 2000area: 12985314
(b) temperature: 1000area: 9568104
2814
2580
-26.3%
-44.1%
m0
m1
m2
m3
m4
m5
m6m7m10
m13
m8
m11m12 m9
m8
m8
m3m3 m9
m9
m13 m13 m2
m2 m1 m1m6
m6m7
m5
m11m4
![Page 73: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/73.jpg)
• Floorplan (a)– S1: 11 0 7 10 8 4 1 5 12 2 9 13 6 3– S2: 7 10 6 1 11 5 4 0 13 12 9 2 3 8
• Floorplan (b)– S1: 8 6 13 3 9 5 2 4 10 0 7 12 1 11– S2: 5 6 2 1 8 9 13 4 12 10 11 0 3 7
• Floorplan (c)– S1: 3 11 6 9 5 4 7 0 10 12 13 1 2 8– S2: 1 6 8 12 3 7 5 10 0 9 11 13 4 2
Sequence Pair
![Page 74: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/74.jpg)
Non Slicing Floorplan• Sequence Pair + SA by Adam & Todd (class project)
![Page 75: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/75.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (1/13)
Initial SP: SP1 = (17452638, 84725361)Dimensions: (2,4), (1,3), (3,3), (3,5), (3,2), (5,3), (1,2), (2,4)Based on SP1 we build the following table:
Sequence Pair Representation
![Page 76: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/76.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (2/13)
Constraint GraphsHorizontal constraint graph (HCG)
Before and after removing transitive edges
![Page 77: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/77.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (3/13)
Constraint Graphs (cont)Vertical constraint graph (VCG)
![Page 78: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/78.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (4/13)
Computing Chip Width and HeightLongest source-sink path length in:
HCG = chip width, VCG = chip heightNode weight = module width/height
![Page 79: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/79.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (5/13)
Computing Module LocationUse longest source-module path length in HCG/VCG
Lower-left corner location = source to module input path length
![Page 80: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/80.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (6/13)
Final FloorplanDimension: 11 × 15
![Page 81: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/81.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (7/13)
Move ISwap 1 and 3 in positive sequence of SP1
SP1 = (17452638, 84725361)SP2 = (37452618, 84725361)
![Page 82: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/82.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (8/13)
Constraint Graphs
![Page 83: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/83.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (9/13)
Constructing FloorplanDimension: 13 × 14
![Page 84: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/84.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (10/13)
Move IISwap 4 and 6 in both sequences of SP2
SP2 = (37452618, 84725361)SP3 = (37652418, 86725341)
![Page 85: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/85.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (11/13)
Constraint Graphs
![Page 86: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/86.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (12/13)
Constructing FloorplanDimension: 13 × 12
![Page 87: ECE6133 Physical Design Automation of VLSI …users.ece.gatech.edu/limsk/course/ece6133/slides/floorplanning.pdfFloorplanning ECE6133 Physical Design Automation of VLSI Systems Prof](https://reader030.vdocument.in/reader030/viewer/2022021416/5aadb7877f8b9adb688b6b6a/html5/thumbnails/87.jpg)
Practical Problems in VLSI Physical Design Sequence Pair Method (13/13)
SummaryImpact of the moves:
Floorplan dimension changes from 11 × 15 to 13 × 14 to 13 × 12