10.1.1.24.5105

6
Crosstalk-Constrained Maze Routing Based on Lagrangian Relaxation Hai Zhou and D.F. Wong Department of Computer Sciences University of Texas at Austin Austin, TX 78712-1188 Abstract With the increasing density of VLSI circuits, intercon- nection wires are getting packed even closer. This has increased the effect of interaction between wires on cir- cuit performance and hence, the importance of control- ling crosstalk. Maze routing is a robust and general approach which can be used in many situations includ- ing multi-layer interconnections. In this paper, we con- sider crosstalk avoidance in maze routing. The crosstalk- constrained maze routing problem is first formulated. Then we show it is equivalent to the multi-constrained shortest path problem and is strongly NP-complete. Based on the Lagrangian relaxation technique, an effective heuristic al- gorithm is designed to solve the problem. 1 Introduction With VLSI fabrication entering the deep sub-micron era, devices and interconnection wires are being placed at an ever increasing proximity. Reduction in the intercon- nection and transistor switching delays results in faster sig- nal transition times. All these factors increase the coupling effect (inductive and capacitive) between interconnection wires. Increased coupling effect not only increases signal delays, but also decreases signal integrity due to transmis- sion line behavior. This phenomenon is called crosstalk [2]. Previous works on crosstalk avoidance in detailed rout- ing of ICs use spacing, track permutation, segment permu- tation, and layer assignment to reduce crosstalk [3, 5, 6, 9, 13, 14]. These works are mainly focused on a channel or a switchbox. As VLSI technologies evolved, multi-layers of interconnection are commonly available. In multi-layer technology, channels are no longer accurate models for routing resources. In fact, maze routing is a robust and general approach which can be used in this situation. In this paper, we deal with how to control crosstalk in maze routing. Maze routing belongs to the category of se- quential routing algorithms, that is, it routes only one sin- gle net at a time. After a net has been routed, the area occupied by its wiring will be marked as obstacles to the unrouted nets. When routing a net in the presence of ob- stacles and routed nets, besides crosstalk induced on the current net, extra crosstalk may be created on other routed nets by the current one. Therefore, we need to consider how to simultaneously control crosstalk on each net when routing a new net. Under a simplified crosstalk model and the assumption of two-terminal nets, we formulate it as a crosstalk-constrained maze routing problem. It is then modeled as a multi-constrained shortest path prob- lem and shown to be strongly NP-complete. Based on the Lagrangian relaxation technique, an effective heuristic al- gorithm is designed to solve it. This approach is so robust that it can be easily modified to accommodate more general crosstalk models and multi-terminal nets. The rest of the paper is organized as follows: Section 2 gives the formulation of the crosstalk-constrained maze routing problem. Section 3 discusses the complexity of the problem. In Section 4 we present a heuristic algorithm for the problem which is based on the Lagrangian relaxation technique. Section 5 considers extensions to more general crosstalk models and multi-terminal nets. Finally, Section 6 concludes the paper with experimental results. 2 Problem formulation In maze routing, the entire routing area is represented as a -layer grid graph. All pins, edges of bounding boxes that enclose the cells are aligned on the grids. Each edge in the graph represents a track that can accommodate exactly one wire. If obstacles obstruct the routing region, the ob- structed edges are deleted from the graph and a subgraph of the -layer graph results. To simplify our presentation, we use only one layer in this paper. The extension to lay- ers is straight-forward. Given a set of nets, each of which is defined by a set of pins need to be connected, a routing so- lution is defined as a collection of node-disjoint trees each connects all pins in one net. Generally speaking, crosstalk between two parallel straight wires is proportional to the coupling capacitance between them, which in turn is proportional to their cou- pling length and inversely proportional to their separat- ing distance. Since the coupling capacitance between two wires decreases rapidly as the distance between them

Transcript of 10.1.1.24.5105

Page 1: 10.1.1.24.5105

Crosstalk-Constrained Maze Routing Based on Lagrangian Relaxation

Hai Zhou and D.F. WongDepartment of Computer Sciences

University of Texas at AustinAustin, TX 78712-1188

AbstractWith the increasing density of VLSI circuits, intercon-

nection wires are getting packed even closer. This hasincreased the effect of interaction between wires on cir-cuit performance and hence, the importance of control-ling crosstalk. Maze routing is a robust and generalapproach which can be used in many situations includ-ing multi-layer interconnections. In this paper, we con-sider crosstalk avoidance in maze routing. The crosstalk-constrained maze routing problem is first formulated. Thenwe show it is equivalent to the multi-constrained shortestpath problem and is strongly NP-complete. Based on theLagrangian relaxation technique, an effective heuristic al-gorithm is designed to solve the problem.

1 IntroductionWith VLSI fabrication entering the deep sub-micron

era, devices and interconnection wires are being placed atan ever increasing proximity. Reduction in the intercon-nection and transistor switching delays results in faster sig-nal transition times. All these factors increase the couplingeffect (inductive and capacitive) between interconnectionwires. Increased coupling effect not only increases signaldelays, but also decreases signal integrity due to transmis-sion line behavior. This phenomenon is calledcrosstalk[2].

Previous works on crosstalk avoidance in detailed rout-ing of ICs use spacing, track permutation, segment permu-tation, and layer assignment to reduce crosstalk [3, 5, 6, 9,13, 14]. These works are mainly focused on a channel ora switchbox. As VLSI technologies evolved, multi-layersof interconnection are commonly available. In multi-layertechnology, channels are no longer accurate models forrouting resources. In fact, maze routing is a robust andgeneral approach which can be used in this situation.

In this paper, we deal with how to control crosstalk inmaze routing. Maze routing belongs to the category of se-quential routing algorithms, that is, it routes only one sin-gle net at a time. After a net has been routed, the areaoccupied by its wiring will be marked as obstacles to theunrouted nets. When routing a net in the presence of ob-

stacles and routed nets, besides crosstalk induced on thecurrent net, extra crosstalk may be created on other routednets by the current one. Therefore, we need to considerhow to simultaneously control crosstalk on each net whenrouting a new net. Under a simplified crosstalk modeland the assumption of two-terminal nets, we formulateit as acrosstalk-constrained maze routing problem. It isthen modeled as amulti-constrained shortest path prob-lemand shown to be strongly NP-complete. Based on theLagrangian relaxation technique, an effective heuristic al-gorithm is designed to solve it. This approach is so robustthat it can be easily modified to accommodate more generalcrosstalk models and multi-terminal nets.

The rest of the paper is organized as follows: Section2 gives the formulation of the crosstalk-constrained mazerouting problem. Section 3 discusses the complexity of theproblem. In Section 4 we present a heuristic algorithm forthe problem which is based on the Lagrangian relaxationtechnique. Section 5 considers extensions to more generalcrosstalk models and multi-terminal nets. Finally, Section6 concludes the paper with experimental results.

2 Problem formulationIn maze routing, the entire routing area is represented

as ak-layer grid graph. All pins, edges of bounding boxesthat enclose the cells are aligned on the grids. Each edge inthe graph represents a track that can accommodate exactlyone wire. If obstacles obstruct the routing region, the ob-structed edges are deleted from the graph and a subgraphof thek-layer graph results. To simplify our presentation,we use only one layer in this paper. The extension tok lay-ers is straight-forward. Given a set ofnets, each of which isdefined by a set of pins need to be connected, arouting so-lution is defined as a collection of node-disjoint trees eachconnects all pins in one net.

Generally speaking, crosstalk between two parallelstraight wires is proportional to the coupling capacitancebetween them, which in turn is proportional to their cou-pling length and inversely proportional to their separat-ing distance. Since the coupling capacitance betweentwo wires decreases rapidly as the distance between them

Page 2: 10.1.1.24.5105

increases, we assume that crosstalk only exists betweenwires in adjacent rows or columns. Furthermore, we willset the proportion constant to 1 and treat the adjacent lengthbetween two wires as their crosstalk. The total crosstalkon one net is then defined as the summation of crosstalkinduced on it. This is a simplified crosstalk model whichwas also used in [5, 6, 14]. It is used here to simplify thepresentation. More general models can be easily adoptedand will be presented in Section 5.

Suppose there aren nets. Then, for each neti, where1 � i � n, a constantCi will be given as the maximumcrosstalk neti can tolerate. For any routing solution, letRidenote the crosstalk on neti for 1 � i � n. If Ri � Ci,for all 1 � i � n, the routing solution is called afeasiblerouting solution. For example, under the above crosstalkmodel, the crosstalk of the nets shown in Figure 1 is:R1 =2+7+1 = 10; R2 = 2+2 = 4; R3 = 5+3+7+2+1 =18; R4 = 5 + 3 = 8.

2

2

2

1

1

3

3

3

4

4

4

2 7

12

3

5

Figure 1: A routing solution and its crosstalk

Since simultaneously routing all nets is prohibitivelycomplicated, a sequential routing approach is adopted here.First, an order is decided on all nets. Then, nets are routedone at a time according to that order. After routing one net,the area used by that net is no longer available to other netsand will be treated as obstacles. Obviously, net ordering isof great importance in this approach. But there is no gen-erally agreed method to compute it. In practice, rip-up andre-route is heavily employed to alleviate the dependence onnet ordering. Therefore, the main problem in maze routingis how to route one net in the presence of obstacles androuted nets. We first consider only two-terminal nets here.Extension to multi-terminal nets will be given in Section 5.

When routing a net among previously routed nets, be-sides crosstalk on the current net, there is also extracrosstalk induced on other routed nets. Therefore, it is nec-essary to control the crosstalk on all nets simultaneously.This can be formulated as the following problem.

Problem 1 (Crosstalk-Constrained Maze Routing(CCMR)) Suppose we have a grid routing graph and

nets1; 2; : : : ;m � 1 are already routed on it. Given netm with two pinsp1; p2 and crosstalk constraintsCi, for1 � i � m, find a shortest route for netm such thatRi � Ci for all 1 � i � m.

Traditional maze routing algorithms route a net by ashortest path or a minimum bend path and can also be mod-ified to accommodate various constraints and path selec-tion criteria [11]. But it is hard to modify them to solvethe CCMR problem, since what required here is not min-imizing the total crosstalk but balancing crosstalk amongdifferent nets. This can be illustrated by the example inFigure 2.

1

1 1

2

2 2

3

3 3

4

4 4

1

2 3 4

p1

p2

(a) (b)

(c) (d)

Figure 2: (a)A CCMR problem: nets 1, 2, 3, 4 arerouted and net 5 is(p1; p2); C1 = 2; C2 = 3; C3 =30; C4 = 36; C5 = 35. (b)Shortest path route (not fea-sible): R1 = 12; R2 = 20; R3 = 4; R4 = 0; R5 = 32.(c)Minimum total crosstalk route (not feasible):R1 =11; R2 = 2; R3 = 4; R4 = 0; R5 = 13. (d)Optimal so-lution: R1 = 0; R2 = 2; R3 = 19; R4 = 15; R5 = 323 Complexity

Given an instance of the CCMR problem, we can con-struct a vector-weighted graph as follows. The grid nodesand edges which are occupied by the obstacles and previ-ously routed nets are removed from the grid graph. Eachremaining edgee will have a vector(ve1; ve2; : : : ; vem) as itsweight, wherevei equals to the crosstalk induced on netiif netm is routed on edgee. For example, given a CCMR

Page 3: 10.1.1.24.5105

problem shown in Figure 3(a), the correspondent graph isconstructed in Figure 3(b).

1

2

3

(0, 1, 1, 2)(0, 1, 0, 1)

(0, 0, 1, 1)

(1, 1, 0, 2)

(1, 0, 0, 1)

(a) (b)

Figure 3: (a)A CCMR instance (b)Corresponding vector-weighted graph (edges not labeled have weight (0,0,0,0))

It can be shown that solving the CCMR problem isequivalent to solving the following problem.

Problem 2 (Multi-Constrained Shortest Path (MCSP))Given a vector-weighted graph, two nodess and t in thegraph, and a set of constantsB1; B2; : : : ; Bn, find a short-est pathP from s to t such that

Pe2P vei � Bi;81 � i �n.

By treating the edge length as another dimension in theweight vectors, the decision version of the above problemcan be stated as follows.

Problem 3 (MCSP-Decision) Given a vector-weightedgraph, two nodess and t in the graph, and a set of con-stantsB1; B2; : : : ; Bn+1, find a pathP from s to t suchthatPe2P vei � Bi;81 � i � n+ 1.

This problem is similar to the Shortest Weight-Constrained Path (SWCP) problem in [7]. But SWCPproblem is weakly NP-complete, and can even be solvedin polynomial time if all weights are equal or all lengthsare equal. However, for MCSP problem, we have the fol-lowing result.

Theorem 1 MCSP-Decision problem is strongly NP-complete.

Proof: Given an instance of MCSP-Decision problem,a path froms to t can be checked in polynomial time tosee whether the constraints are obeyed. This means thatMCSP-decision problem is in NP.

We will show that MCSP-Decision is strongly NP-hardby transforming 3-PARTITION [7] to it. 3-PARTITION isdefined as follows.

INSTANCE: SetA of 3m elements, a boundB 2 Z+, and a sizes(a) 2 Z+ for eacha 2 Asuch thatB=4 < s(a) < B=2 and such that

Pa2A s(a) = mB.QUESTION: CanA be partitioned intom dis-joint setsA1; A2; : : : ; Am such that, for1 � i �m;Pa2Ai s(a) = B?

Given one of the instances described above, wecan construct an instance of MCSP-Decision as fol-lows. Denote the elements inA by a1; a2; : : : ; a3m.Corresponding to eachai; 1 � i � 3m, we willhave m + 1 nodes si; ti1; ti2; : : : ; tim and m edges(si; ti1); (si; ti2); : : : ; (si; tim). The weight vector of edge(si; tij) is defined as follows: all elements are 0 except thejth element, which will bes(ai). The nodes and edgesfor different elements will be connected by adding edges(tij ; si+1) for 1 � i � 3m � 1; 1 � j � m. We will addone more nodet andm more edges(t3m;j ; t); 1 � j � m.The weights of all the newly-added edges will be 0. Thiswill give us a weighted graph as shown in Figure 4. Wewill set the constraintsB1 = B2 = � � � = Bm = B.

s1

t11

t12

t1m

t21

t22

t2m

t3m1

t3mm

t

t3m2

s2

Figure 4: An instance constructed from 3-PARTITION

Now, suppose there is a pathP from s1 to t such thatPe2P vej � B;81 � j � m. According to the construc-tion, there are only3m non-zero weight edges on the path,that is, Xe2P vej = X1�i�3m;tij2P v(si;tij)j= X1�i�3m;tij2P s(ai)� BHence, the following partition is a YES witness for the

3-PARTITION:Aj = faijtij 2 Pg; 1 � j � mOn the other hand, suppose there is a partitionA1; A2; : : : ; Am such that, for1 � i � m;Pa2Ai s(a) =B. Then, we can choosetij to be on the path if and only

if ai 2 Aj . It is easy to check that such a path fulfills theconstraints of MCSP-Decision problem.

Page 4: 10.1.1.24.5105

4 A heuristic based on Lagrangian relax-ation

As we have found in the NP-completeness proof, thedifficulty of MCSP problem comes from the requirementto balance costs among different dimensions of the weightvector. Since minimizing the weighted sum of all dimen-sions in the weight vector can be easily solved, an alterna-tive way to balance the costs is first giving relative weightfor each dimension and then minimizing the weighted sumof them. Lagrangian relaxation is a way to search betterrelative weights by iteratively adjusting them, and hence,will be used to solve the MCSP problem.

Given an MCSP problem, by relaxing the constraintsinto the objective function, that is, giving relative weightsto the constraints, we have the following problem.

Problem 4 (Lagrangian Sub-Problem (LSP)) Given aninstance of MCSP and a set of non-negative constants�1; �2; : : : ; �n, find a pathP in the graph such thatPe2P 1 +Pni=1 �i(Pe2P vei �Bi) is minimized.

Usually, the constants�1; �2; : : : ; �n are called La-grangian multipliers. Note thatXe2P 1 + nXi=1 �i(Xe2P vei �Bi)= Xe2P(1 + nXi=1 �ivei )� nXi=1 �iBi;where

Pni=1 �iBi is constant for fixed multipliers. There-fore, by treating1+Pni=1 �ivei as the weight on edgee, wecan solve the LSP problem efficiently by Dijkstra’s shortestpath algorithm [4]. LetL(�1; : : : ; �n) denote the optimalobjective of the above problem, that is,L(�1; : : : ; �n) = minP fXe2P 1 + nXi=1 �i(Xe2P vei �Bi)g:The Lagrangian multiplier problem for MCSP is as fol-lows.

Problem 5 (Lagrangian Multiplier Problem (LMP))

Maximize L(�1; : : : ; �n)subject to �i � 0;81 � i � n

It is obvious that for any�i � 0; 1 � i � n,minP fXe2P 1 :Xe2P vei � Bi; 1 � i � ng� minP fXe2P 1 + nXi=1 �i(Xe2P vei �Bi) :

Xe2P vei � Bi; 1 � i � ng� minP fXe2P 1 + nXi=1 �i(Xe2P vei �Bi)g= L(�1; : : : ; �n):Because the above inequality is true for any�i �0; 1 � i � n, it is also true for specific�is which makeL(�1; : : : ; �n) maximum, that is,minP fXe2P 1 :Xe2P vei � Bi; 1 � i � ng� max�1;:::;�n L(�1; : : : ; �n):

This means that the optimal solution of the LMP problem isalways a lower bound of the MCSP problem. This propertyalso gives the following optimality criteria for the MCSPproblem.

Theorem 2 If we have a pathP such thatPe2P vei � Bi

for all 1 � i � n, andPe2P 1 = L(�1; : : : ; �n) for some�i � 0; 1 � i � n, thenP is an optimal solution to the

MCSP problem, and�i, for 1 � i � n, is an optimalsolution to the corresponding LMP problem.

As stated by the following theorem, the LMP problemhas a very good property for optimization.

Theorem 3 The LMP is a convex programming problem.

Based on the theorem, non-linear programming tech-niques can be used to solve the LMP problem. SinceL(�1; : : : ; �n) as a function is not everywhere differen-tiable, sub-gradient method is the usual approach. Thepseudo-code of this approach can be described as follows.

Algorithm Sub-gradient Method for LMP1. k = 0;�i = 0;81 � i � n;2. Solve the LSP by Dijkstra’s algorithm;3. If stop criteria is satisfied, halt;4. Else�i = maxf0; �i + �k(Pe2P vei �Bi)g,81 � i � n; k = k + 1; goto 2.

The general theory for sub-gradient method states thatif �k ! 0 and

Pkj=1 �j ! 1 as k ! 1, the abovealgorithm will converge to the optimal solution [1].

The only problem with this approach is that there mayexist a “gap” between MCSP and its corresponding La-grangian multiplier problem. That is, it is possible thatminfXe2P 1 :Xe2P vei � Big > maxL(�1; : : : ; �n):

Page 5: 10.1.1.24.5105

Actually, solving MCSP problem is just one step in thewhole scenario of a sequential maze routing. So, it isnot necessary to spend too much time to get an optimalsolution for MCSP. We will set up an upper bound onthe number of iterations. During the iterations, we alsorecord feasible solutions, that is, those pathsP such thatPe2P vei � Bi. If the sub-gradient method did not givethe optimal solution within those iterations, we will use theshortest one of the recorded feasible paths as our solution.

5 ExtensionsIn previous sections, to simplify the presentation, we

based our work on a simplified crosstalk model and two-terminal nets. Actually, our Lagrangian relaxation basedapproach is such a robust method that it can be easily ex-tended to multi-terminal nets and more general crosstalkmodels.

5.1 Multi-terminal netsFor multi-terminal nets, our objective is to find a min-

imum length Steiner tree route such that the crosstalk oneach net is under constraint. But even without consider-ing crosstalk, finding a minimum length Steiner tree is NP-hard [7]. Fortunately, there are many heuristic algorithmsexist in the literature [8]. Many of them have proven worst-case upper bounds and produce good results in practice.

Using our Lagrangian relaxation based approach, whenrouting a multi-terminal net, the crosstalk constraints arealso relaxed into the objective function. Instead of a pathP , the resulting LSP needs to find a Steiner treeT , suchthatPe2T 1 + Pni=1 �i(Pe2T vei � Bi) is minimized.

Similarly, this can be solved by finding a minimum Steinertree on a weighted graph. Although this can not be solvedexactly, any minimum Steiner tree heuristic on weightedgraphs can be used to find an approximate solution.

5.2 More general crosstalk modelIn practice, besides coupling capacitance, crosstalk be-

tween two nets also depends on their functional and tem-poral sensitivities [10] and the relative drive strengths oftheir drivers. Therefore, two nets may not have crosstalkeven they are routed closely, and for two adjacent wires,crosstalk induced on one wire may not equal to crosstalkinduced on the other. In this case, we only need to changethe weight vectors to represent the actual crosstalk induceon each net.

In previous sections, crosstalk is only considered be-tween adjacent wires. That is a very reasonable modelsince, on one hand, the coupling capacitance decreasesrapidly as the distance increases; on the other hand, ifthere is space between wires, shielding wires can be in-serted when necessary. However, if crosstalk between non-adjacent wires must be considered, our approach can alsobe extended. In this case, the coupling capacitance can be

computed as follows.

coupling-capacitance= � length

distance� ;where� is a small constant which was estimated to beabout 2 in [12].

The only difference between non-adjacent model andthe adjacent one is that, in non-adjacency model, we mustconsider the effect of shielding. That is, when a newnet is routed between two previously routed ones, it mayshield one of them from the other, and therefore decreasecrosstalk on them. This can be illustrated in Figure 5.This effect can be taken into consideration by changing theweights of edges as follows. Suppose edgee lies betweenrouted netsi andj, andcij is the crosstalk between netiand netj which might be shielded bye. Let ci andcj de-note the crosstalk betweene and netsi andj, respectively.Then we can setvei = ci � cij andvej = cj � cij insteadof vei = ci andvej = cj . If ci < cij or cj < cij , nega-tive weight elements are introduced. Therefore, Dijkstra’salgorithm can not be used. Instead, we can use Bellman-Ford algorithm to compute the shortest path [4].

i j i j

k

Figure 5: Crosstalk between netsi andj is shielded by anewly routed netk

Note that it can not be guaranteed to find a shortest pathin terms of the weighted sum of crosstalk. This is becausewhen a net is routed in an empty U-form as shown in Fig-ure 6, it will shield some segments of itself from other nets.Therefore, the total weight of a path may not be equal tothe sum of the weights of its component paths, and a com-ponent of an optimal path may not be an optimal one. Butsince we do not favor such empty U-forms in practice, thelittle overestimation may help us to avoid it.

6 Experimental resultsWe implement the Lagrangian relaxation based mazing

routing algorithm in C++ on a Sun Sparc 5 workstation.Although our algorithm can be applied to multi-layer rout-ing, the current implementation is only designed for two-layer routing in the HV model (i.e. one layer for horizontalwiring and one layer for vertical wiring). We do the ex-periments on the MCM benchmarks originated from 1993

Page 6: 10.1.1.24.5105

i j

a

b c

d

Figure 6: An empty U-form routing shields segmentabfrom netj, and segmentcd from netiPhysical Design Workshop. These benchmarks are com-posed of multi-terminal nets and are intended for multi-layer routing. In the experiments, we first use the generalmaze routing (shortest path without considering crosstalk)to route as many nets as possible. This gives us a maximumnumber of nets which can be routed on a pair of layers. Wethen measure crosstalk on each net in this routing solutionand call it thebase crosstalkof that net. We systematicallyset the crosstalk constraint for each net to be a percentageof its base crosstalk and run our algorithm on it using thesame net ordering. For comparison, we run once again thegeneral maze routing on those nets. This time, after routinga net, we also compute its crosstalk. If the crosstalk violatethe constraints, the current net is removed. We compare thenumbers of feasibly routed nets by these two approachesand find that our algorithm can feasibly route more than30% more nets than the general maze routing in average.

Figure 7 plots one of such experimental results onmcm1 by setting the constraint of each net respectively tobe 70%, 60%, 50%, 40%, and 0% of its base crosstalk.

140

160

180

200

220

240

260

280

300

320

0 10 20 30 40 50 60 70 80

#fea

sibl

e ne

ts

constraints (as % of base crosstalk)

general maze routingcrosstalk maze routing

Figure 7: Comparison of the numbers of feasibly routednets by the two algorithms

References[1] R.K. Ahuja, T.L. Magnanti and J. B. Orlin,Network

Flows: Theory, Algorithms, and Applications.Pren-tice Hall, 1993.

[2] H.B. Bakoglu,Circuits, interconnections and pack-aging for VLSI.Addison-Wesley, 1990.

[3] K. Chaudhary, A. Onozawa and E.S. Kuh, A SpacingAlgorithm for Performance Enhancement and Cross-talk Reduction.IEEE/ACM International Conferenceon Computer Aided Design,1993.

[4] T.H. Cormen, C.E. Leiserson, and R.L. Rivest,Intro-duction to Algorithms.The MIT Press, 1990.

[5] T. Gao and C.L. Liu, Minimum Crosstalk Chan-nel Routing.IEEE/ACM International Conference onComputer Aided Design,1993.

[6] T. Gao and C.L. Liu, Minimum Crosstalk Switch-box Routing.IEEE/ACM International Conferenceon Computer Aided Design,1994.

[7] M.S. Garey and D.S. Johnson,Computers andIntractability: A Guide to the Theory of NP-Completeness.W. H. Freeman, New York, 1979.

[8] F.K. Hwang, D.S. Richards, and P. Winter,TheSteiner Tree Problem.North-Holland, 1992.

[9] D.A. Kirkpatrick and A.L. Sangiovanni-Vincentelli,Techniques for Crosstalk Avoidance in the Physi-cal Design of High-Performance Digital Systems.IEEE/ACM International Conference on ComputerAided Design,1994.

[10] D.A. Kirkpatrick and A.L. Sangiovanni-Vincentelli,Digital Sensitivity: Predicting Signal Interaction us-ing Functional Analysis.IEEE/ACM InternationalConference on Computer Aided Design,1996.

[11] T. Ohtsuki, Maze-Running and Line-Search Algo-rithms. In T. Ohtsuki ed.,Layout Design and Verifica-tion. Elsevier Publishers B.V. (North-Holland), 1986.

[12] T. Sakurai and K. Tamaru, Simple formulas for twoand three dimensional capacitance.IEEE Trans. Elec-tronic Devices,1993.

[13] S. Thakur, K.-Y. Chao and D.F. Wong, An Opti-mal Layer Assignment Algorithm for MinimizingCrosstalk for Three Layer VHV Channel Routing.IEEE International Symposium on Circuits and Sys-tem,1995.

[14] H. Zhou and D.F. Wong, An Optimal Algo-rithm for River Routing with Crosstalk Constraints.IEEE/ACM International Conference on ComputerAided Design,1996.