The essence of netlist partitioning is to divide a given netlist into sub-netlists such that the number of connections between them is minimized. The netlist partitioning problem occurs in many fields such as cell placement in physical CAD, FGPA partitioning, parallel computation, and any top down hierarchical(divide and conquer) approach. Since early decision in any top down hierarchical approach gives much impact on overall performance and current VLSI designs become more interconnect-dominated, netlist partitioning plays an important role.
During the past two decades, there have been many researches on this subject. In the previous literature, it is reported that clustering methods improve the performance of partitioning algorithms due to the following two reasons: First, clustering reduces solution space, so the probability to find good partitioning solution is increased. Second, clustering increases cell degree and this helps iterative partitioner to find a better solution. Recently, many researches on clustering method show that clustering is almost essential in improving the performance of iterative partitioning algorithms.
In this thesis, a new clustering algorithm is proposed. The proposed clustering algorithm finds clusters based on the following observation: if a group of cells is assigned to the same partition in numerous local optimum solutions, it is desirable to merge the cells into a cluster. The proposed clustering algorithm finds such a group of cells from randomly generated local optimum solutions and merges it into a cluster. Based on the proposed clustering algorithm, a hierarchical bipartitioning algorithm (MBP) is proposed. For MCNC benchmark netlists, MBP improves the total average cut size by 9% and the total best cut size by 3% ~ 4%, compared with the previous state-of-the-art partitioners.