Partitioning ECE6133 Physical Design Automation of VLSI Systems - - PowerPoint PPT Presentation

partitioning
SMART_READER_LITE
LIVE PREVIEW

Partitioning ECE6133 Physical Design Automation of VLSI Systems - - PowerPoint PPT Presentation

Partitioning ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology Partitioning P artitioning System design Decomposition of a complex system


slide-1
SLIDE 1

Partitioning

ECE6133 Physical Design Automation of VLSI Systems

  • Prof. Sung Kyu Lim

School of Electrical and Computer Engineering Georgia Institute of Technology

slide-2
SLIDE 2 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
P artitioning

Interface Information Module 1 Module 2 Module 3 Module n

System design

Each subsystem can be designed independently speeding up Decomposition scheme has to minimize the interconnections Decomposition is carried out hierarchically until each Decomposition of a complex system into smaller subsystems. the design process. between the subsystems. subsystem is of managable size.

slide-3
SLIDE 3 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
P artitionin g
  • f
A Circuit
  • Input
size
  • (a)

(b)

Cut
  • Cut
  • Size
  • Size
  • Size
slide-4
SLIDE 4 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
P artitioning at dieren t lev els

Board Level Board Level System Level Board Level Level Chip Level Chip Level Chip Board Level System Level Level Chip Partitioning System Chip Board

slide-5
SLIDE 5 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
Problem F
  • rm
ulation
  • In
terconnections b et w een partitions Obj
  • k
X i k X j
  • c
ij
  • i
  • j
  • is
minimized
  • Dela
y due to partitioning Obj
  • max
p i P H p i
  • is
minimized
  • Num
b er
  • f
terminals Cons
  • C
  • untV
i
  • T
i
  • i
  • k
where c ij is the cutsize b et w een partitions V i and V j
  • H
p i
  • is
the n um b er
  • f
times a h yp erpath p i is cut C
  • untV
i
  • is
the terminal coun t for partition V i
slide-6
SLIDE 6 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
Problem F
  • rm
ulation
  • Area
  • f
eac h partition Cons
  • A
min i
  • Ar
eaV i
  • A
max i
  • i
  • k
  • Num
b er
  • f
partitions Cons
  • K
min
  • k
  • K
max The partitioning problem at an y lev el
  • r
design st yle deals with
  • ne
  • r
more
  • f
the ab
  • v
e parameters
slide-7
SLIDE 7

Partitioning Methods

  • Top-down Partitioning (cutsize only)

– Iterative improvement [KL70, FM82, Kr84, San89] – Spectral based [HK92, AZ95] – Clustering method [SU72, NOP87, WC92, SS93, CS93, HK95] – Network flow based [YW94, YW97] – Analytical based [RDJ94, LLC95] – Multi-level [CS93, HB95, AHK97, KA+97, KK99]

  • Bottom-up Clustering (delay only)

– Unit delay model [LLT69, CD93] – General delay model [MBV91, RW93, YW95] – Sequential circuits with retiming [PKL98, CLW99, CL00]

slide-8
SLIDE 8 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
KernighanLin Algorithm
  • It
is a bisectioning algorithm
  • The
input graph is partitioned in to t w
  • subsets
  • f
equal sizes
  • Till
the cutsize k eeps impro ving
  • V
ertex pairs whic h giv e the largest decrease in cutsize are exc hanged
  • These
v ertices are then lo c k ed
  • If
no impro v emen t is p
  • ssible
and some v ertices are still unlo c k ed the v ertices whic h giv e the smallest increase are exc hanged
  • W
Kernighan and S Lin Bell System T ec hnical Journal
slide-9
SLIDE 9 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
KernighanLin Algorithm
  • Algorithm
KL b egin INITIALIZE while IMPR O VEtabl e
  • TR
UE
  • do
  • if
an impro v emen t has b een made during last iteration the pro cess is carried
  • ut
again
  • while
  • UNLOCKA
  • TR
UE
  • do
  • if
there exists an y unlo c k ed v ertex in A more ten tativ e exc hanges are carried
  • ut
  • for
  • eac
h a
  • A
  • do
if a
  • unlo
cke d then for eac h b
  • B
  • do
if b
  • unlo
cke d then if D max
  • D
a
  • D
b then D max
  • D
a
  • D
b a max
  • a
b max
  • b
TENTEX CHGEa max
  • b
max
  • LOCKa
max
  • b
max
  • LOGtabl
e D max
  • A
CTUALEX CHGEtabl e end
slide-10
SLIDE 10

Practical Problems in VLSI Physical Design KL Partitioning (1/6)

Perform single KL pass on the following circuit:

KL needs undirected graph (clique-based weighting)

Kernighan-Lin Algorithm

slide-11
SLIDE 11

Practical Problems in VLSI Physical Design KL Partitioning (2/6)

First Swap

slide-12
SLIDE 12

Practical Problems in VLSI Physical Design KL Partitioning (3/6)

Second Swap

slide-13
SLIDE 13

Practical Problems in VLSI Physical Design KL Partitioning (4/6)

Third Swap

slide-14
SLIDE 14

Practical Problems in VLSI Physical Design KL Partitioning (5/6)

Fourth Swap

Last swap does not require gain computation

slide-15
SLIDE 15

Practical Problems in VLSI Physical Design KL Partitioning (6/6)

Summary

Cutsize reduced from 5 to 3

Two best solutions found (solutions are always area-balanced)

slide-16
SLIDE 16 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
Dra wbac ks
  • f
KL Algorithm
  • KL
algorithm considers balanced partitions
  • nly
  • As
v ertices ha v e unit w eigh ts it is not p
  • ssible
to allo cate a v ertex to a partition
  • The
KL algorithm considers edges instead
  • f
h yp eredges
  • High
O n
  • complexit
y
slide-17
SLIDE 17 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
FiducciaMattheyses Algorithm
  • This
algorithm is a mo died v ersion
  • f
KernighanLin Algorithm
  • A
single v ertex is mo v ed across the cut in a single mo v e whic h p ermits handling
  • f
un balanced partitions
  • The
concept
  • f
cutsize is extended to h yp ergraphs
  • V
ertices to b e mo v ed are selected in a w a y to impro v e time complexit y
  • A
sp ecial data structure is used to do this
  • Ov
erall time complexit y
  • f
the algorithm is O n
  • C
M Fiduccia and R M Mattheyses th D A C
slide-18
SLIDE 18 j A lgorithms for VLSI Physic al Design A utomation
  • c
Sherw ani
  • Partitioning
Data Structure Used in FiducciaMattheyses Algorithm

Vertex Vertex

  • pmax

+pmax +pmax

  • pmax

IInd Partition Ist Partition 1 2 n . . . . . . . . . 1 2 . . . . . . . . . n vertices List of free Vertex # # Vertex # Vertex # Vertex

slide-19
SLIDE 19

Practical Problems in VLSI Physical Design FM Partitioning (1/12)

Perform FM algorithm on the following circuit:

Area constraint = [3,5] Break ties in alphabetical order.

Fiduccia-Mattheyses Algorithm

slide-20
SLIDE 20

Practical Problems in VLSI Physical Design FM Partitioning (2/12)

Initial Partitioning

Random initial partitioning is given.

slide-21
SLIDE 21

Practical Problems in VLSI Physical Design FM Partitioning (3/12)

Gain Computation and Bucket Set Up

slide-22
SLIDE 22

Practical Problems in VLSI Physical Design FM Partitioning (4/12)

First Move

slide-23
SLIDE 23

Practical Problems in VLSI Physical Design FM Partitioning (5/12)

Second Move

slide-24
SLIDE 24

Practical Problems in VLSI Physical Design FM Partitioning (6/12)

Third Move

slide-25
SLIDE 25

Practical Problems in VLSI Physical Design FM Partitioning (7/12)

Forth Move

slide-26
SLIDE 26

Practical Problems in VLSI Physical Design FM Partitioning (8/12)

Fifth Move

slide-27
SLIDE 27

Practical Problems in VLSI Physical Design FM Partitioning (9/12)

Sixth Move

slide-28
SLIDE 28

Practical Problems in VLSI Physical Design FM Partitioning (10/12)

Seventh Move

slide-29
SLIDE 29

Practical Problems in VLSI Physical Design FM Partitioning (11/12)

Last Move

slide-30
SLIDE 30

Practical Problems in VLSI Physical Design FM Partitioning (12/12)

Summary

Found three best solutions.

Cutsize reduced from 6 to 3. Solutions after move 2 and 4 are better balanced.

slide-31
SLIDE 31

Practical Problems in VLSI Physical Design

FM Algorithm

[Krishnamurthy, 1984]: developed “look-ahead” gain concept,

where gain is now a vector.

[Sanchis, 1989]: perform “flat” multi-way partitioning, where

gain considers all possible destinations

[Cong and Lim, 1998]: showed that recursive is way better than

flat multi-way partitioning, improved flat method

[Dutt and Deng, 1996]: encourages neighboring cell move,

effective in avoiding cutting clusters

[Hagen et al, 1997]: showed that LIFO bucket works better than

FIFO

[Hauck and Borriello, 1997]: evaluated all existing FM

extensions and proposed the “best” combination

Probing Further

slide-32
SLIDE 32

Spectral Based Partitioning Algorithms

a b c d 1 3 4 3

3 4 3 3 4 3 1 1 d c b a A d c b a = 10 3 5 4 d c b a D d c b a = D: degree matrix; A: adjacency matrix; D-A: Laplacian matrix Eigenvectors of D-A form the Laplacian spectrum of G

slide-33
SLIDE 33

Some Applications of Laplacian Spectrum

Placement and floorplan

[Hall 1970] [Otten 1982] [Frankle-Karp 1986] [Tsay-Kuh 1986]

Bisection lower bound and computation

[Donath-Hoffman 1973] [Barnes 1982] [Boppana 1987]

Ratio-cut lower bound and computation

[Hagen-Kahng 1991] [Cong-Hagen-Kahng 1992]

slide-34
SLIDE 34

Eigenvalues and Eigenvectors

If Ax=λx then λ is an eigenvalue of A x is an eignevector of A w.r.t. λ (note that Kx is also a eigenvector, for any constant K).

⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎝ ⎛ + + + + + + = ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎝ ⎛ ⎟ ⎟ ⎞ ⎜ ⎜ ⎛

n nn n n n n n n

x a x a x a x a x a x a x x a a a L M L M L

2 2 1 1 1 2 12 1 11 1

⎠ ⎝

nn n n

a a a L

2 1 1 12 11

x A x A

...

slide-35
SLIDE 35

Spectral Partitioning

  • Hall’s Results [1970]

– Given an undirected edge weighted graph G – Important property about the Laplacian Matrix Q of G – Eigenvector of the 2nd smallest eigenvalue of Q gives 1-dimensional placement of nodes in V – Sum of the squared length of the edges are minimized – Under Σ x2==1

  • Hagen and Kahng’s Results [1992]

– 2nd smallest eigenvalue of Q is a tight lower bound of ratio-cut – Derive partitioning from 1-dimensional placement for ratio-cut minimization

slide-36
SLIDE 36

Practical Problems in VLSI Physical Design EIG Algorithm (1/11)

Perform EIG partitioning and minimize ratio cut cost.

Clique-based graph model: dotted edge has weight of 0.5, and

solid edge with no label has weight of 0.25.

Hagen-Kahng EIG Partitioning

slide-37
SLIDE 37

Practical Problems in VLSI Physical Design EIG Algorithm (2/11)

Adjacency Matrix

slide-38
SLIDE 38

Practical Problems in VLSI Physical Design EIG Algorithm (3/11)

Degree Matrix

slide-39
SLIDE 39

Practical Problems in VLSI Physical Design EIG Algorithm (4/11)

Laplacian Matrix

We obtain Q = D − A

slide-40
SLIDE 40

Practical Problems in VLSI Physical Design EIG Algorithm (5/11)

Eigenvalue/vector Computation

slide-41
SLIDE 41

Practical Problems in VLSI Physical Design EIG Algorithm (6/11)

EIG Partitioning

slide-42
SLIDE 42

Practical Problems in VLSI Physical Design EIG Algorithm (7/11)

EIG Partitioning (cont)

slide-43
SLIDE 43

Practical Problems in VLSI Physical Design EIG Algorithm (8/11)

EIG Partitioning (cont)

slide-44
SLIDE 44

Practical Problems in VLSI Physical Design EIG Algorithm (9/11)

EIG Partitioning (cont)

slide-45
SLIDE 45

Practical Problems in VLSI Physical Design EIG Algorithm (10/11)

Summary

Good solution found:

{(a,f,d,g,i), (j,b,h,e,c)} is well-balanced and has low RC cost.

slide-46
SLIDE 46

Practical Problems in VLSI Physical Design EIG Algorithm (11/11)

Theorem

slide-47
SLIDE 47

Practical Problems in VLSI Physical Design

Probing Further

EIG Algorithm

[Chan et al, 1994]: extended EIG to multi-way partitioning, uses

k-smallest eigenvalues/eigenvectors

[Riess et al, 1994]: use GORDIAN-L placement to derive

partitioning solution that minimizes ratio-cut

[Alpert and Yao, 1995]: presented a new vertex ordering scheme

based on eigenvectors

[Alpert and Khang, 1995]: used dynamic programming to split

vertex ordering and obtain multi-way partitioning

[Li at al, 1996]: studied linear vs quadratic objectives, and

proposed α-order objective Fα, (1 ≤ α ≤ 2)