10/25/2015 1 vlsi physical design automation prof. david pan [email protected] office: aces 5.434...

23
1 06/20/22 VLSI Physical Design Automation Prof. David Pan [email protected] Office: ACES 5.434 Lecture 3. Circuit Partitioning

Upload: harvey-moody

Post on 03-Jan-2016

219 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

104/20/23

VLSI Physical Design Automation

Prof. David Pan

[email protected]

Office: ACES 5.434

Lecture 3. Circuit Partitioning

Page 2: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

204/20/23

System Hierarchy

Page 3: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

304/20/23

Levels of Partitioning

System Level Partitioning

Board Level Partitioning

Chip Level Partitioning

System

PCBs

Chips

Subcircuits/ Blocks

Page 4: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

404/20/23

Partitioning of a Circuit

Page 5: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

504/20/23

Importance of Circuit Partitioning

Divide-and-conquer methodology

The most effective way to solve problems of high complexity

E.g.: min-cut based placement, partitioning-based test generation,…

System-level partitioning for multi-chip designs

inter-chip interconnection delay dominates system performance.

Circuit emulation/parallel simulation

partition large circuit into multiple FPGAs (e.g. Quickturn), or multiple special-purpose processors (e.g. Zycad).

Parallel CAD development

Task decomposition and load balancing

In deep-submicron designs, partitioning defines local and global interconnect, and has significant impact on circuit performance

…… ……

Page 6: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

604/20/23

Some Terminology

Partitioning: Dividing bigger circuits into a small number of partitions (top down)

Clustering: cluster small cells into bigger clusters (bottom up).

Covering / Technology Mapping: Clustering such that each partitions (clusters) have some special structure (e.g., can be implemented by a cell in a cell library).

k-way Partitioning: Dividing into k partitions.

Bipartitioning: 2-way partitioning.

Bisectioning: Bipartitioning such that the two partitions have the same size.

Page 7: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

704/20/23

Circuit Representation

• Netlist:– Gates: A, B, C, D– Nets: {A,B,C}, {B,D}, {C,D}

• Hypergraph:– Vertices: A, B, C, D– Hyperedges: {A,B,C}, {B,D}, {C,D}

– Vertex label: Gate size/area– Hyperedge label:

Importance of net (weight)

AB

C D

A

B

C D

Page 8: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

804/20/23

Circuit Partitioning Formulation

Bi-partitioning formulation:

Minimize interconnections between partitions

Minimum cut: min c(x, x’)

minimum bisection: min c(x, x’) with |x|= |x’|

minimum ratio-cut: min c(x, x’) / |x||x’|

X X’

c(X,X’)

Page 9: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

904/20/23

A Bi-Partitioning Example

Min-cut size=13Min-Bisection size = 300Min-ratio-cut size= 19

a

b

c e

d f

mini-ratio-cut min-bisection

min-cut 9

10

100

100 100100100

100

4

Ratio-cut helps to identify natural clusters

Page 10: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1004/20/23

Circuit Partitioning Formulation (Cont’d)

General multi-way partitioning formulation:

Partitioning a network N into N1, N2, …, Nk such that

Each partition has an area constraint

each partition has an I/O constraint

Minimize the total interconnection:

iNv

iAva )(

iii INNNc ),(

),( iN

i NNNci

Page 11: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1104/20/23

Partitioning Algorithms

Iterative partitioning algorithms

Spectral based partitioning algorithms

Net partitioning vs. module partitioning

Multi-way partitioning

Multi-level partitioning

Further study in partitioning techniques (timing-driven …)

Page 12: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1204/20/23

Iterative Partitioning Algorithms

Greedy iterative improvement method

[Kernighan-Lin 1970]

[Fiduccia-Mattheyses 1982]

[krishnamurthy 1984]

Simulated Annealing

[Kirkpartrick-Gelatt-Vecchi 1983]

[Greene-Supowit 1984]

Page 13: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1304/20/23

Kernighan-Lin AlgorithmKernighan-Lin AlgorithmKernighan-Lin AlgorithmKernighan-Lin Algorithm

““An Efficient Heuristic Procedure for An Efficient Heuristic Procedure for Partitioning Graphs”Partitioning Graphs”

The Bell System Technical JournalThe Bell System Technical Journal49(2):291-307, 197049(2):291-307, 1970

Page 14: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1404/20/23

Restricted Partition Problem

• Restrictions:– For Bisectioning of circuit.– Assume all gates are of the same size.– Works only for 2-terminal nets.

• If all nets are 2-terminal,the Hypergraph is called a Graph.

A

B

C DHypergraph Representation

Graph Representation

AB

C D

Page 15: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1504/20/23

Problem Formulation

• Input: A graph with – Set vertices V. (|V| = 2n)– Set of edges E. (|E| = m)

– Cost cAB for each edge {A, B} in E.

• Output: 2 partitions X & Y such that– Total cost of edges cut is minimized.– Each partition has n vertices.

• This problem is NP-Complete!!!!!

Page 16: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1604/20/23

A Trivial Approach• Try all possible bisections. Find the best one.• If there are 2n vertices,

# of possibilities = (2n)! / n!2 = nO(n)

• For 4 vertices (A,B,C,D), 3 possibilities.1. X={A,B} & Y={C,D}

2. X={A,C} & Y={B,D}

3. X={A,D} & Y={B,C}

• For 100 vertices, 5x1028 possibilities.• Need 1.59x1013 years if one can try 100M possbilities per

second.

Page 17: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1704/20/23

Idea of KL Algorithm

• DA = Decrease in cut value if moving A

– External cost (connection) EA – Internal cost IA

– Moving node a from block A to block B would increase the value of the cutset by EA and decrease it by IA

A

BC

D

X Y

A

B

C

D

X Y

DA = 2-1 = 1DB = 1-1 = 0

Page 18: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1804/20/23

Idea of KL Algorithm

• Note that we want to balance two partitions

• If switch A & B, gain(A,B) = DA+DB-2cAB

– cAB : edge cost for AB

A

B

C

D

X Y

A

B

CD

X Y

gain(A,B) = 1+0-2 = -1

Page 19: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

1904/20/23

Idea of KL Algorithm

• Start with any initial legal partitions X and Y.• A pass (exchanging each vertex exactly once) is

described below:1. For i := 1 to n do

From the unlocked (unexchanged) vertices,

choose a pair (A,B) s.t. gain(A,B) is largest.

Exchange A and B. Lock A and B.

Let gi = gain(A,B).

2. Find the k s.t. G=g1+...+gk is maximized.

3. Switch the first k pairs.

• Repeat the pass until there is no improvement (G=0).

Page 20: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

2004/20/23

Example

1

X

2

3

4

5

6

Y

Original Cut Value = 9

4

X

2

3

1

5

6

Y

Optimal Cut Value = 5

A good step-by-step example in SY book

Page 21: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

2104/20/23

Time Complexity of KL

• For each pass,– O(n2) time to find the best pair to exchange.– n pairs exchanged.– Total time is O(n3) per pass.

• Better implementation can get O(n2log n) time per pass.

• Number of passes is usually small.

Page 22: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

2204/20/23

Recap of Kernighan-Lin’s Algorithm

Pair-wise exchange of nodes to reduce cut sizeAllow cut size to increase temporarily within a pass

Compute the gain of a swap

Repeat

Perform a feasible swap of max gain

Mark swapped nodes “locked”;

Update swap gains;

Until no feasible swap;

Find max prefix partial sum in gain sequence g1, g2, …, gm

Make corresponding swaps permanent.

Start another pass if current pass reduces the cut size

(usually converge after a few passes)

u v

v u

locked

Page 23: 10/25/2015 1 VLSI Physical Design Automation Prof. David Pan dpan@ece.utexas.edu Office: ACES 5.434 Lecture 3. Circuit Partitioning

2304/20/23

A Useful Survey Paper

• Charles Alpert and Andrew Kahng, “Recent Directions in Netlist Partitioning: A Survey”, Integration: the VLSI Journal, 19(1-2), 1995, pp. 1-81.

• Next lecture: more on partitioning