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