EE4271 VLSI Design, Fall 2013

28
06/23/22 1 EE4271 VLSI Design, Fall 2013 VLSI Quadratic Placement

description

EE4271 VLSI Design, Fall 2013. VLSI Quadratic Placement. 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 . - PowerPoint PPT Presentation

Transcript of EE4271 VLSI Design, Fall 2013

Page 1: EE4271 VLSI Design, Fall 2013

04/21/23 1

EE4271 VLSI Design, Fall 2013

VLSI Quadratic Placement

Page 2: EE4271 VLSI Design, Fall 2013

204/21/23

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 wirelength as an estimation of timing is minimized.

Page 3: EE4271 VLSI Design, Fall 2013

304/21/23

Placement Can Make A Difference

Random InitialPlacement

FinalPlacement

Page 4: EE4271 VLSI Design, Fall 2013

404/21/23

Partitioning:

Given a set of interconnected blocks, produce two sets thatare of equal size, and such that the number of nets connecting the two sets is minimized.

Page 5: EE4271 VLSI Design, Fall 2013

504/21/23

FM Partitioning:

Initial Random Placement

After Cut 1

After Cut 2

The more crossings along the cut, the longer the total wirelength. The idea is to reduce the crossings.

Page 6: EE4271 VLSI Design, Fall 2013

604/21/23

FM Partitioning:

-1

-2

-1

1

0

0

0

2

0

0

1

-1

-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.

Page 7: EE4271 VLSI Design, Fall 2013

704/21/23

-1

-2

-1

1

0

0

0

2

0

0

1

-1

-1

-2

FM Partitioning:

Page 8: EE4271 VLSI Design, Fall 2013

804/21/23

-1

-2

-1

1

0

-2

-20

0

1

-1

-1

-2

-2

Page 9: EE4271 VLSI Design, Fall 2013

904/21/23

-1

-2

-1

1

0

-2

-20

0

1

-1

-1

-2

-2

Page 10: EE4271 VLSI Design, Fall 2013

1004/21/23

-1

-2

-11

0

-2

-20

0

1

-1

-1

-2

-2

Page 11: EE4271 VLSI Design, Fall 2013

1104/21/23

-1

-2

1 -1

0

-2

-20

-2

-1

-1

-1

-2

-2

Page 12: EE4271 VLSI Design, Fall 2013

1204/21/23

-1

-2

1 -1

0

-2

-2 0

-2

-1

-1

-1

-2

-2

Page 13: EE4271 VLSI Design, Fall 2013

1304/21/23

-1

-2

1 -1

0

-2

-20

-2

-1

-1

-1

-2

-2

Page 14: EE4271 VLSI Design, Fall 2013

1404/21/23

-1

-2

1 -1

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 15: EE4271 VLSI Design, Fall 2013

1504/21/23

-1

-2

1

-1

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 16: EE4271 VLSI Design, Fall 2013

1604/21/23

-1

-2

1

-1

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 17: EE4271 VLSI Design, Fall 2013

1704/21/23

-1

-2

-1

-3

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 18: EE4271 VLSI Design, Fall 2013

1804/21/23

-1

-2

-1

-3

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 19: EE4271 VLSI Design, Fall 2013

1904/21/23

-1

-2

-1

-3

-2

-2

-2

0

-2

-1

1

-1

-2

-2

Page 20: EE4271 VLSI Design, Fall 2013

2004/21/23

-1

-2

-1

-3

-2

-2

-2

-2

-2

-1

-1

-1

-2

-2

Page 21: EE4271 VLSI Design, Fall 2013

2104/21/23

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

Page 22: EE4271 VLSI Design, Fall 2013

2204/21/23

Cost x1 1002 x1 x22 x2 2002

x1Cost 2x1 100 2x1 x2

x2Cost 2x1 x2 2x2 200

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

Ax + B = 0

= 04 2 2 4

x1x2

200 400

= 02 1 1 2

x1x2

100 200

x1=400/3 x2=500/3

x2x1

x=100

x=200Example:

Page 23: EE4271 VLSI Design, Fall 2013

2304/21/23

Quadratic Placement

Form quadratic placement problem

Perform partitioning to reduce overlap

Page 24: EE4271 VLSI Design, Fall 2013

2404/21/23

Solution of the Original QP

Page 25: EE4271 VLSI Design, Fall 2013

2504/21/23

Partitioning

• Use FM to cut.

Page 26: EE4271 VLSI Design, Fall 2013

2604/21/23

• Perform the quadratic placement on each region with additional constraints that the center of gravities should be in the center of regions.

Applying the Idea Recursively

Center of Gravities

Page 27: EE4271 VLSI Design, Fall 2013

2704/21/23

Process

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

Page 28: EE4271 VLSI Design, Fall 2013

2804/21/23

Summary

• Definition of VLSI quadratic placement problem• Partitioning technique