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

Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

Embed Size (px)

Citation preview

Page 1: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

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

Page 2: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

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

Page 3: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

KLFM AlgorithmInitial Partition

Cutsize = 5

Size = 3 Size = 3Maximum Size = 4

Page 4: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

KLFM Algorithm

Cutsize = 3

Size = 4 Size = 2Maximum Size = 4

Page 5: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

KLFM Algorithm

Cutsize = 2

Size = 3 Size = 3Maximum Size = 4

Page 6: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

KLFM Algorithm

Cutsize = 2

Size = 2 Size = 4Maximum Size = 4

Page 7: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

KLFM Algorithm

Cutsize = 4

Size = 3 Size = 3Maximum Size = 4

Page 8: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

KLFM Algorithm

Cutsize = 4

Size = 2 Size = 4Maximum Size = 4

Page 9: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

KLFM Algorithm

Cutsize = 5

Size = 3 Size = 3Maximum Size = 4

Page 10: Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced

KLFM Algorithm

Cutsize = 2

Size = 3 Size = 3

Backtrack to minimum cut size, unlock nodes, and repeat