march 20, 2007 ispd 2007 1 an effective clustering algorithm for mixed-size placement jianhua li,...
TRANSCRIPT
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 11
An Effective Clustering An Effective Clustering Algorithm for Mixed-size Algorithm for Mixed-size
PlacementPlacement
Jianhua Li, Laleh Behjat, and Jie HuangJianhua Li, Laleh Behjat, and Jie Huang
SCHULICH School of EngineeringSCHULICH School of EngineeringUniversity of Calgary, Calgary, Canada University of Calgary, Calgary, Canada
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 22
OutlineOutline
IntroductionIntroduction Previous WorkPrevious Work Proposed Clustering AlgorithmProposed Clustering Algorithm Numerical ResultsNumerical Results Conclusions and Future WorksConclusions and Future Works
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 33
Introduction – What is Introduction – What is clustering?clustering?
Application AreasApplication Areas VLSI circuit partitioning and placementVLSI circuit partitioning and placement
ObjectiveObjective To identify and cluster the groups of To identify and cluster the groups of
cells that are highly interconnectedcells that are highly interconnected ConstraintsConstraints
Maximum cluster area/weightMaximum cluster area/weight Minimum clustering ratioMinimum clustering ratio
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 44
Introduction – Why Introduction – Why clustering?clustering?
Deal with today’s increasing design Deal with today’s increasing design complexitycomplexity Algorithm scalability, e.g., FM algorithm Algorithm scalability, e.g., FM algorithm
Speed up the runtime of design processSpeed up the runtime of design process Fine Granularity Clustering, best choice, etc. Fine Granularity Clustering, best choice, etc.
Improve the solution qualityImprove the solution quality Device utilization, layout area, power Device utilization, layout area, power
consumption, etc. in FPGA designconsumption, etc. in FPGA design
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 55
OutlineOutline
IntroductionIntroduction Previous WorkPrevious Work Proposed Clustering AlgorithmProposed Clustering Algorithm Numerical ResultsNumerical Results Conclusions and Future WorksConclusions and Future Works
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 66
Existing Clustering Existing Clustering AlgorithmsAlgorithms
Scoreless Clustering AlgorithmsScoreless Clustering Algorithms No comparison between different potential No comparison between different potential
clusters: FirstChoiceclusters: FirstChoice Fast procedure, but random resultFast procedure, but random result
Score-based Clustering AlgorithmsScore-based Clustering Algorithms Score comparison between different potential Score comparison between different potential
clusters: Best choiceclusters: Best choice Relative slower procedure, but determined and Relative slower procedure, but determined and
better resultbetter result Better choice for placementBetter choice for placement
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 77
Clustering Application in Clustering Application in PlacementPlacement
Edge clustering algorithms are the Edge clustering algorithms are the most popular techniquesmost popular techniques FirstChoice and best choiceFirstChoice and best choice
Placers using FirstChoicePlacers using FirstChoice Indirectly: Capo10, FengShui5.1Indirectly: Capo10, FengShui5.1 Directly: NTUPlace3Directly: NTUPlace3
Placers using best choicePlacers using best choice Directly: mPL6, APlace3, hATPDirectly: mPL6, APlace3, hATP
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 88
Outline
IntroductionIntroduction Previous WorkPrevious Work Proposed Clustering AlgorithmProposed Clustering Algorithm Numerical ResultsNumerical Results Conclusions and Future WorksConclusions and Future Works
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 99
Research MotivationsResearch Motivations
Analysis of edge clustering Analysis of edge clustering algorithms: pair wise operationalgorithms: pair wise operation Pros:Pros:
Fast Fast Cons: Cons:
Local view of netlist structureLocal view of netlist structure Non-consistent with the force-directed Non-consistent with the force-directed
model model
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1010
Cons of Edge Clustering Cons of Edge Clustering AlgorithmsAlgorithms
From the view of cell connectivityFrom the view of cell connectivity Considered: connections from seed cell Considered: connections from seed cell
to neighborsto neighbors Non-considered: connections among Non-considered: connections among
neighbors neighbors
3311
22
55
44 66
77
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1111
Cons of Edge Clustering Cons of Edge Clustering AlgorithmsAlgorithms
From the view of force-directed From the view of force-directed modelmodel Forces from all nets are applied Forces from all nets are applied togethertogether Not Not in a pair wise wayin a pair wise way
3311
22
55
44 66
77
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1212
Proposed Research Proposed Research ObjectivesObjectives
A new clustering algorithm A new clustering algorithm Connectivity modelConnectivity model
Consider the connectivity as a whole, not Consider the connectivity as a whole, not pair wise pair wise
Be consistent with the force-directed modelBe consistent with the force-directed model Net clustering operationNet clustering operation
Make clusters based on net clustering scoreMake clusters based on net clustering score Make clusters naturally, not pair wise.Make clusters naturally, not pair wise.
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1313
Proposed Algorithm Proposed Algorithm Procedure Procedure
Input: A flat netlistInput: A flat netlistOutput: A clustered netlistOutput: A clustered netlistPhase1: Potential Cluster Identification:Phase1: Potential Cluster Identification:For each netFor each net: :
Initial Cluster FormationInitial Cluster Formation Initial Cluster RefinementInitial Cluster Refinement Cluster Score CalculationCluster Score Calculation
Phase2: Final Cluster FormationPhase2: Final Cluster Formation Net Cluster FormationNet Cluster Formation
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1414
Initial Cluster FormationInitial Cluster Formation Visit each net as a seed netVisit each net as a seed net Group cells in the seed net and Group cells in the seed net and
neighbor cellsneighbor cells Net1: cells 1, 2, 3, and 4Net1: cells 1, 2, 3, and 4
n6n6
3311 22
5544 66
77
88n1n1
n2n2
n5n5
n4n4
n3n3
n7n7
n8n8
n9n9
n11n11
n10n10
Partition: Partition: ClusterCluster Partition: Partition:
NetlistNetlist
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1515
Initial Cluster RefinementInitial Cluster Refinement
FM algorithm based cell movement, untilFM algorithm based cell movement, until All cell gains in “All cell gains in “ClusterCluster” are non-positive” are non-positive All cell gains in “All cell gains in “NetlistNetlist” are negative” are negative
3311 22
5544 66
77
88-2-2 -5-5
ClusterCluster NetlistNetlist
-2-2
11 -3-311
-2-2
-2-2
-1-1-3-3 -1-1
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1616
Cluster Score CalculationCluster Score Calculation
1.1. Calculate the Calculate the clustercluster score score
areaclusterclusterinsidecells
clusterinsidenetsclusterScore
1
#
#_
3311 22
5544 66
77
8828.0
5
1
5
7)( 1 CSc
ClusterCluster NetlistNetlist
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1717
Cluster Score CalculationCluster Score Calculation
2.2. Update the incident Update the incident netnet scores scores ClusteredClustered nets:nets: CutCut nets: nets:
71,28.028.00)( jnSn j
3311 22
5544 66
77
88n1n1
n2n2
n5n5
n4n4
n3n3
n7n7
n6n6 n8n8
n9n9
n11n11
n10n10
)()()( CiScnSnnSn jj
)()()( CiScnSnnSn jj
28.028.00)( 8 nSn
ClusterCluster NetlistNetlist
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1818
Potential Cluster Potential Cluster IdentificationIdentification
Final scores for each net after phase 1Final scores for each net after phase 1
.119,05.1)(
,01.2)(
,76,12.3)(
,32.0)(
,41,4.1)(
8
5
jnSn
nSn
jnSn
nSn
jnSn
j
j
j
3311 22
5544 66
77
88n1n1
n2n2
n5n5
n4n4
n3n3
n7n7
n6n6 n8n8
n9n9
n11n11
n10n10
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 1919
Final Cluster FormationFinal Cluster Formation
1.1. Order nets based on scoresOrder nets based on scores
2.2. Cluster and merge nets with score Cluster and merge nets with score > 0> 0
3311 22
5544 66
77
88n1n1
n2n2
n5n5
n4n4
n3n3
n7n7
n6n6 n8n8
n9n9
n11n11
n10n10
1,2,31,2,3 6,7,86,7,84,54,5
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2020
Analogy to Force-directed Analogy to Force-directed ModelModel
Initial Cluster FormationInitial Cluster Formation Equivalent: Equivalent: manuallymanually allocate cells in an allocate cells in an
initial clusterinitial cluster Initial Cluster RefinementInitial Cluster Refinement
Equivalent: Equivalent: naturallynaturally allocate cells based allocate cells based on overall forceson overall forces
Cluster Score CalculationCluster Score Calculation Equivalent: Equivalent: globallyglobally evaluate the net evaluate the net
quality quality
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2121
Algorithm SummaryAlgorithm SummaryCharacteristics:Characteristics: New connectivity computation New connectivity computation
Identify the natural clusters in a circuit, Identify the natural clusters in a circuit, despite the number of cells in clustersdespite the number of cells in clusters
Consistent with the force-directed modelConsistent with the force-directed model
Net score computation Net score computation Remove cluster overlapping Remove cluster overlapping Choose globally the best nets for clusteringChoose globally the best nets for clustering
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2222
Outline
IntroductionIntroduction Previous WorkPrevious Work Proposed Clustering AlgorithmProposed Clustering Algorithm Numerical ResultsNumerical Results Conclusions and future worksConclusions and future works
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2323
Numerical ResultsNumerical Results
Clustering Statistics ExperimentsClustering Statistics Experiments
Placement ExperimentsPlacement Experiments
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2424
Clustering Statistics Clustering Statistics ExperimentsExperiments
SetupSetup Predefined Predefined cell cell clustering ratio (clustering ratio (CCRCCR)) Compare Compare netnet clustering ratios ( clustering ratios (NCRNCR))
Why net clustering ratio comparison?Why net clustering ratio comparison? Kind of measurement of interconnect Kind of measurement of interconnect
complexity for placement and routingcomplexity for placement and routing Comparison algorithmsComparison algorithms
FirstChoice, best choice FirstChoice, best choice Benchmark circuitsBenchmark circuits
ICCAD04 Mixed-sizeICCAD04 Mixed-size
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2525
Out of 18 benchmark circuits, Ours Out of 18 benchmark circuits, Ours achievedachieved
17 smallest net clustering ratios17 smallest net clustering ratiosCCRCCR NCRNCR
OursOurs Best Best choicechoice
FirstChoicFirstChoicee
AverageAverage 0.6210.621 0.6950.695 0.7280.728 0.7480.748
Average Clustering Ratio Average Clustering Ratio Comparison on ICCAD04 Comparison on ICCAD04
CircuitsCircuits
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2626
Placement ExperimentsPlacement Experiments
Setup Setup Cluster a netlist using the proposed algorithmCluster a netlist using the proposed algorithm Run other placers on the clustered netlistRun other placers on the clustered netlist Map the placement result and Run Capo10.1 to Map the placement result and Run Capo10.1 to
legalize and refine the resultlegalize and refine the result Comparison placersComparison placers
mPL6, NTUPlace3-LE, Capo10.1, and FengShui5.1mPL6, NTUPlace3-LE, Capo10.1, and FengShui5.1 Benchmark circuitsBenchmark circuits
ICCAD04 Mixed-size, and ISPD05 Placement ICCAD04 Mixed-size, and ISPD05 Placement ContestContest
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2727
Placement Results on ICCAD04 Placement Results on ICCAD04 Benchmarks Benchmarks
Capo10.1: Capo10.1: 1515 out of 18 improved HPWL out of 18 improved HPWL FengShui5.1: FengShui5.1: 1414 out of 18 improved HPWL out of 18 improved HPWL mPL6: mPL6: 1515 out of 18 improved HPWL out of 18 improved HPWL NTUPlace3-LE: NTUPlace3-LE: 1818 out of 18 improved HPWL out of 18 improved HPWL
PlacerPlacer HPWL (10^6)HPWL (10^6) Runtime (in Runtime (in seconds)seconds)
OriginalOriginal ClustereClusteredd
OriginalOriginal ClustereClusteredd
Capo10.1Capo10.1 1.0001.000 0.9720.972 1.0001.000 0.8740.874
FengShui5.1FengShui5.1 1.0001.000 0.9810.981 1.0001.000 1.0121.012
mPL6mPL6 1.0001.000 0.9780.978 1.0001.000 1.0051.005
NTUPlace3-NTUPlace3-LELE
1.0001.000 0.9490.949 1.0001.000 0.9200.920
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2828
Placement Results on ISPD05 Placement Results on ISPD05 Benchmarks Benchmarks
Capo10.1: Capo10.1: 00 out of 8 improved HPWL out of 8 improved HPWL mPL6: mPL6: 55 out of 8 improved HPWL out of 8 improved HPWL NTUPlace3-LE: NTUPlace3-LE: 77 out of 8 improved HPWL out of 8 improved HPWL
PlacerPlacer HPWL (10^6)HPWL (10^6) Runtime (in Runtime (in seconds)seconds)
OriginalOriginal ClustereClusteredd
OriginalOriginal ClustereClusteredd
Capo10.1Capo10.1 1.0001.000 1.0271.027 1.0001.000 0.8600.860
mPL6mPL6 1.0001.000 0.9960.996 1.0001.000 1.1741.174
NTUPlace3-NTUPlace3-LELE
1.0001.000 0.9850.985 1.0001.000 1.1011.101
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 2929
Experimental SummaryExperimental Summary
Effective for ICCAD04 benchmark Effective for ICCAD04 benchmark circuitscircuits
Less effective for ISPD05 benchmark Less effective for ISPD05 benchmark circuitscircuits
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 3030
Conclusions and Future Conclusions and Future WorksWorks
ConclusionsConclusions 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 efficiencyImprove the algorithm efficiency
Runtime Runtime Improve the algorithm scalabilityImprove the algorithm scalability
ISPD05 benchmark circuits ISPD05 benchmark circuits Integrate into placersIntegrate into placers
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 3131
Thank you!Thank you!
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 3232
AppendixAppendix
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 3333
Why not just group the Why not just group the clusters?clusters?
Directly cluster nets Directly cluster nets directly directly optimize the placement objectiveoptimize the placement objective
To deal with the cluster cell To deal with the cluster cell overlapping problemoverlapping problem
Net is a “finer” unit for clusteringNet is a “finer” unit for clustering
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 3434
Runtime comparisonRuntime comparison
Generally our clustering algorithm is Generally our clustering algorithm is slower than both FirstChoice and slower than both FirstChoice and best choice, by 3 to 8 timesbest choice, by 3 to 8 times
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 3535
Results on ISPD05Results on ISPD05
Probably due to the difference of the Probably due to the difference of the circuitcircuit
structure structure ICCAD04, short nets majorityICCAD04, short nets majority
Max net degree: from 17(ibm05) to Max net degree: from 17(ibm05) to 134(ibm02)134(ibm02)
ISPD05, large number of long netsISPD05, large number of long nets Max net degree: 1935(adaptec2) to Max net degree: 1935(adaptec2) to
11869(bigblue2)11869(bigblue2)
March 20, 2007March 20, 2007 ISPD 2007ISPD 2007 3636
NTUPlace3-LENTUPlace3-LE Based on the Lp-norm wire modelBased on the Lp-norm wire model
NTUPlace3NTUPlace3
NTUplace3 is based on the log-sum-exp NTUplace3 is based on the log-sum-exp wire modelwire model
State-of-the-art: better performance State-of-the-art: better performance than NTUPlace3-LEthan NTUPlace3-LE
NTUPlace3-LE and NTUPlace3-LE and NTUPlace3NTUPlace3