You are on page 1of 10

Circuit Partitioning

Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced partitions Kernighan-Lin Fiduccia-Mattheyses (KLFM) is popular algorithm

KLFM Algorithm

Basic Idea:

Start with initial partition Iteratively improves cutsize

Cutsize is number of edges between partitions Node that gives greatest reduction or least degradation

Moves one node at a time

Lock node after moving Continue moving nodes until all locked or size contraints are violated Find best partitioning, unlock all nodes Repeat until no improvement found

KLFM Algorithm
Initial Partition
Maximum Size = 4 Size = 3 Size = 3 Cutsize = 5

KLFM Algorithm
Maximum Size = 4 Size = 4 Size = 2 Cutsize = 3

KLFM Algorithm
Maximum Size = 4 Size = 3 Size = 3 Cutsize = 2

KLFM Algorithm
Maximum Size = 4 Size = 2 Size = 4 Cutsize = 2

KLFM Algorithm
Maximum Size = 4 Size = 3 Size = 3 Cutsize = 4

KLFM Algorithm
Maximum Size = 4 Size = 2 Size = 4 Cutsize = 4

KLFM Algorithm
Maximum Size = 4 Size = 3 Size = 3 Cutsize = 5

KLFM Algorithm
Backtrack to minimum cut size, unlock nodes, and repeat
Size = 3 Size = 3 Cutsize = 2

You might also like