Presentation is loading. Please wait.

Presentation is loading. Please wait.

March 20, 2007 ISPD 2007 1 An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,

Similar presentations


Presentation on theme: "March 20, 2007 ISPD 2007 1 An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,"— Presentation transcript:

1 March 20, 2007 ISPD 2007 1 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

2 March 20, 2007ISPD 20072 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

3 March 20, 2007ISPD 20073 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

4 March 20, 2007ISPD 20074 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

5 March 20, 2007ISPD 20075 Outline

6 March 20, 2007ISPD 20076 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

7 March 20, 2007ISPD 20077 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

8 March 20, 2007ISPD 20078 Outline

9 March 20, 2007ISPD 20079 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

10 March 20, 2007ISPD 200710 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 31 2 5 4 6 7

11 March 20, 2007ISPD 200711 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 31 2 5 4 6 7

12 March 20, 2007ISPD 200712 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.

13 March 20, 2007ISPD 200713 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

14 March 20, 2007ISPD 200714 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 n6 3 12 546 7 8 n1 n2 n5 n4 n3 n7 n8 n9 n11 n10 Partition: Cluster Partition: Netlist

15 March 20, 2007ISPD 200715 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 3 12 546 7 8 -2 -5 ClusterNetlist -2 1 -3 1 -2 -2 -3

16 March 20, 2007ISPD 200716 Cluster Score Calculation 1. Calculate the cluster score 3 12 546 7 8 ClusterNetlist

17 March 20, 2007ISPD 200717 Cluster Score Calculation 2. Update the incident net scores Clustered nets: Clustered nets: Cut nets: Cut nets: 3 12 546 7 8 n1 n2 n5 n4 n3 n7n6n8 n9 n11 n10 ClusterNetlist

18 March 20, 2007ISPD 200718 Potential Cluster Identification Final scores for each net after phase 1 3 12 546 7 8 n1 n2 n5 n4 n3 n7n6n8 n9 n11 n10

19 March 20, 2007ISPD 200719 Final Cluster Formation 1. Order nets based on scores 2. Cluster and merge nets with score > 0 3 12 546 7 8 n1 n2 n5 n4 n3 n7n6n8 n9 n11 n10 1,2,36,7,8 4,5

20 March 20, 2007ISPD 200720 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

21 March 20, 2007ISPD 200721 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

22 March 20, 2007ISPD 200722 Outline

23 March 20, 2007ISPD 200723 Numerical Results Clustering Statistics Experiments Clustering Statistics Experiments Placement Experiments Placement Experiments

24 March 20, 2007ISPD 200724 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

25 March 20, 2007ISPD 200725 Out of 18 benchmark circuits, Ours achieved 17 smallest net clustering ratios CCRNCROurs Best choice FirstChoice Average0.6210.6950.7280.748 Average Clustering Ratio Comparison on ICCAD04 Circuits

26 March 20, 2007ISPD 200726 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

27 March 20, 2007ISPD 200727 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 Capo10.11.0000.9721.0000.874 FengShui5.11.0000.9811.0001.012 mPL61.0000.9781.0001.005 NTUPlace3-LE1.0000.9491.0000.920

28 March 20, 2007ISPD 200728 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 Capo10.11.0001.0271.0000.860 mPL61.0000.9961.0001.174 NTUPlace3-LE1.0000.9851.0001.101

29 March 20, 2007ISPD 200729 Experimental Summary Effective for ICCAD04 benchmark circuits Effective for ICCAD04 benchmark circuits Less effective for ISPD05 benchmark circuits Less effective for ISPD05 benchmark circuits

30 March 20, 2007ISPD 200730 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

31 March 20, 2007ISPD 200731 Thank you!

32 March 20, 2007ISPD 200732 Appendix

33 March 20, 2007ISPD 200733 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

34 March 20, 2007ISPD 200734 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

35 March 20, 2007ISPD 200735 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)

36 March 20, 2007ISPD 200736 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


Download ppt "March 20, 2007 ISPD 2007 1 An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,"

Similar presentations


Ads by Google