0% found this document useful (0 votes)
11 views23 pages

23 Partitioning Algorithms

The document discusses partitioning algorithms used in VLSI physical design, focusing on their classification based on initial partitioning availability, algorithm nature, and partitioning processes. It details constructive and iterative algorithms, deterministic and probabilistic approaches, and specific methods like group migration and simulated annealing. Additionally, it introduces key terminology related to node movement costs and gains in the context of partitioning.

Uploaded by

pittalasuresh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views23 pages

23 Partitioning Algorithms

The document discusses partitioning algorithms used in VLSI physical design, focusing on their classification based on initial partitioning availability, algorithm nature, and partitioning processes. It details constructive and iterative algorithms, deterministic and probabilistic approaches, and specific methods like group migration and simulated annealing. Additionally, it introduces key terminology related to node movement costs and gains in the context of partitioning.

Uploaded by

pittalasuresh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

VLSI Physical Design with Timing Analysis

Lecture – 21: Partitioning Algorithms

Bishnu Prasad Das


Department of Electronics and Communication Engineering

1
Contents
• Partitioning algorithms
• Classification of partitioning algorithms
• Terminology

2
Partitioning algorithms
• Partitioning algorithm takes a set of components and a netlist as input.

• It aims to minimize the number of nets crossing partition boundaries.

• The choice of objective functions and constraints depends on the


specific design level and style.

3
Classification of partitioning algorithms
• Partitioning algorithms can be classified in three ways:

– Based on the availability of initial partitioning

– Based on the nature of algorithms

– Based on the process used for partitioning

4
Classification of partitioning algorithms
• Based on the availability of initial partitioning:

– Constructive algorithms:

• Input: circuit components and the netlist

• Output: a set of partitions and a new netlist.

• Used to form some initial partitions which


can be improved.

5
Classification of partitioning algorithms
– Iterative algorithms:

• Input: a set of partitions and the netlist

• Output: an improved set of partitions with the modified


netlist.

• Iterate continuously until the partitions


cannot be improved further.

6
Classification of partitioning algorithms
• Based on the nature of algorithms

– Deterministic algorithms:

• Produce repeatable or deterministic solutions.

• Makes use of deterministic functions.

• Always generate the same solution for a


given problem.

7
Classification of partitioning algorithms
– Probabilistic algorithms:

• Make use of some random functions.

• capable of producing a different solution for the same


problem each time they are used.

8
Classification of partitioning algorithms
• Based on the process used for partitioning:
– Group Migration algorithms:
• Start with some randomly generated initial partitions.
• Then move components between partitions to improve the
partitioning.
• Often trapped at a local optimum and can
not proceed further.

9
Classification of partitioning algorithms

– Simulated Annealing and Evolution-based algorithms:

• Carry out partitioning process by


– A cost function which classifies any feasible solution

– A set of moves that allows movement from solution to solution.

• Unlike deterministic algorithms, they


accept moves that may harm the solution.

10
Classification of partitioning algorithms
• Initially, they begin with a random solution.
• Over time, the proportion of detrimental moves decreases.
• These detrimental moves serve as a defense against getting
stuck in local minima.
– Other partitioning algorithms:
• Performance-driven algorithms.
• Metric allocation

11
Classification of partitioning algorithms
Partitioning
algorithms

Group migration: Simulation-Based: Others:


Performance driven:
Kerninghan-Lin Simulated Annealing Metric allocation
Lawler, Levitt, Turner
Fiduccia-Mattheyses Simulated Evolution
Goldberg Burstein
Component Replication
Ratio Cut

12
Kernighan-Lin (KL) Algorithm
• Let a graph G(V, E) have |V| = 2n nodes, where

– each node v ϵ V has the same weight

– each edge e ϵ E has a non-negative edge weight.

• The KL algorithm partitions V into two disjoint subsets A and B,


with minimum cut cost and |A| = |B| = n.

13
Kernighan-Lin (KL) Algorithm
Graph G,
|V| = 2n = 10, ∴ n = 5 Group - A

1 2 3 4 5

6 7 8 9 10

Group - B

14
Terminology
High costs (D > 0)
Cost D(v) of moving a node v
indicate that the node
D(v) = |Ec(v)| – |Enc(v)| , should move, while low
where costs (D < 0) indicate that
Ec(v) is the set of v’s incident edges that are cut by the cut line, and
Enc(v) is the set of v’s incident edges that are not cut by the cut line. the node should stay
within the same partition.
1 2 3 4 5
Node 1:
D(1) = 2-1=1

6 7 8 9 10 Node 9:
D(9) = 3-1=2

15
Terminology
Gain of swapping a pair of nodes a and b

g = D(a) + D(b) - 2* c(a,b),


where
• D(a), D(b) are the respective costs of nodes a, b
• c(a,b) is the connection weight between a and b:
If an edge exists between a and b, then c(a,b) = edge weight,
otherwise, c(a,b) = 0.

16
Terminology
The gain g indicates how
Gain of swapping a pair of nodes a and b
useful the swap between

g = D(a) + D(b) - 2* c(a,b), two nodes will be.

where
• D(a), D(b) are the respective costs of nodes a, b The larger g, the more the
• c(a,b) is the connection weight between a and b: total cut cost will be reduced.
If an edge exists between a and b, then c(a,b) = edge weight,
otherwise, c(a,b) = 0.

17
1 2 3 4 5 g (2,8) = D(2) + D(8) - 2* c(2,8)
Node 2:
=2+1–2=1
D(2) = 3-1=2

6 7 8 9 10 Node 8:
D(8) = 2-1=1

18
1 2 3 4 5 g (2,8) = D(2) + D(8) - 2* c(2,8)
Node 2:
=2+1–2=1
D(2) = 3-1=2

6 7 8 9 10 Node 8:
D(8) = 2-1=1

1 2 3 4 5

6 7 8 9 10

=> Swapping nodes 2 and 8 would reduce the cut size by 1

19
1 2 3 4 5 g (1,9) = D(1) + D(9) - 2* c(1,9)
Node 1:
=2+1–0=3
D(1) = 2-1=1

6 7 8 9 10 Node 9:
D(9) = 3-1=2

1 2 3 4 5

6 7 8 9 10

=> Swapping nodes 1 and 9 would reduce the cut size by 3

20
Terminology
• Maximum positive gain Gm of a pass

• The maximum positive gain Gm corresponds to the best prefix


of m swaps within the swap sequence of a given pass.

• These m swaps lead to the partition with the minimum cut


cost encountered during the pass.

21
Terminology
• Gm is computed as the sum of Δgk values over the first m swaps of
the pass, with m chosen such that Gm is maximized.
𝑚

𝐺𝑚 = ෍ Δ𝑔ₖ
𝑘=0

22
Thank You

23

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy