Simulated Annealing Approach to Crosstalk Minimization in Gridded Channel Routing

The inter-wire spacing in a VLSI chip becomes closer as the VLSI fabrication technology rapidly evolves. Accordingly, it becomes important to minimize crosstalk caused by the coupling capacitance between adjacent wires in the layout design for the fast and safe VLSI circuits. We present a simulated annealing approach based on segment rearrangement to crosstalk minimization in an initially gridded channel routing. The proposed technique is compared with previous track-oriented techniques, especially a track permutation technique whose performance is bounded by an exhaustive track permutation algorithm. Experiments showed that the presented technique is more effective than the track permutation technique.


INTRODUCTION
The inter-wire spacing in a VLSI chip becomes closer as the VLSI fabrication technology rapidly evolves.It is known that the coupling capacitance between wires becomes comparable to or larger than the ground capacitance in MOS technologies as the wire-to-wire spacing(S) becomes smaller than ltm [1, 2] as shown in Figure 1. Figure  11 indicates the relative magnitudes of ground capacitance and coupling capacitance assuming that the thickness of field oxide (X) is equal to the height of the wire (G) [1].Moreover, coupling capacitance, the main source of crosstalk, can cause inadvertent logic transition.Therefore, it is important to minimize the crosstalk for the fast and safe VLSI circuits.For example, there have been proposed some techniques considering cross- talk in multi-chip module design.Cho et al. [3] proposed a layer assingment technique to mini- mize interference which includes crosstalk.Chen et al. [4] restricted the minimum distance between horizontal wires to satisfy the crosstalk constraints in the routing of horizontal inter-chip channels.
In VLSI layout design, there are two feasible approaches to consider crosstalk in channel *Corresponding author.1Cx, Cf, Cp.p, Cg, and Ctota indicate unit length coupling capacitance, fringing capacitance, parallel-plate capacitance, ground capacitance, and interconnection capacitance, respectively.Cg is Cf + Cp.p, and Ctota is C + Cg.
Interconnection capacitance and its trend, where X G tm, and W S is used as "Design Rule" [1].
routing.One is to use an unified objective function to minimize the crosstalk of nets as well as the number of tracks.However, routing problem with crosstalk constraints is more difficult to solve than conventional routing problem only to minimize the number of tracks because the objective function depends on relative positions as well as absolute positions of the wire segments.We are not aware of any proposed router using this approach.The other approach is to split the routing procedure into two phases, and to use different objective functions in each phase.In the first phase, the channel router minimizes the number of tracks.In the second phase, the objective is to minimize the crosstalk.Since this approach may utilize the existing channel routers [5, 6] in order to generate a routing in the first phase, it has lower time complexity than the former approach.In this paper, we focus on the second phase channel router.Recently, several layout techniques acceptable in the second phase have been introduced [7][8][9].Chaudhary et al. [7] presented a linear program- ming approach to increase/decrease the spacing between wire segments in order to optimize the interconnection delay and to reduce the crosstalk.Crosstalk minimization with this approach is limited because it cannot change ordering between wire segments.In addition, this technique may increase routing area [7].Gao et al. [9] proposed a crosstalk minimization technique based on track permutation with the initial gridded channel routing.They formulated an approximated mixed ILP(integer linear programming) problem for crosstalk minimization.But, the number of possi- ble permutations is limited by the ordering requirements among tracks imposed by the vertical constraints, which will be discussed later.
As a second phase router, we propose a cross- talk minimization technique based on the rearran- gements of segments constituting tracks.This problem has O(wInl) search space when there are no vertical constraints that restrict the rearrangements(w is the number of tracks, and In the number of wire segments).Gao et al. [9] solved a smaller and approximated version of our problem, i.e., crosstalk minimization based on track permutation by ILP solver whose complexity is not polynomial.No optimal algorithm with polyno- mial time complexity is known, even though NPcompleteness of our problem has not been proved so far.Thus, we employ a simulated annealing technique to solve our problem.Simulated anneal- ing technique is a well-known probabilistic hill climbing technique [10], which is guaranteed to find an optimal solution with probability one if the search process is executed infinitely.Kirkpatrick et al. applied first the annealing idea to the optimization problems such as placement, routing and traveling salesman problem.Afterwards, many researchers have applied the simulated annealing technique to such optimization problems [11][12][13][14].In this paper, we make use of the simulated annealing technique based on the rearrangement of horizontal wire segments.The basic rearrangements are 1) moving a horizontal wire segment (shortly segment) to another track and 2) swapping two sets of segments.The proposed technique establishes a cost function to be iteratively improved through rearrangements.However, it performs not only the rearrangements improving the cost but also those degrading the cost with non-zero probability in order to escape from the local optimal solutions.
While the unit of rearrangement in the previous track permutation technique [9] is a track, the unit of rearrangement in our technique is a horizontal wire segment constituting tracks.Even when the ordering of tracks is fixed, there are usually more chances of segment based rearrangements further reducing the crosstalk.With experiments, we observed that the proposed technique is more effective than the exhaustive track permutation technique.

PROBLEM FORMULATION
In a gridded channel routing problem, the routing is performed only over the horizontal grid lines (or tracks) and the vertical grid lines (or columns) as shown in Figure 2. Two layers are available for routing: one for the vertical routing, and the other for the horizontal routing.The connection be- tween wires in different layers is made through via (shown by x in Fig. 2) whose position is restricted to the grid points where the vertical and the horizontal grid lines intersect.Tracks are numbered from bottom to top, and columns are numbered from left to right as shown in Figure 2.
Let the number of tracks be w.The gridded channel routing problem is to connect all the pins of the same net number on the top and the bottom of the channel.The objective of the problem is usually to minimize the number of tracks w used.
First of all, we define the following notations.
[Lh, Rh]" the interval of the horizontal segment h, where L h is the left end column of the horizontal segment h, and Rh is the right end column of the overlap(hi, h:): the number of columns in the overlapped interval between two horizontal segments hi, h:.We may introduce jogs by splitting a segment h with an interval [Lh, Rh] into a set of segments with intervals, [Lh, L h q-1], [L h q-1, L h q-2],..., [Rh 1, Rh] during the rearrangement process.However, since this results in too much increase in the number of segments and the running time, we avoid jogs to simplify the problem.In other words, we assume that there are no changes in the intervals of horizontal segments.On the other hand, the upper end track and the lower end track of each vertical wire segment may change accord- ing to the track positions of the connected horizontal wire segments.Then, a solution state (or routing) during rearrangement process can be completely defined by the positions of horizontal wire segments.A state can be defined by a function T mapping each horizontal segment to one of w tracks as follows.
T'H {1,2,...,w}, where H is the set of the horizontal segments.But the state defined as above does not always indicate a valid routing.To be a valid state, each pair of horizontal segments h, h on the same track should not be overlapped, i.e., T(hi)= T(h) overlap(hi, h)= 0. Also, the horizontal segments should satisfy the ordering relations, Called vertical constraints, defined by the initial routing so that there should be no overlaps between vertical segments on a column.In Figure 2, the segment hi should always be placed above the segment h3 lest the vertical segments on column 5 should be overlapped.We denote by (hi, h) the vertical constraint that the segment hi should be placed above the segment h.Vertical constraint graph, abbreviated by VCG, is constructed from an initial routing.It is an acyclic directed graph where nodes represent horizontal segments, and edges represent vertical constraints.An example of VCG for from node g to node h.Node h is called a successor of node g.In Figure 3, h7 is a predecessor of hi l, and hll is a successor of h7.
The crosstalk of a net depends on the coupling capacitance of wires on the net with wires on the other nets.Since the coupling capacitance between two non-adjacent wires is shielded by the other wires in-between, the coupling capacitance can be assumed to exist only between two visible wires.When two wires are visible from each other as shown in Figure a, the coupling capacitance C is proportional to the length L of visible segment of wires, and inversely proportional to the distance S between two wires: C k,L/S 1"34 [15]2.The proposed technique is programmed considering only the coupling capacitances between wire segments in adjacent tracks or columns for simplicity although it can be easily extended to consider the coupling capacitances between visible non-adjacent wires.As the wire density of a channel grows, this approximation would ap- proach to our formulation.
The crosstalk of a net depends also on the signal transition rate on the net.We may take into account the transition rate on a net as a weighting factor for its crosstalk computation.For example, if net nl has larger worst-case signal transition rate than net n2, net n is assigned bigger weighting factor than net n2.If two nets ni, nj are adjacent, and their weights are wi and wj, the crosstalk between two nets would be scaled by a factor MAX(i, o), since we consider the worst case.However, in this paper the crosstalk of a net is assumed to be normalized by signal transition rates, for simplicity, to make the crosstalk depend solely on the coupling capacitance.
The coupling capacitance of a net.n in a routing, denoted CC(n), is the sum of Cv(n) and Ci-i(n), where Cv(n) (Ci-i(n)) is the sum of coupling capacitances between vertical (horizontal) seg- ments of net n and the other nets.The crosstalk slack of a net n, slack(n), is defined as UBn-CC(n), where UBn is the crosstalk upper bound (or crosstalk constraint) of net n.Each net usually has a different crosstalk upper bound.We define the minslaek of a state as the smallest slack in the routing, and the crosstalk critical nets as the nets which have the smallest slack.The net with negative slack violates the crosstalk constraint.Therefore, in order to satisfy the crosstalk constraints, we have to find a routing with non- negative minslaek.Also, in order to minimize the crosstalk, we should find a routing with the maximum minslaek.Since the minslaek indicates the safeness of the corresponding circuits, we can improve the safeness of the circuits by maximizing the minslaek.In Figure 2, assuming that the crosstalk upper bound for each net is 20, the nets 5, 7, and 8 violates the crosstalk constraints, since the slacks of the nets 5, 7, and 8 are -1, -3, and 14, respectively.
2Original formula for unit length coupling capacitance [15] is as follows.
Cx 0.03 -+ 0.83 0.07 Relative error of this formula is less than 10% for 0.3 < W/X < 10, 0.3 < G/X < 10, 05 < SIX < 10.We omitted process- dependent terms, since we can make the terms dependent on the process parameters (W, G, and X) into constant k for a given process.
TRACK PERMUTATION TECHNIQUES TO MINIMIZE THE CROSSTALK Here, we review Gao et al.'s track permutation technique which is based on approximated mixed ILP formulation.Then, our exhaustive track permutation technique is described, which is devised for comparison with the segment rearran- gement technique which is presented in the next section.
Gao et al. employ a few types of variables to represent vertical constraints among tracks and the cost function.The initial routing is given by w tracks, tl, t2,..., tw.T' denotes the function which maps each track ti to one of w tracks in the final routing.The variable T o. is defined to be if a track ti in the initial routing is mapped to j-th track position in the final routing, otherwise T is defined to be 0. The final track position, T'(ti) of track ti in the initial routing is represented by kW=lkTik.So, the vertical constraint (ti, tj) can be expressed as kW=l kTik 2Ekw= kTjk.Another type of variable is Pij variable, which represents adjacency between two tracks in the final routing.
Pq becomes 0 when track ti and tj are placed in the adjacent track positions in the final routing, otherwise Pi is O.The crosstalk of a segment h of a net in the final routing is represented by Pi variable as 'all j< Pfi Sj-F all j> eij Sj, where Sj denotes Estj overlap (h, s), the sum of overlaps between the segment h and all the segments on track tj in the initial routing.However, the crosstalk between some vertical segments cannot be represented exactly with this formulation.For example, when a dogleg segment and other vertical segment are adjacent as shown in Figure 4(a), the crosstalk between them is estimated with a fixed value, the half of the length of the dogleg segment in the initial routing.In addition, the crosstalk between two vertical segments connected to the same side (top or bottom) as shown in Figure 4(b) is estimated with a fixed value which is also computed based on initial routing.Note that the latter case occurs very frequently in the actual routing examples.Since the cost function of Gao FIGURE 4 Cases where the crosstalk between vertical segments cannot be represented in linear programming style.
et al.'s is not exact, their approach cannot be guaranteed to find an optimal solution even to the problem of crosstalk minimization based on track permutation.
On the other hand, our exhaustive track permutation technique is based on the exact formulation, and explores the whole valid solution space which is reduced by the vertical constraint.Therefore, the formance of the exhaustive track permutation algorithm defines the upper bound of all track permutation techniques including Gao et al.'s.Our idea of track permutation is driven by the systematic exchange of two tracks in the given routing.The technique is illustrated by displaying the permutation process for the character string (or routing with four tracks) "abcd" in the Figure 5, where each character in the string corresponds to a track in the routing.In the first level, three more permutations are generated from FIGURE 5 Exhaustive generation of permutations for string "abcd".
"abcd" by exchanging the character in the first position with the characters in the other positions.The two numbers in the parenthesis mean the positions where the characters in the left string are exchanged to get the right string.In the second level, we generate two more permutations for each permutation generated in the first level based on the similar exchange operation.But, the first character in each string is fixed, and the second character in the string is exchanged with the characters in the remaining positions.If this procedure continues to the (w-1)-th level, all the possible permutations of the string "abcd" are generated.
In Figure 5, if (a, b) is the vertical constraint defined by the initial routing, the string "bacd" violates the vertical constraint, and the permutations generated in j( > 1)-th level from "bacd" also violates the constraint, since b' is fixed in the first position.Therefore, in order to reduce the explored solution space, we do not try to generate more permutations from the (i+ 1)-th level for each permutation which violates the vertical constraints in i-th level.
The worst case time complexity of the algorithm is O(w!*IHI), where [H means the number of horizontal segments, and the time taken to compute the cost of each generated routing.However, since w is rather small (10-30) for the practical size examples, and the vertical constraints usually reduces the explored solution space, the proposed technique can be applied to the real examples.

SIMULATED ANNEALING APPROACH TO MINIMIZE THE CROSSTALK
In this section, we propose a simulated annealing approach to crosstalk minimization based on segment rearrangements from the initial routing.
Track Permutation vs. Segment Rearrangement The track permutation technique [9] is not efficient at maximizing the minslack in cases where the possible number of permutations is small due to the vertical constraints.In Figure 2, the ordering between track and 2 is fixed, and the ordering among track 3, 4, and 5 is also fixed, so only track 2 and 3 can be exchanged.If we set UBn for each net n to 20, the slacks become -2, -6, and -13 for the nets 5, 7, and 8 respectively after the track permutation (2:3).But, if we apply the segment rearrangement technique, we can get the routing with the minslack O, which satisfies the crosstalk constraints as shown in Figure 6.
The unit of rearrangement in the proposed approach is a segment.The basic rearrangements are 1) the movement of a segment to another track, called "move", and 2) the swapping of two sets of segments in two different tracks, called "swap".A swap rearrangement in a routing T is defined by a 4-tuple, (tl, pl, t2, P2), where Pl C_{hlT(h) tl},P2 {glT(g)= t2}.Ifeitherpl orp2 is an empty set, swap rearrangement becomes move rearrangement.Therefore, the 4-tuple repre- sents both move and swap.In the new state T' obtained by applying the swap to the state T, Pl is placed on track t2, and p2 on track tl.We call a swap valid if the new state is a valid routing.A valid swap should satisfy the following two constraints.First, a valid swap should not cause horizontal segments to overlap in a new state.Or, the following conditions should be satisfied.overlap(gi, hi) 0 Vgi {gl T (g)  Second, a valid swap should not make vertical segments overlap in a new state.In other words, when tl < t2, the predecessors of pl should be above t2, and the successors of P2 should be below tl.This constraint can be formulated as follows.
T(g) > t2 Vg E PRED(pl), T(h)tl Vh SUCC(p2), where PRED(pl) means the set of predecessors of Pl, and SUCC(p2) means the set of successors of P2.
A valid swap is called profitable swap when its application leads to the state with increased minslack or to the state with the same rninslack but with the smaller number of critical nets.

Simulated Annealing Algorithm Based on Swap
Annealing process is used to grow a crystal from a melted material, i.e., determines the low energy state of the material by first melting the substance, then lowering the temperature slowly, and spending a long time at temperatures in the vicinity of the freezing point [10].In the proposed simulated annealing technique, particles of a material in the annealing process correspond to horizontal seg- ments of a routing.Our simulated annealing algorithm employs valid swaps as basic move operations on the given routing, and its objective is to get a routing with the maximum minslack.So, the cost function is minslack defined in the problem formulation section.The algorithm to control the application of valid swaps is illustrated in Figure 7.
The algorithm generates a random valid swap and applies it if it is profitable (step 5).Even though it is not profitable (or rninslack is decreased), the swap is applied (step 6) if a generated random number is smaller than the acceptance probability.The magnitude of acceptance probability, e /t is proportional to the current temperature t, and inversely proportional to the cost difference [6[ (or minslack decrement).
Therefore, at high temperature, the unprofitable swaps are more likely to be allowed.However, at low temperature, such swaps are not usually allowed except swaps with smallest cost difference, i.e., the search process tends to become greedy.
The temperature is decremented stepwisely (step 7) whenever the equilibrium condition is satisfied at each temperature.The process continues until the frozen or termination condition is satisfied (step 2).
The performance of a simulated annealing algorithm usually depends on the move set design and the annealing schedule.In our approach, the move set is the set of valid swaps (step 4) applicable to the current routing.Annealing schedule consists of four components; initial hot temperature (step 1), temperature decrement (step 7), equilibrium condition (step 3), and frozen or termination (step 2) condition.
We employ a simple schedule similar to that of [11] as follows.The initial hot temperature is determined by the formula, linitial minslack IHI.The current temperature is decremented by the formula, t=t,z.Equilibrium is considered established if the number of the accepted states are more than fl*lHI.The constants a and /3 are determined, based on experiments so they results in good performance and reasonable amount of running time.We set a and fl to 0.90 and 5, respectively.We terminate the annealing process if the finally accepted states at the end of inner loop are the same three times in succession.EXPERIMENTAL

RESULTS
The proposed technique, named SA (Simulated Annealing), was implemented in C-language on a Sun-Sparc2 workstation.An exhaustive track permutation algorithm, named EXTP, was also implemented for the performance comparison with SA.The performance obtained by Gao et al.'s approach [9] is bounded by the performance of EXTP.
Each test example consists of the specification on the vertical and the horizontal segments, the upper bound of the crosstalk for each net, and an initial routing solution (track positions for each horizontal segments).The test examples used in experiments have the characteristics shown in Table I.The test example exl has the the same initial routing solution as shown in Figure 2, with the same crosstalk upper bound for each net which is 20.The test examples small2, yk3c, dl, deutsch were used in [9].These test examples have the same initial routings to those used in [9], but small2, yk3e, dl have different crosstalk constraints from those used in [9]3.were used in YACR [6], and their crosstalk upper bounds were set randomly.The other examples were made randomly.The initial routing solutions of the test examples were either provided by the author of the paper [9] or generated by a channel router [16].The example deutsch' is different from the example deutseh only in terms of the crosstalk upper bounds of nets.The data in the parenthesis are cited from [9] to compare with those of EXTP and SA.
The running times of Gao et al.'s approach for yk3c and dl are over 6 minutes according to Gao as shown in Table II.Considering that RS/6000 is about 10 times faster than Sparc2, 4 the running times will be over hour in Sparc2 time.The time complexity of the algorithm solving ILP problem is not polynomial with respect to the number of integer variables.The linear integer programming formulation of track permutation problem re- quires O(w2) integer variables.Thus, its time complexity is roughly comparable to EXTP at least for the test examples we used in this paper.
We compared two techniques, SA and EXTP to see the performance difference between track permutation and segment rearrangement.The com- parison results are shown in Table II.Table II displays the minslacks of initial routings, the maximum minslacks achieved by two techniques, and the times spent by two techniques in Sun-Sparc2 seconds for each test example.Since SA is not a deterministic algorithm, we ran SA 10 times for each test example.So, we display the best rninslack and the average minslack.In addition, the execution time of SA indicates the average termination time.We display the time spent by EXTP to indirectly show how many track permu- tations each test example has.For all examples, SA satisfies the crosstalk constraints and has no smaller minslack than EXTP.Performance (minslack) difference between EXTP and SA is not significant for the test examples that have only a Therefore, out results are different from those presented in Gao et al.'s paper [9].We asked Gao to provide the same crosstalk constraints for those examples, but we are still waiting for his reply. 4    To examine the effect of upper bounds on the solution state, we modified the crosstalk upperbounds of a few nets of the deutsch example to make the deustch' example.It changes the order of segment rearrangements, which affects the running time of the algorithm.We noticed the significant distinction on the performance between SA and EXTP in this example.We determined the annealing parameters, a and fl, based on experiments.Table III shows the average minslack and the average running time of our algorithm according to changes of the anneal- ing parameters.The bigger parameter fl is, the longer time the algorithm takes to reach the equilibrium state.The closer to parameter a is, the smaller the temperature decrement is.Unexpectedly, however, slowing down the temperature decrement does not always lead to better performance in spite of the larger execution time.It seems that the performance is more sensitive to para- meter /3 than parameter a.Thus, we select the combination, a/= 0.90/5, since it leads to reason- able amount of running time and good performance.

SUMMARY AND FUTURE WORKS
This paper proposes a crosstalk minimization technique based on segment rearrangement for gridded channel routing.We make use of the simulated annealing approach, a well-known probabilistic hill climbing technique.With experi- ments, we observed that the presented technique is more effective than the track permutation techni- que: especially, for the test examples that have only a few chances of track permutation or for the test examples that have relatively large number of segments on a track.
However, the time complexity of simulated annealing technique is rather high.In order to reduce the running time, we may need to find a more suitable annealing schedule.We developed another heuristic [17], which repeatedly rearranges horizontal segments around the crosstalk critical nets to rapidly improve minslack.However, it may sacrifice performance (minslack).
As future works, We may need to extend our proposed approach to more general routing models such as overlap routing model, three or more layer routing model, and PCB routing model.

Figure 2 FIGURE 3
Figure 2 is shown in Figure 3. Node g is said a predecessor of node h if there is a directed path The test examples 3a and 3c

TABLE The
This comparison is based on linpack computation.

TABLE II The
But the performance of EXTP degrades signifi- cantly for the test examples that have a few track permutations such as exl, randl, and rand3, or for the test examples which have relatively greater number of segments on a track such as deutsch' and dl.The total numbers of track permutations of test examples small2, deutseh, randl, rand2, and rand3 are 6, 55, 2, 164, and 3, respectively.

TABLE III
The experiments to show performance dependency on the annealing parameters