Lab 2
Lab 2
Probing Further
Disclaimer: The list here is meant to be representative, not comprehen-
sive. A comprehensive survey on circuit partitioning algorithms is provided
in [Alpert and Kahng, 1995b].
Kernighan and Lin Algorithm
Fiduccia and Mattheyses algorithm [Fiduccia and Mattheyses, 1982] is the
most well-known extension of Kernighan and Lin algorithm [Kernighan and
Lin, 1970]. As discussed earlier in Section 2, the three major extensions include
handling of hypergraphs, replacing cell swaps with cell moves, and adopting
bucket sorting.
Fiduccia and Mattheyses Algorithm
The author of [Krishnamurthy, 1984] extended the gain concept used in the
Fiduccia and Mattheyses (FM) algorithm to quantify the impact of cell moves
on future gains. Under this so called lookahead scheme, each cell has a vector
of gains with k entries. The first entry is the same as the FM gain: immediate
cutsize reduction. The second entry shows the change in the gain of neighbor-
ing cells if the cell is moved, i.e. a prediction of what will happen to other
cells
after the cell move. These gain vectors are then lexicographically sorted for
cell move selection. This scheme provides an effective way to break ties when
choosing the maximum gain cell.
The cell gain concept of FM is extended to handle multi-way partitioning
problem in [Sanchis, 1989]. Under this so called K-way FM (KFM) algorithm,
the entire netlist is first partitioned into K partitions. Each cell now has K − 1
gain values to indicate the impact on the cutsize if the cell is moved to any of
the K − 1 target partitions. A follow-up study on KFM [Cong and Lim, 1998]
showed that a recursive FM (RFM) significantly outperforms KFM for K-way
partitioning problem and that a simple heuristic named KPM can improve
KFM significantly KFM.
The authors of [Dutt and Deng, 1996b] extended FM to prevent densely
connected sub-circuits (= clusters) from being cut. Under this so called CLIP
scheme, the first cell move of each pass is chosen based on the initial gain.
Once the first cell v is chosen, the gain values of all other cells are initial-
ized to zero. We then move v, lock it, and update the gain of its neighboring
cells. From this point on, FM finishes the remaining moves of the pass. The
scheme pays more attention to the neighbors of moved cells and encourages
the successive moves of closely connected cells (= clusters).
Buckets are the main data structure used in FM for managing cell gain
values. The authors of [Hagen et al., 1997] showed that gain buckets main-
tained with last-in-first-out (LIFO) stacks lead to significantly better results
#
#
#
#
#
#
#
#
#
#
#
#
#
#