Download presentation
Presentation is loading. Please wait.
1
7/15/2015 1 VLSI Placement Prof. Shiyan Hu shiyan@mtu.edu Office: EERC 731
2
2 7/15/2015 Problem formulation Input: –Blocks (standard cells and macros) B 1,..., B n –Shapes and Pin Positions for each block B i –Nets N 1,..., N m Output: –Coordinates (x i, y i ) for block B i. –The total wire length is minimized. –Subject to area constraint or the area of the resulting block is minimized
3
3 7/15/2015 Placement can Make A Difference Random Initial Placement Final Placement
4
4 7/15/2015 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.
5
5 7/15/2015 FM Partitioning: Initial Random Placement After Cut 1 After Cut 2 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 */ /* sets in the list doubles. */ }
6
6 7/15/2015 FM Partitioning: -2 1 0 0 0 2 0 0 1 -2 - each object is assigned a gain - objects are put into a sorted gain list - the object with the highest gain is selected and moved. - the moved object is "locked" - gains of "touched" objects are recomputed - gain lists are resorted 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 Moves are made based on object gain.
7
7 7/15/2015 -2 1 0 0 0 2 0 0 1 -2 FM Partitioning:
8
8 7/15/2015 -2 1 0 -2 0 0 1 -2
9
9 7/15/2015 -2 1 0 -2 0 0 1 -2
10
10 7/15/2015 -2 1 0 -2 0 0 1 -2
11
11 7/15/2015 -2 1 0 -2 0 -2
12
12 7/15/2015 -2 1 0 -2 0 -2
13
13 7/15/2015 -2 1 0 -2 0 -2
14
14 7/15/2015 -2 1 -2 0 1 -2
15
15 7/15/2015 -2 1 -2 0 1 -2
16
16 7/15/2015 -2 1 -2 0 1 -2
17
17 7/15/2015 -2 -3 -2 0 1 -2
18
18 7/15/2015 -2 - 1 -3 -2 0 1 -2
19
19 7/15/2015 -2 - 1 -3 -2 0 1 -2
20
20 7/15/2015 -2 - 1 -3 -2 -2
21
21 7/15/2015 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
22
22 7/15/2015 x2 x1 x=100 x=200 Example:
23
23 7/15/2015 x2 x1 x=100x=200 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 Example:
24
24 7/15/2015 Quadratic Placement aGlobal optimization: solves a sequence of quadratic programming problems aPartitioning: enforces the non-overlap constraints
25
25 7/15/2015 Solution of the Original QP
26
26 7/15/2015 Partitioning Use FM to cut.
27
27 7/15/2015 Perform the Global Optimization again with additional constraints that the center of gravities should be in the center of regions. Applying the Idea Recursively Center of Gravities
28
28 7/15/2015 Process of Gordian (a) Global placement with 1 region(b) Global placement with 4 region(c) Final placements
29
29 7/15/2015 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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.