placement - georgia institute of...

70
Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology

Upload: trankhue

Post on 27-Jun-2018

241 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

PlacementECE6133

Physical Design Automation of VLSI Systems

Prof. Sung Kyu LimSchool of Electrical and Computer Engineering

Georgia Institute of Technology

Page 2: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Placement

• The process of arranging the circuit components on a layout surface.

• Inputs: A set of fixed modules, a netlist.

• Goal: Find the best position for each module on the chip according toappropriate cost functions.

– Considerations: routability/channel density, wirelength, cut size,performance, thermal issues, I/O pads.

1

2

3

4

5

6

7 8

1

7

5

8

2

3

6

4

1 2

3

4

5

6

8 7

wirelength = 10 wirelength = 12

A

Density = 2 (2 tracks required)

D B C

E F G H

A

Shorter wirelength, 3 tracks required.

B C D

E F G H

Page 3: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Estimation of Wirelength

• Semi-perimeter method: Half the perimeter of the bounding rectanglethat encloses all the pins of the net to be connected. Most widely usedapproximation!

• Complete graph: Since #edges in a complete graph (n(n−1)2

) is n2× #

of tree edges (n− 1), wirelength ≈ 2n

∑(i,j)∈net dist(i, j).

• Minimum chain: Start from one vertex and connect to the closest one,and then to the next closest, etc.

• Source-to-sink connection: Connect one pin to all other pins of thenet. Not accurate for uncongested chips.

• Steiner-tree approximation: Computationally expensive.

• Minimum spanning tree

Page 4: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

4

4

333

3

3

3

3

4

4

7

semi−perimeter len = 11

10 78 8

complete graph len * 2/n = 17.5 chain len = 14

10

source−to−sink len = 17

8

Steiner tree len = 12

7

Spanning tree len = 13

Page 5: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Placement Methods

• Constructive methods– Cluster growth algorithm– Force-directed method– Algorithm by Goto– Min-cut based method

• Iterative improvement methods– Pairwise exchange– Simulated annealing: Timberwolf– Genetic algorithm

• Analytical methods– Gordian, Gordian-L

Page 6: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Min-Cut Placement

• Breuer, “A class of min-cut placement algorithms,” DAC-77.

• Quadrature: suitable for circuits with high density in the center.

• Bisection: good for standard-cell placement.

• Slice/Bisection: good for cells with high interconnection on the periphery.

3a

1

3b

4a 2 4b

3a2a3b13c2b3d

6a5a6b 4 6c5b6d

n/2

n/2

1234567

10a 9a10b8 10c9b10d

quadrature bisection slice/bisection

n/4

n/4n/2

n/2

n/2

n/4

n/4

C1

C2

C1

C2n/k

n/k

(k−2)n/k

C2

n/k

(k−1)n/k

C1

Page 7: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Algorithm for Min-Cut Placement

Algorithm: Min Cut Placement(N,n,C)/* N: the layout surface *//* n: # of cells to be placed *//* n0: # of cells in a slot *//* C: the connectivity matrix */

1 begin2 if (n ≤ n0) then PlaceCells(N,n,C);3 else4 (N1, N2) ← CutSurface(N);5 (n1, C1), (n2, C2) ← Partition(n,C);6 Call Min Cut Placement(N1, n1, C1);7 Call Min Cut Placement(N2, n2, C2);8 end

Page 8: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Quadrature Placement Example

• Apply K-L heuristic to partition + Quadrature Placement: Cost C1 = 4, C2L = C2R = 2,etc.

PQ

R

Q1

Q2

Q3

1

2

3

4

5

6

7

8

9

11

10

12

13

14

15

16

C1

C2

2,4,5,7 8,12,13,14

1,3,6,9 10,11,15,16 1

2

3

4

5

6

8

9

13

14

15

16

7 12

10

11

PC4a

C2

QC4b

R

O1C4a

C2O2C4bO3

C1 C3bC3a

Page 9: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Min-Cut Placement with Terminal Propagation

• Dunlop & Kernighan, “A procedure for placement of standard-cell VLSIcircuits,” IEEE TCAD, Jan. 1985.

• Drawback of the original min-cut placement: Does not consider thepositions of terminal pins that enter a region.

– What happens if we swap {1, 3, 6, 9} and {2, 4, 5, 7} in the previousexample?

L1

L2

R

SL1

L2

S

prefer to have them in R1

R1

R2

Page 10: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Terminal Propagation

• We should use the fact that s is in L1!

L1

L2

R1

R2

L1

L2

R1

R2

center

pp

dummy cell

Lower cost higher cost

P will stay in R1 for the rest of partitioning!

s s

• When not to use p to bias partitioning? Net s has cells in many groups?

h/3

p

h

Use p!

ph/3h

Don’t use p to bias the solution in either direction!

R

L

p1p2

p3

G

minimum rectilinear Steiner tree

Page 11: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Terminal Propagation Example

• Partitioning must be done breadth-first, not depth-first.

d

ba

c

Sa b

c d

S

RL

C1

a b

c d

C1

b

c d

ap1

L1

L2

R1

R2

c

a d

C1

L1

L2

R1

R2

b

RL

C1

a b

c d

without terminal propagation

with terminal propagation

unbiased partition of R

Page 12: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Creating Rows

• Terminal propagation reduce overall area by ~30%• Creating rows

– Choose α and β preferably to balance row to balance row length (during re-arrangement )

C1 C2C3

Row 1Row 2Row 3Row 4

cells in C1→ row1cells in C3→ row1cells in C2 C2

αβ

α + β = 1Row 1 Row 2

Page 13: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Creating Rows

• Example– Partitioning of circuit into 32 groups– Each group is either assigned to a single row or divided into 2 rows

1 1 1 1,21,2 1,2

1,2 22 2,3 2,3

2,32,3

3 33

3,4 3,43,43,44 44

45

5555

5

4,5 4,5

a four-row standard cell design

Page 14: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Experimental Results

• CMOS Chip with 453 nets and 412 cells• Manual solution

– track density=147; feedthroughs=184• Automated solution

– without terminal propagation: t.d.=313; f.t.=591– (t.d. reduced to 235 by iterative interchanges)– with terminal propagation: t.d.=186; f.t.=182– (t.d. reduced to 152 by iterative interchanges)– Iterative Interchange Refinement is helpful

• The program is in production use as part of an automatic placement system in AT&T Bell Lab.– Solutions within 10% of the best hand layout

Page 15: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Remarks on Min-cut Placement

• Also implemented F-M partitioning method– Much faster but solutions appeared to be not as good as K-L

• Use Simulated Annealing to do partitioning– Much slower. If restricted to a reasonable CPU time, solutions are

of similar quality of those by F-M method. Easy to implement

• Seeking an elegant way to force some cells to be in particular positions

• Investigate other algorithms for terminal propagation– Terminal propagation is the bottleneck of CPU time

Page 16: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (1/12)

Mincut PlacementPerform quadrature mincut onto 4 × 4 grid

Start with vertical cut first

undirected graph model w/ k-clique weightingthin edges = weight 0.5, thick edges = weight 1

Page 17: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (2/12)

Cut 1 and 2First cut has min-cutsize of 3 (not unique)

Both cuts 1 and 2 divide the entire chip

Page 18: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (3/12)

Cut 3 and 4Each cut minimizes cutsize

Helps reduce overall wirelength

Page 19: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (4/12)

Cut 5 and 616 partitions generated by 6 cuts

HPBB wirelength = 27

Page 20: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (5/12)

Recursive BisectionStart with vertical cut

Perform terminal propagation with middle third window

Page 21: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (6/12)

Cut 3: Terminal PropagationTwo terminals are propagated and are “pulling” nodes

Node k and o connect to n and j: p1 propagated (outside window)Node g connect to j, f and b: p2 propagated (outside window)Terminal p1 pulls k/o/g to top partition, and p2 pulls g to bottom

Page 22: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (7/12)

Cut 4: Terminal PropagationOne terminal propagated

Node n and j connect to o/k/g: p1 propagatedNode i and j connect to e/f/a: no propagation (inside window)Terminal p1 pulls n and j to right partition

Page 23: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (8/12)

Cut 5: Terminal PropagationThree terminals propagated

Node i propagated to p1, j to p2, and g to p3

Terminal p1 pulls e and a to left partitionTerminal p2 and p3 pull f/b/e to right partition

Page 24: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (9/12)

Cut 6: Terminal PropagationOne terminal propagated

Node n and j are propagated to p1

Terminal p1 pulls o and k to left partition

Page 25: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (10/12)

Cut 7: Terminal PropagationThree terminals propagated

Node j/f/b propagated to p1, o/k to p2, and h/p to p3

Terminal p1 and p2 pull g and l to left partitionTerminal p3 pull l and d to right partition

Page 26: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (11/12)

Cut 8 to 1516 partitions generated by 15 cuts

HPBB wirelength = 23

Page 27: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design Mincut Placement (12/12)

ComparisonQuadrature vs recursive bisection + terminal propagation

Number of cuts: 6 vs 15Wirelength: 27 vs 23

Page 28: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Analytical Placement

• Gordian package:– GORDIAN: Gordian: VLSI Placement by Quadratic

Programming and slicing Optimization: J. M. Kleinhans, G.Sigl, F.M. Johannes, K.J. Antreich, IEEE TCAD, 1991

– GORDIAN-L: Analytical Placement: A Linear or a Quadratic Objective Function?: G. Sigl, K. Doll, F.M. Johannes, DAC91

• Gordian: A Quadratic Placement Approach– Global optimization: solves a sequence of quadratic programming

problems– Partitioning: enforces the non-overlap constraints

Page 29: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

i=0 i=29

i=58 i=87

Page 30: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Adaptec1 Stats

• Circuit stats– # cells/nets/pins 210,863/219,687/19,205– chip size 6000um × 6000um– bin size 50um × 50um– # placement bins 120 × 120– Average bin occupancy 210K/1202 =14.6 gates/bin

• Wirelength result (HPBB)– iteration 0 34,069,060– iteration 29 46,352,680– iteration 58 80,783,336– iteration 87 98,111,904

Page 31: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Overview of Gordian Package

Procedure Gordianl:=1;global-optimize(l);while (there exists |Ml|>k)

for each r є R(l)partition(r, r’, r”);

l++;setup-constraints(l);global-optimize(l);repartition(l);

final-placement(l);endprocedure

Page 32: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Problem Definition

module u

x

yconnection to other modules

Squared wire length of net v

pin vu (xuv, yuv)

net node v

(avu, bvu) = offset from center of u(xu, yu)

(xv, yv)

lvu

vuuuvvuuuv

vuvMu

vuvv

byyaxx

yyxxLv

+=+=

−+−= ∑∈

,

])()[( 22

Page 33: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Cost Function

XdCXXx

YdCYYXdCXXyx

wL

TT

Ty

TTx

T

vNv

v

+=

+++=

= ∑∈

)(

),(21

φ

φ

φ

• Minimize the following:

Page 34: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Constraints

==

=

∑∑

∈∈

otherwise0

if/,

:constraint

pMi

ii

iull

Muupu

Muu

MiFFauXA

FuxF

p

pp

• The center of gravity constraints– At level l, chip is divided into q (≤ 2l ) regions– For region p, the center coordinates: (up, vp)– Mp: set of modules in region p– Matrix from for all regions

Page 35: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Problem Formulation

DE

F

AB

C

=

M

L

L

M

M

M

M

M

MMMM

MMMM

M

M

*0

*0

*0000***

')(ρρ

lA

GFEDCBA

(uρ, vρ)

(uρ’, vρ’)

}that such )({min :LQPproblemgProgramminQuadraticdconstraine Linearly

llTT

RxuXAXdCXXx

m=+=Φ

Page 36: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Solution Method

• Algebraic Manipulation

0

11

11

)(

0

variablet independen is variabledependent is

where ,][

][

xZXuD

XI

BDX

uDBXDX

XX

uXX

DB

BDA

i

id

i

d

i

d

qmqqqmq

+=

+

−=

+−=

=

=

−−

−−

−×××

• Unconstrained Quadratic Programming problem– Solved by Conjugate-Gradient method

dCXCXCCZXZXx Ti

TTTii

Rx qmi

+=+=Ψ−∈

0 where ,})({min:UQP

Page 37: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

3 Types of Quadratic Programming (QP) Problems:

o Positive Definite Hessian Matrix (Bowl):• One optimal objective value• Convex• Easy: One Point

o Semi‐definite Hessian Matrix (Trough):• Line of optimal objective 

values• Convex• Moderate: Any point on line

o Indefinite Hessian Matrix (Saddle):• Optimal is on the boundaries.• Non‐Convex• NP Hard

Hessian Matrix

o Second order partial derivatives

o Describes local curvatureo Generalization of 

Laplaciano Trace (Hessian) = 

Laplacian

Page 38: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

o Here C is Positive Definite.o Hence LQP or UQP are Convexo Unique optimal X.

Hence, GORDIAN QP always finds a global optimalThanks to: Anirudha Kurhade, Fall 2016

GORDIAN Quadratic Programming (QP) Problem:

Page 39: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Partitioning

• Recursive partitioning is needed– to resolve module overlap in global placement– global placement problem will be solved again with two

additional center_of_gravity constraints

0.0 0.25 0.5 0.75 1.0

0

40

30

20

10

Cp(a)

∑∑

∈∈

=

≈=

∈∈≤

C

pp

Nvvp

Muu

Muu

ppuu

ppp

wC

FF

MuMuxx

MMM

)( :valuecut

5.0/

'' and '

),(

''

''''''

'''

α

α

Page 40: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Repartitioning

• Module exchange after each cut to improve cut size – terminal propagation using global placement positions

• Repartitioning– to ‘undo’ the mistake made at the previous level:

Procedure repartition(l)if overlap exists

for each r∈R(l-1)merge-regions(r, r’, r’’);partition(r, r’, r’’);

setup-constraints(l);global-optimize(l);

endif

Page 41: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Summary of Gordian

Global Optimization

minimization of wire length

Final Placement

adoption of style dependent constraints

module coordinates

position constraints

module coordinates

Regions with ≤ kmodules

Complexity: space = O(m), time = O(m1.5 log2m)Final placement: standard cell, macro-cell & SOG

Partitioning of module set and

dissection of placement region

Page 42: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Experimental Results

Circuitscb1scb2scb3scb4scb5scb6scb7scb8scb9

CPU-time scb8CPU-time scb9

ratio

GORDIAN2.75.8

15.714.010.611.316.451.754.0120s135s

1

Min-Cut3.15.3

25.616.911.312.720.289.298.6366s440s

:3

Annealing2.65.09.1

13.210.912.819.859.580.0

39851s34709s

:300

Area After Routing/mm2

Comparison of Results for Standard Cell Blocks

Page 43: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (1/21)

GORDIAN PlacementPerform GORDIAN placement

Uniform area and net weight, area balance factor = 0.5Undirected graph model: each edge in k-clique gets weight 2/k

Page 44: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (2/21)

IO PlacementNecessary for GORDIAN to work

Page 45: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (3/21)

Adjacency MatrixShows connections among movable nodes

Among nodes a to j

Page 46: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (4/21)

Pin Connection MatrixShows connections between movable nodes and IO

Rows = movable nodes, columns = IO (fixed)

Page 47: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (5/21)

Degree MatrixBased on both adjacency and pin connection matrices

Sum of entries in the same row (= node degree)

Page 48: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (6/21)

Laplacian MatrixDegree matrix minus adjacency matrix

Page 49: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (7/21)

Fixed Pin VectorsBased on pin connection matrix and IO location

Y-direction is defined similarly

Page 50: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (8/21)

Fixed Pin Vectors (cont)

Page 51: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (9/21)

Fixed Pin Vectors (cont)

Page 52: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (10/21)

Level 0 QP FormulationNo constraint necessary

Page 53: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (11/21)

Level 0 PlacementCells with real dimension will overlap

Page 54: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (12/21)

Level 1 PartitioningPerform level 1 partitioning

Obtain center locations for center-of-gravity constraints

Page 55: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (13/21)

Level 1 Constraint

Page 56: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (14/21)

Level 1 LQP Formulation

Page 57: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (15/21)

Level 1 Placement

Page 58: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (16/21)

VerificationVerify that the constraints are satisfied in the left partition

Page 59: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (17/21)

Level 2 PartitioningAdd two more cut-lines

This results in p1={c,d}, p2={a,b,e}, p3={g,j}, p4={f,h,i}

Page 60: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (18/21)

Level 2 Constraint

Page 61: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (19/21)

Level 2 LQP Formulation

Page 62: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (20/21)

Level 2 PlacementClique-based wiring is shown

Page 63: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Practical Problems in VLSI Physical Design GORDIAN Placement (21/21)

SummaryCenter-of-gravity constraint

Helps spread the cells evenly while monitoring wirelengthRemoves overlaps among the cells (with real dimension)

Page 64: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Linear vs. Quadratic Objective

A B Cfixed movable fixed

a

b g

Quadratic objective function

A B Cfixed fixedmovable

g

Linear objective function

γβαγ

βα

γγγ

γγγβα

φ

φ

φ

llll

lll

lllll

llllll

l

q

q

++====

=→=+−−=

+−=++=

,23

13202)(4

)(2

'

22222

Page 65: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Linear vs. Quadratic Objective

• Quadratic objective function– tends to make very long net shorter than linear objective function– lets short nets become slightly longer

row1

row2

row3

row4

row1

row2

row3

row4

A

B

A

B

Linear objective function Quadratic objective function

Page 66: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Optimizing Linear Objective

• Global Placement with linear objective function

function objectivelinear

function objective quadratic )( 2

→−=

→−=

∑ ∑

∑ ∑

∈ ∈

∈ ∈

Nv Muvuvl

Nv Muvuvq

v

v

xx

xx

φ

φ

• Trick– use quadratic programming to minimize linear objective function

∑ ∑∑ ∑

∈ ∈∈ ∈

−=−=

−=

−−

=

v

vv

Muvuvvvuvuv

Nv Mu uv

vuv

Nv Mu vuv

vuvl

xxgxxg

gxx

xxxx

,

)()( 22

φ

Page 67: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Analytical Placement Results

0

100

200

300

400

2 4 6 8 10 12 14 17GordianGordianL

wire length /mm

circuit primary 2

number of pins of a net

Figure: Sum of wire lengths versus #pins

Page 68: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Analytical Placement ResultsQuadratic objective function Linear objective function

(a) Global placement with 1 region

Page 69: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Analytical Placement ResultsQuadratic objective function Linear objective function

(b) Global placement with 4 regions

Page 70: Placement - Georgia Institute of Technologylimsk.ece.gatech.edu/course/ece6133/slides/placement.pdf · Placement ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu

Analytical Placement ResultsQuadratic objective function Linear objective function

(c) Final placements