360 likes | 372 Views
An Effective Clustering Algorithm for Mixed-size Placement. Jianhua Li, Laleh Behjat, and Jie Huang SCHULICH School of Engineering University of Calgary, Calgary, Canada. Outline. Introduction Previous Work Proposed Clustering Algorithm Numerical Results Conclusions and Future Works.
E N D
An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang SCHULICH School of Engineering University of Calgary, Calgary, Canada ISPD 2007
Outline • Introduction • Previous Work • Proposed Clustering Algorithm • Numerical Results • Conclusions and Future Works ISPD 2007
Introduction – What is clustering? • Application Areas • VLSI circuit partitioning and placement • Objective • To identify and cluster the groups of cells that are highly interconnected • Constraints • Maximum cluster area/weight • Minimum clustering ratio ISPD 2007
Deal with today’s increasing design complexity Algorithm scalability, e.g., FM algorithm Speed up the runtime of design process Fine Granularity Clustering, best choice, etc. Improve the solution quality Device utilization, layout area, power consumption, etc. in FPGA design Introduction – Why clustering? ISPD 2007
Outline • Introduction • Previous Work • Proposed Clustering Algorithm • Numerical Results • Conclusions and Future Works ISPD 2007
Existing Clustering Algorithms • Scoreless Clustering Algorithms • No comparison between different potential clusters: FirstChoice • Fast procedure, but random result • Score-based Clustering Algorithms • Score comparison between different potential clusters: Best choice • Relative slower procedure, but determined and better result • Better choice for placement ISPD 2007
Clustering Application in Placement • Edge clustering algorithms are the most popular techniques • FirstChoice and best choice • Placers using FirstChoice • Indirectly: Capo10, FengShui5.1 • Directly: NTUPlace3 • Placers using best choice • Directly: mPL6, APlace3, hATP ISPD 2007
Outline • Introduction • Previous Work • Proposed Clustering Algorithm • Numerical Results • Conclusions and Future Works ISPD 2007
Research Motivations • Analysis of edge clustering algorithms: pair wise operation • Pros: • Fast • Cons: • Local view of netlist structure • Non-consistent with the force-directed model ISPD 2007
Cons of Edge Clustering Algorithms • From the view of cell connectivity • Considered: connections from seed cell to neighbors • Non-considered: connections among neighbors 4 6 1 3 5 2 7 ISPD 2007
Cons of Edge Clustering Algorithms • From the view of force-directed model • Forces from all nets are applied together • Not in a pair wise way 4 6 1 3 5 2 7 ISPD 2007
Proposed Research Objectives A new clustering algorithm • Connectivity model • Consider the connectivity as a whole, not pair wise • Be consistent with the force-directed model • Net clustering operation • Make clusters based on net clustering score • Make clusters naturally, not pair wise. ISPD 2007
Proposed Algorithm Procedure Input: A flat netlist Output: A clustered netlist Phase1: Potential Cluster Identification: For each net: • Initial Cluster Formation • Initial Cluster Refinement • Cluster Score Calculation Phase2: Final Cluster Formation • Net Cluster Formation ISPD 2007
Initial Cluster Formation • Visit each net as a seed net • Group cells in the seed net and neighbor cells • Net1: cells 1, 2, 3, and 4 n6 n8 Partition: Cluster 4 5 6 n11 n7 Partition: Netlist 8 n5 n9 n1 n3 n10 3 7 1 2 n4 n2 ISPD 2007
Initial Cluster Refinement • FM algorithm based cell movement, until • All cell gains in “Cluster” are non-positive • All cell gains in “Netlist” are negative -3 1 -1 1 -1 -3 4 5 6 -2 8 -2 -5 -2 -2 3 7 1 2 Cluster Netlist ISPD 2007
4 5 6 8 3 7 1 2 Cluster Score Calculation • Calculate the cluster score Cluster Netlist ISPD 2007
n6 n8 4 5 6 n11 n7 8 n5 n9 n1 n3 n10 3 7 1 2 n4 n2 Cluster Score Calculation • Update the incident net scores • Clusterednets: • Cutnets: Cluster Netlist ISPD 2007
n6 n8 4 5 6 n11 n7 8 n5 n9 n1 n3 n10 3 7 1 2 n4 n2 Potential Cluster Identification Final scores for each net after phase 1 ISPD 2007
n6 n8 4 5 6 n11 n7 8 n5 n9 n1 n3 n10 3 7 1 2 n4 n2 Final Cluster Formation • Order nets based on scores • Cluster and merge nets with score > 0 1,2,3 6,7,8 4,5 ISPD 2007
Analogy to Force-directed Model • Initial Cluster Formation • Equivalent: manually allocate cells in an initial cluster • Initial Cluster Refinement • Equivalent: naturally allocate cells based on overall forces • Cluster Score Calculation • Equivalent: globally evaluate the net quality ISPD 2007
Algorithm Summary Characteristics: • New connectivity computation • Identify the natural clusters in a circuit, despite the number of cells in clusters • Consistent with the force-directed model • Net score computation • Remove cluster overlapping • Choose globally the best nets for clustering ISPD 2007
Outline • Introduction • Previous Work • Proposed Clustering Algorithm • Numerical Results • Conclusions and future works ISPD 2007
Numerical Results • Clustering Statistics Experiments • Placement Experiments ISPD 2007
Clustering Statistics Experiments • Setup • Predefined cell clustering ratio (CCR) • Compare net clustering ratios (NCR) • Why net clustering ratio comparison? • Kind of measurement of interconnect complexity for placement and routing • Comparison algorithms • FirstChoice, best choice • Benchmark circuits • ICCAD04 Mixed-size ISPD 2007
Average Clustering Ratio Comparison on ICCAD04 Circuits Out of 18 benchmark circuits, Ours achieved 17 smallest net clustering ratios ISPD 2007
Placement Experiments • Setup • Cluster a netlist using the proposed algorithm • Run other placers on the clustered netlist • Map the placement result and Run Capo10.1 to legalize and refine the result • Comparison placers • mPL6, NTUPlace3-LE, Capo10.1, and FengShui5.1 • Benchmark circuits • ICCAD04 Mixed-size, and ISPD05 Placement Contest ISPD 2007
Placement Results on ICCAD04 Benchmarks • Capo10.1: 15 out of 18 improved HPWL • FengShui5.1: 14 out of 18 improved HPWL • mPL6: 15 out of 18 improved HPWL • NTUPlace3-LE: 18 out of 18 improved HPWL ISPD 2007
Placement Results on ISPD05 Benchmarks • Capo10.1: 0 out of 8 improved HPWL • mPL6: 5 out of 8 improved HPWL • NTUPlace3-LE: 7 out of 8 improved HPWL ISPD 2007
Experimental Summary • Effective for ICCAD04 benchmark circuits • Less effective for ISPD05 benchmark circuits ISPD 2007
Conclusions and Future Works • Conclusions • A new clustering algorithm for placement • A new connectivity model • Promising experimental results • Future Work: • Improve the algorithm efficiency • Runtime • Improve the algorithm scalability • ISPD05 benchmark circuits • Integrate into placers ISPD 2007
Thank you! ISPD 2007
Appendix ISPD 2007
Why not just group the clusters? • Directly cluster nets directly optimize the placement objective • To deal with the cluster cell overlapping problem • Net is a “finer” unit for clustering ISPD 2007
Runtime comparison • Generally our clustering algorithm is slower than both FirstChoice and best choice, by 3 to 8 times ISPD 2007
Results on ISPD05 Probably due to the difference of the circuit structure • ICCAD04, short nets majority • Max net degree: from 17(ibm05) to 134(ibm02) • ISPD05, large number of long nets • Max net degree: 1935(adaptec2) to 11869(bigblue2) ISPD 2007
NTUPlace3-LE and NTUPlace3 • NTUPlace3-LE • Based on the Lp-norm wire model • NTUPlace3 • NTUplace3 is based on the log-sum-exp wire model • State-of-the-art: better performance than NTUPlace3-LE ISPD 2007