0% found this document useful (0 votes)
109 views29 pages

VLSI Placement: Prof. Shiyan Hu Shiyan@mtu - Edu Office: EERC 731

The document discusses VLSI placement and summarizes several techniques for solving placement problems, including: 1) Formulation placement as minimizing total wire length subject to constraints like area, with the inputs being block shapes and pin positions and the output being block coordinates. 2) Partitioning blocks into two equal sets to minimize connections between sets using iterative gain-based moves between partitions. 3) Modeling placement as an analytical quadratic program to directly minimize total wire length, proving this formulation is convex and solvable in polynomial time.

Uploaded by

DurgaPrasad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views29 pages

VLSI Placement: Prof. Shiyan Hu Shiyan@mtu - Edu Office: EERC 731

The document discusses VLSI placement and summarizes several techniques for solving placement problems, including: 1) Formulation placement as minimizing total wire length subject to constraints like area, with the inputs being block shapes and pin positions and the output being block coordinates. 2) Partitioning blocks into two equal sets to minimize connections between sets using iterative gain-based moves between partitions. 3) Modeling placement as an analytical quadratic program to directly minimize total wire length, proving this formulation is convex and solvable in polynomial time.

Uploaded by

DurgaPrasad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 29

VLSI Placement

Prof. Shiyan Hu
shiyan@mtu.edu
Office: EERC 731

1/1/2019 1
Problem formulation
• Input:
– Blocks (standard cells and macros) B1, ... , Bn
– Shapes and Pin Positions for each block Bi
– Nets N1, ... , Nm
• Output:
– Coordinates (xi , yi ) for block Bi.
– The total wire length is minimized.
– Subject to area constraint or the area of the resulting block is
minimized

1/1/2019 2
Placement can Make A Difference

Random Initial Final


Placement Placement

1/1/2019 3
Partitioning:

Objective:

Given a set of interconnected blocks, produce two sets that


are of equal size, and such that the number of nets
connecting the two sets is minimized.

1/1/2019 4
FM Partitioning:

Initial Random Placement


list_of_sets = entire_chip;
while(any_set_has_2_or_more_objects(list_of_sets))
{
for_each_set_in(list_of_sets)
{
partition_it();
}
/* each time through this loop the number of */ After Cut 1
/* sets in the list doubles. */
}

After Cut 2
1/1/2019 5
FM Partitioning:
Moves are made based on object gain.

Object Gain: The amount of change in cut crossings


that will occur if an object is moved from
its current partition into the other partition

-1 0 2
- each object is assigned a
gain
- objects are put into a sorted 0
gain list 0 -
-2
- the object with the highest gain
is selected and moved.
- the moved object is "locked"
- gains of "touched" objects are 0 0
recomputed -2
- gain lists are resorted
-1
1
-1
1

1/1/2019 6
FM Partitioning:

-1 0 2

0
0 -
-2

0 0
-2
-1
1
-1
1

1/1/2019 7
-1 -2 -2

0
-2 -
-2

0 0
-2
-1
1
-1
1

1/1/2019 8
-1 -2 -2

0
-2 -
-2

0 0
-2
-1

1 1
-1

1/1/2019 9
-1 -2 -2

0
-2 -
-2

0 0
-2
-1
1
1
-1

1/1/2019 10
-1 -2 -2

0
-2 -
-2

0 -2
-2
1 -1
-1
-1

1/1/2019 11
-1 -2 -2

-2 -
-2 0

0 -2
-2
1 -1
-1
-1

1/1/2019 12
-1 -2 -2

-2 -
-2 0

0 -2
-2
1 -1
-1
-1

1/1/2019 13
-1 -2 -2

-2 1
-2
0

-2 -2
-2
1 -1
-1
-1

1/1/2019 14
-1 -2 -2

-2 1
-2
0

-2 -2
1 -2

-1
-1
-1

1/1/2019 15
-1 -2 -2

-2 1
-2
0

-2 -2
1 -2

-1
-1
-1

1/1/2019 16
-1 -2 -2

-2 1
-2
0

-2 -1
-2
-2

-3
-1
-1

1/1/2019 17
-1 -2 -2

1
-2
-2
0
-
-2 1
-2
-2

-3
-1
-1

1/1/2019 18
-1 -2 -2

1
-2
-2
0
-
-2 1
-2
-2

-3
-1
-1

1/1/2019 19
-1 -2 -2

-1
-2
-2
-2
-
-2 1
-2
-2

-3
-1
-1

1/1/2019 20
Analytical Placement
• Write down the placement problem as an analytical
mathematical problem
• Quadratic placement:
– Sum of squared wire length is quadratic in the cell
coordinates.
– So the wirelength minimization problem can be formulated
as a quadratic program.
– It can be proved that the quadratic program is convex, hence
polynomial time solvable

1/1/2019 21
x=100
Example: x=200

x1 x2

Cost  x1  100 2  x 1  x 2 2  x 2  200 2


x1 Cost  2x 1  100  2x 1  x 2

 Cost  2x  x   2x  200


x2 1 2 2

setting the partial derivatives = 0 we solve for the minimum Cost:

Ax + B = 0

4 2 x1 200
2 4 x 2  400 = 0

2 1 x 1
x  100
200 = 0
1 2 2

x1=400/3 x2=500/3

1/1/2019 22
Example: x=100 x=200

x1 x2

setting the partial derivatives = 0 we solve for the minimum Cost:

Ax + B = 0

4 2 x 1 200
2 4 x 2  400 = 0

2 1 x 1 100 = 0
x  200
1 2 2

x1=400/3 x2=500/3
Interpretation of matrices A and B:

The diagonal values A[i,i] correspond to the number of connections to xi


The off diagonal values A[i,j] are -1 if object i is connected to object j, 0 otherwise
The values B[i] correspond to the sum of the locations of fixed objects connected to object i

1/1/2019 23
Quadratic Placement

 Global optimization:
solves a sequence of quadratic
programming problems
 Partitioning:
enforces the non-overlap constraints

1/1/2019 24
Solution of the Original QP

1/1/2019 25
Partitioning
• Use FM to cut.

1/1/2019 26
Applying the Idea Recursively
• Perform the Global Optimization again with additional
constraints that the center of gravities should be in the
center of regions.

Center of Gravities

1/1/2019 27
Process of Gordian

(a) Global placement with 1 region (b) Global placement with 4 region (c) Final placements

1/1/2019 28
Quadratic Techniques:
Pros:
- mathematically well behaved
- efficient solution techniques

Cons:
- solution of Ax + B = 0 is not a legal placement, so generally
some additional partitioning techniques are required.
- solution of Ax + B = 0 is minimizes wirelength squared, not linear
wire length.

1/1/2019 29

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy