100 likes | 252 Views
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
E N D
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 • Moves one node at a time • Node that gives greatest reduction or least degradation • 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