CSE 242A Integrated

Μηχανική

5 Νοε 2013 (πριν από 4 χρόνια και 6 μήνες)

93 εμφανίσεις

CSE 242A Integrated
Circuit Layout
Automation

Lecture 5: Placement

Winter 2009

Chung
-
Kuan Cheng

Placement Formulation

ij
Obj: min (| | | |)
min clock cycle
min routing congestion
Multipin net model on wire length
ij i j i j
C x x y y
  

½ perimeter of min bounding box

Single trunk (v or h)

Spanning tree

Steiner tree

Layout Area

Rectilinear Area

Block Shapes

Single row height: width=1~2 or even hunderds

Multiple rows

Donuts

Formulation: Constraints

Groups: A set of cells to be placed within X &
Y distance

Regions: If a cell is attached to a region, it
needs to be placed within the specified area.

Sites: Each slot has a type. Each cell is
specified by types on its area. The types
have to be matched for a correct placement.

IO Placement

Placement Formulation

i
j
Cij
i
j
Comps
Slots
Cij
Linear Assignment

Placement Methods

Analytical Method

Constructive Method

Iterative Method

Analytical Method: QPlace
(RAMP)

Resistive Analog Module Placement

i
ij
ij
x
f
c
a

b

c

d

a

b

c

d

1/
i
ij
ij ij
v
i
v r

Analytical Method (Obj)

2 2
1 1
1
ij
11 12
21 22
Obj: min ( )
,0
...
fixed IOs or comps
...
B=[b ] ,,,,
[ ]
T
ij ij ij i j
ij ij
T
ij ij ii ij
j
c x c x x X BX
X b I X
where
x
X
b c i j b c i j
B B
B B
  
 
 
 
 

 
 
 
    

 

Analytical Method: Obj

11 12 1
1 2
21 22 2
1 11 1 1 12 2 2 22 2
21 1 22 2
( ) [ ]
2
( ) 2 2
T T
T T T
B B X
f x X BX X X
B B X
X B X X B X X B X
f x B X B X
   
 
   
   
  
  
Analytical Method

Constraints

Sum x
i

= c
1

Sum x
i
2
= c
2

Sum x
i
3
= c
3

Sum x
i
n
= c
n

Repulsive Force

i

j

If i & j are not connected

2
| |
ij
ij
ij
r
f
r


By density

Constructive Method

Input: Seeds X,

Unplaced set V
-
X

Pick a cell in in V
-
X with
strongest connection to X

Place i at a location so that
partial cost is minimized

{ }
Iterate until V=X
X X i
 

Dis: Quality of the Results

Iterative Improvement

Given an initial placement

A. Find the best pair to swap

B. Find the best sequence to swap

A

D

B

C

A

B

C

D

i
Component i has a set of nets N
Each net has two extreme points
Length of | | | | | |
i
e e
i e i e e e
e N
a b
i x a x b b a

     

Iterative Method

Target zone

of each component i:

Count from left. Each a
e

or b
e

is counted once,

Target zone = Region between |N| and |N|+1.

Simulated Annealing

0
0
T
T
( )
,initialT()
I=1
while (I Imax)
I+=1, N=0, j=0
whindow size(I)
while (N Nmax)
j+=1, N+=1
if(j==update_limit)
j=0
if( < )
raiseT(T)
else if( )
lowerT(T)
Y=perturb(X)
C=C(Y)-C(X)
if accept( C,T)
X=Y
SA x
x x T

 
 

SA Cost Function

0
0
R 0
0
max
max
max
(
| ( ) ( ) |
| ( ) ( ) |
(i) choice of S.T.
0.25L 1.4
1
( ) (1.4 1.15 )
1
(ii) Choice of S.T.
0.03
1
( ) (5 4 )
1
(iii) #bins/#cell
R
ij ij ij
ij
c
b
R d
r
R
T
R
d
d
T
R R
C W P P
W C x y
P W b W b
P L r L r
P L
I
P I L
I
L L
L
I
P I L
I
 

  
 
 
 
 

 

 

s=1.5
allowing 33% probability of generating a
single cell move
Window Size, Temperature, &
acceptance ratio

I
I
II
III
4/3
max
4/3
max
500 #moves=4000N
N
500 #moves=4000N( )
500
160
N
max{25,25 ( ) }
500
(1 ) (K=40)
T
N
I
N N N
T T
K
 

 
Local Placement

a

b

c

d

Choose k cells

Find the opt sequence of the k cells

Find a larger set of cells

Derive the opt matching (Ignore the relation between the k cells)

Performance Driven Placement

Replication

a

x

b

a

x

x

b

Gate Sizing, Buffer Insertion

Pin Swapping

a

b

c

a

c

b