Pre-layout Physical Connectivity Prediction with

0 downloads 0 Views 103KB Size Report
correlation of our pre-layout measure with the post layout physical ... dominate nearly all aspects of the chip design. ... designs at the logic synthesis stage. In [17] ...
Pre-layout Physical Connectivity Prediction with Applications in Clustering, Placement and Logic Synthesis Qinghua Liu

Malgorzata Marek-Sadowska

Department of Electrical and Computer Engineering Univ. of California, Santa Barbara, CA 93106, USA

IBM Technical Contact: Chuck Alpert Abstract In this paper, we introduce a structural metric, logic contraction, for pre-layout physical connectivity prediction. For a given set of nodes forming a cluster in a netlist, we can predict their proximity in the final layout. We demonstrate experimentally a very good correlation of our pre-layout measure with the post layout physical distances between those nodes. We show an application of the logic contraction to circuit clustering. We compare our SeedGrowth clustering algorithm with the existing efficient clustering techniques such as Edge-Coarsening [1][12], First-Choice [13] and Peak-Clustering [11]. We apply our clustering technique to speed up a placement tool and sketch out our ideas on how to use it in technology mapping. Experimental results demonstrate the effectiveness of our new clustering method.

1. INTRODUCTION With the trend toward decreasing feature sizes, interconnects dominate nearly all aspects of the chip design. Prediction of layout characteristics before placement can help us optimize wires early in the design flow. Recently, several new metrics such as adhesion [15] and distance [14] have been proposed to capture routability of designs at the logic synthesis stage. In [17], we observed that mutual contraction [11] and net range, two structural metrics, can be used to predict wire lengths in the final layout. The proposed wire-length prediction techniques have been successfully applied in technology mapping and fanout optimization with the aim of reducing wiring costs and minimizing congestion [18]. Pursuing this research line of pre-layout wire length and congestion prediction, we consider yet another layout characteristic. For a cluster of nodes in a netlist, we define the physical connectivity as the proximity of those nodes in the final placement. In this paper, we propose a structural metric, logic contraction, for pre-layout physical connectivity prediction. We demonstrate experimentally a very good correlation of this prelayout measure with post-layout physical connectivity. We apply the logic-contraction measure to circuit clustering. We compare our Seed-Growth clustering algorithm with the existing efficient clustering techniques such as Edge-Coarsening [1][12], FirstChoice [13], and Peak-Clustering [11]. The experimental results demonstrate the effectiveness of our new clustering algorithm. This paper is organized as follows. In Section 2 we provide preliminaries. In Section 3 we introduce the logic contraction measure and demonstrate its usefulness in predicting physical connectivity. In Section 4, we apply logic contraction to circuit clustering and propose our Seed-Growth clustering algorithm. We present the experimental results in Section 5. In Section 6

we summarize the contributions of our research. Finally, we discuss our ongoing work and future research directions.

2. PRELIMINARIES 2.1 Hypergraph model A circuit is modelled by a hypergraph G(V, E) with node set V and a hyperedge set E. Each hyperedge e in E is a subset of nodes in V. A cluster is a group of nodes connected by hyperedges. A degree of a node, denoted by |v|, is the number of hyperedges incident to v. A degree of a hyperedge e, denoted by |e|, is the number of nodes incident to e. Each node is associated with an area cost, A(v). Each hyperedge is represented by a clique. Traditionally, the weight of an edge in a clique is set to 1 ⁄ ( e – 1 ) . A connection c(u,v) represents all the edges connecting the nodes u and v. The weight of a connection, w(u,v), is a sum of edge weights in c(u, v): w ( u, v ) =



{ e ∈ E u, v ∈ e }

1 -------------e –1

(EQ 1)

The connection weight defined in EQ1 can be used to measure the contraction of a connection.

2.2 Physical connectivity After the circuit has been placed, each movable cell in the netlist is assigned a location inside the chip boundary. For a cluster of nodes in the netlist, we define the physical connectivity as their proximity in the final placement. The cluster bounding box is defined as the minimum bounding box in the placement which contains all the nodes in the cluster. An example is shown in Figure 1. placement

d d a

c b

netlist cluster

a

c b cluster bounding box

Figure 1. An example of a cluster bounding box We define the physical size of a cluster by the half-perimeter length of its clustering bounding box. The physical connectivity of a cluster C can be measured by its physical size. A higher physical connectivity corresponds to a smaller physical size.

The interconnect complexity of netlists can be captured accurately by Rent’s exponent. According to Rent’s rule, the average number of terminals required to connect the gates in a module to its exterior can be expressed by the following equation: (EQ 2) T = tG p In the above equation, G is the number of gates in the module. Various interpretations of this power law [16] exist. The coefficient t and exponent p are referred to as the Rent’s coefficient and the Rent’s exponent. Rent’s exponent is a measure of interconnection complexity. Most real circuits have their Rent’s exponents in the range of 0.3-0.8.

summation of physical sizes (after placement) of clusters, whose internal forces are larger than IF thr, is smaller than 5% of the sum of physical sizes of all clusters. Next we partition [IF min, IF thr] into 20 equal-sized bins: [Ai, B i], i=1,2...20, A1=IF min B 20=IF thr. We assign clusters to bins based on their physical sizes and then calculate the average physical size of clusters in each bin. For the cluster size 5, the result for ibm12 is shown in Figure 3. 1200

Internal Force VS Average Physical Size

1100

Average Physical Size

2.3 Rent’s exponent and interconnection complexity

1000 900 800 700 600

A good placer tends to place strongly connected nodes in close proximity. This suggests that a group of nodes with strong contraction are likely to be placed together. In order to measure the contraction of the nodes in a cluster, we define the internal force of a cluster C as a sum of weights of all intracluster connections: (EQ 3) IF ( C ) = w ( i, j )



i, j ∈ C

Intuitively, we would expect a negative correlation between the internal force and physical size. A larger internal force suggests that nodes in the cluster are more contracted. Consequently, they tend to be close to each other in the final layout. To examine the correlation between the internal force and physical connectivity, we experiment with IBM benchmarks [22] in the following way. First we place the benchmarks using Dragon [22], which achieves the best placement results on the IBM benchmark suite among all publicly available standardcell placement tools. Then we set a cluster size s in terms of the number of nodes. For each benchmark, we randomly create 10 × n clusters of size s, where n is the number of movable nodes in the netlist. Each cluster is created in an iterative way as shown in Figure 2.

500 0

Figure 2. Random cluster generation We calculate the internal forces for all clusters. For each benchmark we determine the range [IF min, IF thr]. IFthr is a threshold value of internal force determined such that the

1

1.5

2

2.5

3

3.5

Figure 3. Internal force vs. physical size on ibm12 In Figure 3, the x-axis corresponds to the bins sorted by their left boundary values. The y-axis shows the average physical size determined from the placed circuit. From this figure, we observe that the internal force correlates with the physical size of the clusters. Following the definition of the internal force, we introduce the external force of a cluster C by EQ4: (EQ 4) EF ( C ) = w ( i, j )



i ∈ C, j ∉ C

From EQ4, the external force of a cluster is the sum of weights of all connections between the nodes inside and outside of the cluster. External force can be used to mimic the forces that pull the inside nodes of a cluster away from each other. Intuitively, external force should also correlate with physical connectivity. In Figure 4, we plot the relationship between the external force and physical size. This plot is created in the same fashion as the plot in Figure 3. 900

External Force VS Average Physical Size

800 700 600 500 400 300 200 100 0 0

RandomClusterGeneration( cluster size ) { 1. Cluster = a random seed; 2. Initialize the neighbor list of Cluster; 3. while ( size of Cluster < cluster size ) { 4. Randomly select one node u from the neighbor list; 5. Add node u into Cluster; 6. Update neighbor list; } 7. return Cluster; }

0.5

Internal Force

Average Physical Size

3. LOGIC CONTRACTION AS A PREDICTOR OF PHYSICAL CONNECTIVITY 3.1 Internal and external forces acting on a cluster

5

10

15

20

25

30

35

40

45

50

55

External Force

Figure 4. External force vs. physical size on ibm12 From Figure 4, we observe a positive correlation between the external force and the physical size.

3.2 Logic contraction In the previous section, we have defined the internal and external forces, the two structural metrics of clusters. Both of these metrics correlate with the physical connectivity of node clusters. However, from Figure 3 and Figure 4, we note that neither of the metrics exhibits good predictability of the physical connectivity. The internal and external forces affect the physical size of a cluster in opposite directions. The internal force tries to keep the nodes together in the final layout, whereas the external force tends to pull the nodes apart. These two factors work

simultaneously. For this reason, considering the internal or external force alone does not give us a good prediction of the distribution of nodes in the final layout.

and the physical size of clusters for clusters of 10, 20, 30 and 40 nodes. 2000

2600

Logic Contraction VS Average Physical Size

1600

Average Physical Size

∑ w ( i, j ) EF ( C ) LC ( C ) = ---------------- = -------------------------------------IF ( C ) ∑ w ( i, j )

2200

Average Physical Size

Based on the above observations, we define logic contraction of a cluster C as a ratio between the external and internal forces acting on a cluster:

1400 1200 1000 800

2000 1800 1600 1400 1200 1000 800

600

i, j ∉ C

600 400

400 0

5

10

15

20 25 30 Logic Contraction

35

40

45

0

50

3000

3500

Logic Contraction VS Average Physical Size

Average Physical Size

Average Physical Size

2000

1500

1000

Logic Contraction VS Average Physical Size

10

15 20 Logic Contraction

25

30

Logic Contraction VS Average Physical Size

3000

2500

In Figure 5, as in Figure 3 and Figure 4, we plot the relationship between the logic contraction and physical size. The cluster size is still set to 5.

5

(b) cluster size 20

(a) cluster size 10

(EQ 5)

i ∈ C, j ∈ C

1000

Logic Contraction VS Average Physical Size

2400

1800

2500

2000

1500

1000

900 500

500 5

10

800

15

20

25

0

5

10

Logic Contraction

15

20

25

Logic Contraction

(d) cluster size 40

(c) cluster size 30 Figure 6. Predictability of logic contraction on clusters with different cluster sizes

700 600 500 400 300 0

10

20

30

40

50

60

70

80

90

Logic Contraction

Figure 5. Logic contraction vs. physical size on ibm12

The average c-ratio and r-square values of logic contraction for all IBM benchmarks with different cluster sizes are listed in Table 2. Table 2. Average c-ratios and r-squares of logic contraction for IBM benchmarks with different cluster sizes

From Figure 5, we observe a very high correlation between logic contraction and physical size. Logic contraction has a very good predictability on the physical connectivity of a cluster of nodes in the netlist.

ViolationNodesPairs c – ratio = 1 – -------------------------------------------------------TotalNodePairs

(EQ 6)

In EQ6, the TotalNodePairs denotes the total count of node n pairs. If there are n (metric, physical size) nodes, there are   TotalNodePairs. ViolationNodePairs denotes the number 2of node pairs violating the correlation. Take two nodes in Figure 5 for example. If one node has a larger logic contraction but a smaller physical size than the other, then this pair violates the positive correlation between the logic contraction and physical size. C-ratio is a number between 0 and 1. A larger c-ratio corresponds to a better correlation or better predictability of the metric. We also compute r-square, the linear regression fit of the distribution for each metric. In Table 1, we show the average c-ratio and r-square for all 18 IBM benchmarks and different metrics.The cluster size is set to 5. We note that the correlation between the logic contraction and physical size is the best. Table 1. Average c-ratio and r-square values for IBM benchmarks on different metrics Metric Internal force External force Logic contraction

c-ratio 0.869 0.754 0.985

r-square 0.772 0.383 0.865

We also explore logic contraction as a measure of the physical size of clusters. We take the ibm12 circuit as an example. In Figure 6 we plot the relationship between the logic contraction

c-ratio 0.985 0.996 0.963 0.920 0.902

r-square 0.865 0.866 0.820 0.775 0.740

From Figure 6 and Table 2, we observe that logic contraction works well for different cluster sizes. The IBM benchmarks have Rent’s exponents around 0.65. So they all have similar interconnection complexity. The experimental results we have shown cannot guarantee that logic contraction works well on circuits with different interconnection complexities. To verify further the predictability of logic contraction, using gnl [20], we built a suite of synthetic circuits with different Rent’s exponents. Each of these circuits has 40,000 cells and the same number of nets. We place those circuits and collect physical cluster sizes and logic contraction values for different numbers of nodes per cluster. We observe that logic contraction works well on the whole spectrum of Rent's exponent circuits. In Figure 7, we show the results for cluster size 5 for circuits with Rent's exponent 0.2 (very low) and 0.8 (very large). 2200

800

Logic Contraction VS Average Physical Size

Logic Contraction VS Average Physical Size 2000

700

1800 Average Physical Size

We will refer to a pair (metric, physical size) as a node. Here a metric can be the internal force, external force or logic contraction. We define a correlation ratio (c-ratio) by the following equation:

Cluster size 5 10 20 30 40

600

Average Physical Size

Average Physical Size

0

500 400 300 200

1600 1400 1200 1000 800 600 400

100

200 0

0 0

2

4

6 8 10 Logic Contraction

(a) r = 0.2

12

14

16

0

1

2

3

4 5 6 Logic Contraction

7

8

9

(b) r = 0.8

Figure 7. Logic contraction vs. physical size for circuits with different Rent’s exponents

3.3 Discussion

w ( u, v ) =

If all nodes in a cluster are connected by a net, the physical size of the cluster is a measure of net length. Therefore, the length of a net i can be predicted by the logic contraction of the cluster whose nodes are connected by i. In [17], the authors show that mutual contraction [11], a structural metric, can be used to predict lengths of 2-pin nets. There is good negative correlation between the mutual contraction and the lengths of 2-pin nets. However, mutual contraction does not offer good predictability on multi-pin nets. Using a procedure similar to that described in [17], we determine the relationship between the logic contraction and wire lengths extracted from the placed netlists. The correlation is evaluated by the c-ratio and the r-square. The comparison between mutual and logic contractions is shown in Table 3. The numbers in the table are the averages taken over the 18 IBM benchmarks. From the table, we observe that mutual contraction can predict lengths of two-pin nets more accurately than the logic contraction. However, logic contraction works much better on multi-pin nets than mutual contraction does. Table 3. Wire length predictability of logic contraction and mutual contraction Pin number 2 3 4 5

logic contraction c-ratio r-square 0.855 0.663 0.795 0.442 0.741 0.397 0.646 0.293

mutual contraction c-ratio r-square 0.903 0.701 0.529 0.005 0.631 0.118 0.458 0.193

4. APPLYING PHYSICAL CONNECTIVITY PREDICTION TO CIRCUIT CLUSTERING 4.1 Previous work and motivation Circuit clustering is widely used in multi-level partitioning or placement frameworks to manage runtime and improve solution quality. It is a well-studied problem [2][5][6][8][9]. In this section, we review circuit clustering algorithms, which have been successfully applied to several state-of-the-art partitioning and placement tools. In the Edge-Coarsening (EC) clustering algorithm [1][12], circuit nodes are visited in a random order, and for each node u, only a set of unmatched adjacent objects is considered. Among these nodes the one with the largest weight is matched to u. Karypis and Kumar modified the EC scheme and proposed the First-Choice (FC) clustering approach [13]. In FC, as in EC, circuit nodes are visited in random order. But for each node u, we consider all nodes adjacent to it, regardless of their matching status. Again, the node with the largest weight is matched to u, with unmatched nodes favored for breaking ties. To limit the cluster size, the FC stops clustering and goes to the next coarsening level when the size of the resulting coarse graph has been reduced by a factor of 1.7. The connection-weighting strategy used in EC and FC is similar to that discussed in Section 2.1. A modified version of the FC algorithm has been used in a leading academic placement tool, mPL [4]. It differs from the original FC algorithm in the following ways: (i) It has a modified connection-weighting strategy which takes node areas into consideration. The weight of a connection between the nodes u and v is computed by:



{ e ∈ E u, v ∈ e }

1 --------------------------------------( e – 1 )area ( e )

(EQ 7)

where area(e) denotes the sum of the areas of nodes connected by the hyperedge e. The purpose of the weighted area in the denominator is to give higher affinity to smaller nodes and obtain a more even distribution of cluster areas. (ii) Nodes are visited in a deterministic order. They are arranged in descending order, according to the node degrees, and examined sequentially. A pass-based pair-wise clustering strategy is used in [11]. The connection weight is measured by the mutual contraction. A priority queue is maintained for all connections in the hypergraph. A connection from the top of the queue is selected and grouped if it does not violate the cluster size constraint and if neither node has been visited in the current pass. In our later discussion we refer to this clustering algorithm as the PeakClustering (PC). All the above clustering algorithms share the same basic strategy: two nodes with strong affinity are identified and grouped. Such a greedy strategy does not take a global view of the netlist connectivity. The cause of such a drawback is that only metrics of connectivity between two nodes are used. Spectral clustering approaches [5][9] have a global view of the netlist connectivity. However, they are too expensive for modern large-sized circuits. In Section 3, we have shown that the physical connectivity of a cluster can be predicted by the logic contraction, which can be extracted directly from the netlist structure. During circuit clustering, a group of nodes with a small logic contraction should be clustered together since they tend to be close together in the final placement. In the next section, we propose a new bottom-up clustering algorithm called “Seed-Growth” (SG), whose aim is to identify a good cluster from the netlist using the predictability of logic contraction on physical connectivity.

4.2 Seed-Growth (SG) clustering algorithm Before continuing definitions.

our

discussion, we

introduce

some

A clustering ratio CR is the ratio of the number of nodes in the initial netlist and the target cluster number TN. Cluster size is the total area taken up by nodes in the cluster. Note that this definition differs from the definition in Section 3, where the cluster size was measured by the number of nodes in the cluster. A cluster size constraint SC is the maximum size a cluster can attain. Local Rent's exponent of a cluster is defined as T p = Log G  --- t

(EQ 8)

In EQ8, G is the number of nodes in the cluster. T is the number of nets that connect the inside nodes to the outside of the cluster. t is the average node degree of the circuit. We observe that the definition is derived from EQ2. From EQ4 and EQ8, we see that the external force of a cluster can be captured by the local Rent’s exponent of the cluster. Our SG algorithm is a one-pass-based algorithm. The key idea is to create a cluster with strong physical connectivity starting

from a seed node. The outline of the algorithm is shown in Figure 8. Input: Flat Netlist, target cluster number TN and cluster size constraint SC Output: Clustered Netlist 1. Sort nodes in the flat netlist by node degree 2. CurNodeNumber = number of nodes in the flat netlist while (CurNodeNumber > TN) { 3. SeedNode = an unclustered node with largest node degree; 4. Cluster = CreateClusterFromSeed(SeedNode, SC); 5. CurNodeNumber = CurNodeNumber - number of nodes in Cluster + 1; }

cluster, we have calculated the logic contraction of the new cluster as the cost of u. The neighbor node with the smallest cost has been absorbed. However, we have found that such a strategy is time-consuming and does not yield distinguishable results.

5. EXPERIMENTAL RESULTS We have implemented the Seed-Growth (SG) clustering algorithm within the force-directed quadratic placer mFAR [10]. The benchmarks used in our experiments are the same as those in FastPlace [21], which are available at [23]. All the experiments have been conducted on a 2.4Ghz Pentium 4 linux machine with 1 gigabyte memory.

Figure 8. Outline of the SG algorithm The key procedure CreateClusterFromSeed in Figure 8 is further detailed in Figure 9. CreateClusterFromSeed(Seed, cluster size constraint) { 1. Cluster = NULL; 2. FinalCluster = NULL; 3. Add Seed into Cluster; 4. NeighborVector = unclustered neighbor nodes of Cluster, which will not cause cluster size constraint violation if added into Cluster; 5. min_p = infinite large; while (1) { 6. Select one node u from NeighborVector that has the largest connectivity with Cluster; 7. Add u into Cluster; 8. if (size of Cluster > k * cluster size constraint) { p = local Rent’s exponent of Cluster; if (p < min_p) { min_p = p; FinalCluster = Cluster; } } 9. Update NeighborVector; 10. if ( NeighborVector is empty ) return FinalCluster; }

Figure 9. Create a cluster from a seed node The basic idea behind the procedure is simple. During the process of cluster generation, we add a neighbor node with the largest connectivity to the cluster (step 6), keeping the internal force of the cluster as large as possible. The connectivity between a neighbor node u and the cluster C is calculated by EQ9, (EQ 9) connectivity ( u, C ) = w ( u, i ) .



i∈C

When the cluster size exceeds some preset value, we begin to trace the local Rent’s exponent of the cluster and attempt to minimize the local Rent’s exponent (step 8). In our implementation, k in step 8 of Figure 9 is set to 0.5. The control of local Rent’s exponent can help us to reduce the external force of the cluster. Also it helps us to get a more balanced cluster size distribution, since a cluster will not usually reach the size constraint. Given a seed node, the SG algorithm tends to create a cluster with small logic contraction, which is determined as a ratio between the external force and the internal force of a cluster. Logic contraction implicitly guides our clustering algorithm to create clusters with strong physical connectivity. We have tried to control the logic contraction of a cluster directly. Whenever adding a neighbor node u into an existing

5.1 Comparing the clustered netlist created by various clustering algorithms For the purpose of comparison, we have also implemented the clustering algorithms of Edge-Coarsening (EC) [1][12], FirstChoice (FC) [13], a modified version of First-Choice (mFC) used in the mPL [4], and the Peak-Clustering (PC) [11], as discussed in Section 4.1. In this section, we compare the clustered netlists created by those clustering algorithms. We have set a rather high clustering ratio CR = 10, since our target has been to speed up the placement process. We have also set the cluster size constraint to 3 ⋅ λ to control the cluster size distribution, where λ is the average node area in the original netlist multiplied by the clustering ratio CR. λ represents the expected average size of nodes in the clustered netlist. We first placed the flat netlists by Dragon [22]. Then for each cluster in the clustered netlist, we extracted its physical size from the placed original netlist. The results are shown in Table 4. The columns labeled ave_ps and max_ps list the average and maximum physical sizes of the clustered netlists. We report the physical size in microns. We report the average results normalized with respect to FC in the last row. From these data, we note that our SG algorithm can create clusters with significantly smaller average and maximum physical sizes than the other algorithms do. Logic contraction, which correlates well with the physical connectivity, gives us a more global view of the netlist connectivity. Consequently, nodes in the clusters created by the SG algorithm have stronger physical connectivity and tend to be closer together in the final layout.

5.2 Evaluating the clustering algorithms by the global placement results In this section, we investigate how the individual clustering algorithms affect the final placement results. After circuit clustering, we invoke the mFAR on the clustered netlist until the objects are rather evenly distributed on the layout area. Then we do de-clustering followed by further refinement and placement legalization. In Table 5, we give the placement results of different clustering algorithms. In Table 5, we report the half-perimeter wire length (twl) and run time of circuit clustering (c_time). All results have been normalized with respect to those of FC. We observe that the half-perimeter wire length associated with our SG algorithm outperforms that of FC, mFC, EC and PC on average by 4.1%, 3.6%, 6.1% and 5.3% respectively. It is also interesting to see that the wire length results are exactly correlated with the data in Table 4: the clustering algorithm which captures physical connectivity

Table 4. Average and maximum physical size of clusters in the clustered netlists Bench ibm01 ibm02 ibm03 ibm04 ibm05 ibm06 ibm07 ibm08 ibm09 ibm10 ibm11 ibm12 ibm13 Ave

FC ave_ps 253 345 388 433 504 269 404 439 346 539 385 657 382 1.0

max_ps 1956 1938 3134 3102 4126 2366 3684 4106 3700 6164 4160 6692 5518 1.0

mFC ave_ps max_ps 213 2014 299 2130 341 2814 395 3134 471 3700 253 2258 351 3412 382 4020 299 4274 512 6448 345 4158 610 6788 324 6212 0.892 1.010

EC ave_ps 332 475 597 609 862 432 540 576 512 706 550 855 559 1.429

PC max_ps 2090 2834 2954 3282 3580 2539 4096 4150 3900 6198 3754 5928 5332 1.031

ave_ps 256 341 431 471 554 285 419 405 379 569 426 637 408 1.047

SG max_ps 2204 2334 2912 3076 3144 2304 3682 3840 3836 5762 4128 6696 4888 0.983

ave_ps 199 275 311 363 447 231 305 325 252 434 305 530 276 0.795

max_ps 2136 1942 2691 2921 3715 2329 3475 3375 3423 5754 3769 6100 4890 0.931

Table 5. Placement results with different clustering algorithms

Bench ibm01 ibm02 ibm03 ibm04 ibm05 ibm06 ibm07 ibm08 ibm09 ibm10 ibm11 ibm12 ibm13 Ave

FC c_time

twl

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.00

mFC c_time twl 1.16 1.08 1.04 1.10 0.99 1.08 1.06 1.09 1.04 1.03 1.05 1.07 1.07 1.064

EC

PC

SG

c_time

twl

c_time

twl

c_time

twl

1.05 0.92 0.94 0.92 0.87 0.88 0.91 0.89 1.01 0.90 0.91 0.86 0.91 0.921

1.032 1.064 1.010 1.028 1.032 1.043 0.921 0.999 1.041 1.032 1.042 1.010 1.018 1.021

1.13 1.26 1.20 1.18 1.13 1.22 1.21 1.10 1.35 1.19 1.23 1.17 1.25 1.200

1.013 1.013 1.000 0.987 1.024 0.988 0.948 1.036 1.025 1.030 1.032 1.041 1.017 1.012

1.34 1.67 1.57 1.12 2.28 1.68 1.46 1.33 1.44 1.50 1.28 1.56 1.45 1.513

0.977 0.955 0.946 0.955 0.972 0.985 0.893 0.934 0.984 0.947 0.984 0.966 0.969 0.959

1.016 1.084 0.985 0.997 1.005 0.975 0.888 1.015 0.971 0.988 1.018 0.982 1.016 0.995

more accurately results in better placement results. Among the five clustering algorithms, EC is the fastest and SG is the slowest, but all fall within a similar range. After taking the circuit clustering as a pre-processing step to condense the netlist, we get an 8X speedup on the original placement engine. The current placement process with SG circuit clustering is about 4X faster than Capo8.8 [3] with only 1% quality loss. We do not show those data here. We remark that our clustering algorithm can work together with any other placement engine, such as FastPlace, to achieve significant speedup.

6. CONCLUSIONS In this paper, we have proposed a new structural metric, logic contraction, for pre-layout physical connectivity prediction. Given a cluster of nodes, we can predict their proximity in the final layout. We have demonstrated experimentally a very good correlation between our pre-layout measure and the postlayout physical connectivity. We have applied our logic contraction to circuit clustering. We have compared our SeedGrowth clustering algorithm with other efficient clustering techniques such as Edge-Coarsening [1][12], First-Choice [13] and Peak-Clustering [11]. The experimental results have demonstrated the effectiveness of our clustering algorithm.

7. ONGOING WORK AND FUTURE RESEARCH DIRECTIONS 7.1 Improvement on the clustering algorithm The Seed-Growth (SG) clustering algorithm presented in this paper still has significant room for improvement. In the proposed algorithm, we simply select the seed node based on the metric of node degree. Currently, we are trying some other seed selection strategies to improve the clustering results. One candidate metric is connectivity factor (c), which has been successfully applied in FPGA clustering [19]. We define c of a node v by separation c = ---------------------------2 (EQ 10) v where separation is the sum of all terminals of nets incident to v. In [19], an array of lists for storing all unclustered nodes is maintained during the whole clustering process. Each element in the array is a list containing all unclustered nodes with the same degree in ascending order of their c values. Then a node with the highest degree and lowest c values is selected to be the seed of a new cluster. Experimental results in [19] show that our connectivity-factor metric can significantly decrease the number of inter-cluster nets and improve the overall device routing area for an array of similar size.

We can also select seed nodes from an initial clustered netlist generated by a fast clustering algorithm (Edge-Coarsening algorithm, for example). The node with the largest degree in each cluster is marked and selected as seed node in our SG algorithm. A second-pass cluster refinement process may also improve the clustering results. Due to the greedy characteristic of the SG algorithm, we may get sub-optimal results. Such results can be further refined by a move-based FM [7] algorithm. Nodes do not need to be fixed and can move or swap between clusters to improve the physical connectivity of clusters.

7.2 Applying logic contraction to logic synthesis Besides clustering based placement, the logic contraction metric proposed in this paper can also be applied in logic synthesis. Interconnects play a crucial role in the overall performance of modern VLSI systems. Early wire optimization is necessary to achieve required performance, routability, and power. The cost functions employed during traditional logic synthesis do not take interconnects into account, which might lead designers to create sub-optimal designs. With its pre-layout physical connectivity predictability, logic contraction can guide logic synthesis to take layout information into account. We will take technology mapping as an example. During technology mapping, a Boolean network after logic optimization is matched and covered by library cells. In the network’s DAG, it is desirable that nodes with strong physical connectivity are identified and matched. Therefore, we can add logic contraction into the cost function and give priority of match to nodes with small logic contraction. As discussed in Section 3.3, logic contraction also has very good wire length predictability. Based on the numerical values of logic contraction, we can predict that nets have the tendency to be long or short in the final layout. Such wire length predictability can be applied in timing-driven technology mapping, since it can help to take interconnect delay into account during timing analysis.

REFERENCES [1] C.J.Alpert, J.H.Huang and A.B.Kahng, “Multilevel circuit partitioning”, Des. Aut. Conf., pp.530-533, 1997.

IEEE Trans. on Computer-Aided Design, vol. 23(4), pp.527536, 2004. [7] C.M.Fiduccia and R.M.Mattheyses, “A linear time heuristic for improve network partitions”, Design Automation Conference, pp.175-181, 1982. [8] L.Hagen and A.B.Kahng, “A new approach to effective circuit clustering”, Proc. of Int. Conf. on Computer-Aided Design, pp.422-427, 1992. [9] L.Hagen and A.B.Kahng, “New spectral methods for ratio cut partitioning and clustering”, IEEE Trans. on Computer-Aided Design, vol.11(9), 1074-1085, 1992. [10] B.Hu and M.Marek-Sadowska, “FAR: Fixed-points addition and relaxation based placement”, In Proc. Intl. Symp. on Physical Design, pp.161-166, 2002. [11] B.Hu and M.Marek-Sadowska, “Wire length prediction based clustering and its application in placement”, Design Automation Conference, pp.800-805, 2003. [12] G.Karypis, R.Aggarwal, V.Kurnar and S.Shekhar, “Multilevel hypergraph partition: Applications in VLSI design”, Design Automation Conference, pp.526-529, 1997. [13] G.Karypis and V.Kumar, “Multilevel k-way hypergraph partitioning”, Design Automation Conference, pp.343-348, 1999. [14] V.N.Kravets and P.Kudva, “Understanding metrics in logic synthesis for routability enhancement”, ACM Intl. Workshop on System Level Interconnect Prediction, pp.3-5, 2003. [15] P.Kudva, A.Sullivan and W. Dougherty, “Metrics for structural logic synthesis”, Proc. of Int. Conf. on ComputerAided Design, pp. 551-556, 2002. [16] B.S.Landman and R.L.Russo, “On a pin versus block relationship for partitions of logic graphs”, IEEE Transactions on Computer-Aided Design, vol. C–20, pp. 1469–1479, 1971. [17] Q.Liu and M.Marek-Sadowska, “Pre-layout wire length and congestion estimation”, Des. Aut. Conf., pp.582-587, 2004. [18] Q.Liu and M.Marek-Sadowska, “Wire length predictionbased technology mapping and fanout optimization”, to appear in Intl. Symp. on Physical Design, 2005.

[2] C.J.Alpert and A.B.Kahng, “A general framework for vertex orderings, with application to netlist clustering”, Des. Aut. Conf., pp. 63-67, 1994.

[19] A.Singh, G.Parthasarathy and M.Marek-Sadowska, “Efficient circuit clustering and placement for area and power reduction in FPGAs”, ACM Transactions on Design Automation of Electronic Systems, vol.7, no.4, pp.643-663, 2002.

[3] A.E.Caldwell, A.B.Kahng and I.L.Markov, “Can recursive bisection alone produce routable placements”, Des. Aut. Conf., pp.260-263, 2000.

[20] D.Stroobandt, P.Verplaetse and J.Van Campenhout, “Generating synthetic benchmark circuits for evaluating CAD tools”, IEEE TCAD, vol.19, no.9, pp.1011-1022, 2000.

[4] T.F.Chan, J.Cong, J.Shinnerl and K.Sze, “An enhanced multilevel algorithm for circuit placement”, Proc. of Int. Conf. on Computer-Aided Design, pp.299-306, 2003.

[21] N.Viswanathan and C.C.Chu, “FastPlace: An efficient analytical placement technique using cell spreading and iterative local refinement”, In Proc. Intl. Symp. on Physical Design, pp.26-33, 2004.

[5] P.K.Chan, M.D.F.Schlag and J.Zien, “Spectral k-way ratio cut partitioning and clustering”, IEEE Trans. on ComputerAided Design, vol.13(9), pp.1088-1096, 1994. [6] J.Cong and S.K.Lim, “Edge separability-based circuit clustering with application to multilevel circuit partitioning”,

[22] M.Wang, X.Yang and M.Sarrafzadeh, “Dragon2000: Standard-cell placement tool for large industry circuits”, Proc. of Int. Conf. on Computer-Aided Design, pp. 260-264, 2000. [23] http://www.public.iastate.edu/~nataraj/ISPD04_Bench.html.

Suggest Documents