• Nem Talált Eredményt

This phase of routing is useful for those technologies in which the circuit board can be decomposed into smaller parts in a natural way (for example, in the placement phase). In these cases global routing only determines the way in which the wires manoeuvre between these parts (for example, whether a ‘mainly horizontal’ longer wire segment goes round an obstacle from below or from above). The final course of the wires will only be determined in the detailed routing phase.

In the formulation of a typical global routing problem a graphG= (V, E) is given whose vertices represent the smaller parts of the circuit board and edges represent adjacencies between these parts. (That is, G is the planar dual of the graph representing the smaller parts of the cicruit board; see [30]

for the details.) A capacity function c:E →R+ is also given together with a set system N ⊆ 2V, the elements of which correspond to the nets. We are looking for a Steiner-tree for each net such that for each edge e of G the number of Steiner-trees containing e does not exceed the capacity c(e) of e. Furthermore, usually the minimization of certain cost functions is also a requirement, we omit the details. (However, the decision version of this problem, that is, the version without minimization requirements is already NP-complete [34].) In applications the capacities of the edges are drawn from estimates on the number of wires that can cross the corresponding area.

3 Detailed Routing

In the detailed routing phase the circuit elements have already found their final position on the board and the course of wires connecting them is to be determined. Since the remaining parts of this dissertation deal with vari-ous subproblems of detailed routing, we now give a formal definition of this problem.

Definition 1 Assume that a graph G (usually called the routing graph) is given. A net is a set of vertices of G (of cardinality at least 2). A detailed

routing problem is a family N = {N1, N2, . . . , Nt} of pairwise disjoint nets.

The vertices of the nets Ni are called terminals.

The routing graph G can simply be a 3-dimensional rectangular grid graph, but in practical applications it is usually obtained is some way from a 3-dimensional grid (for example, to leave space for the circuit elements, or to let the terminals be accessible from any layer; see Definition 3 below).

Definition 2 A solution (or routing, or layout) of a detailed routing prob-lem N ={N1, . . . , Nt} is a setH ={H1, . . . , Ht} of pairwise vertex-disjoint, connected subgraphs of the routing graph G, such that Ni ⊂ V(Hi), that is, Hi connects the vertices of Ni. The subgraphs Hi are called wires.

As we have already mentioned, the wires are usually chosen to be minimal, thus they are Steiner-trees. We also mention that, in contrast to the above definition, in some cases the wires are required to be edge-disjoint only, see Section 3.6.

According to Definition 2, the detailed routing problem is a decision prob-lem. However, as we will see in the forthcoming sections, its various subprob-lems are usually formulated as minimization probsubprob-lems. This is achieved by letting the underlying routing graph Gdepend on a parameter (for example, the number of layers or the number of rows in the grid), and looking for the optimum value of this parameter such that the corresponding detailed routing problem is solvable.

3.1 The Switchbox Routing Problem

We mentioned above that the structure of the routing graph can be much more complicated than a 3-dimensional grid. Therefore in practical applica-tions the routing area is very often broken up into smaller parts which are routed one after the other in a specified order. These smaller parts are of much simpler structure (usually channels or switchboxes, see the following definitions). By this method the problem can be reduced to the very special case in which the terminals are situated on the boundaries of a rectangular board.

The following definitions are formulated in accordance with the above and with a few further technological requirements. One is that there are no terminals on the ‘corners’ of the board and routings must not use them either. The other one is that wires can access the terminals on any layer. The definition of the k-layer rectangular grid graph is therefore suitably altered.

Definition 3 Let the vertex set of a graph be the set {0, . . . , n + 1} × {0, . . . , w+ 1} × {1, . . . , k}. Let two vertices be adjacent if and only if they differ in exactly one coordinate and by exactly one. Delete the ‘corner’

vertices from the graph, that is, the vertices (0,0, l), (n+ 1,0, l), (0, w+ 1, l) and (n+ 1, w+ 1, l), wherel= 1, . . . , k. Now in the remaining graph contract all the subsets of vertices {(i, j, l) :l= 1, . . . , k} into a single vertex, where

• i= 0 or i=n+ 1 and j = 1, . . . , w; or

• j = 0 or j =w+ 1 and i= 1, . . . , n.

Call the thus obtained graph Gk k-layer rectangular grid graph. w and n are the widthand the length of the grid, respectively. Denote the vertex obtained from the contraction of the set {(i, j, l) : l = 1, . . . , k} by ti,j. The vertices ti,j are called terminals. The terminal ti,j is called

• northern, if j =w+ 1;

• southern, if j = 0;

• western, if i= 0;

• eastern, if i=n+ 1.

The sets of all non-terminal vertices with a common z-coordinate are called layers. The sets of all vertices of a layer with a common x-coordinate or y-coordinate are called columns or tracks, respectively.

Figure 1 shows the 2-layer grid graph with w=n= 3.

Figure 1

Definition 4 A switchbox routing problemis the special case of the detailed routing problem (see Definition 1) in which the routing graph is the k-layer rectangular grid graph (for some value of k) and each net is a subset of the set of terminals ti,j (see Definition 3).

Many restrcitions of the above defined problem are considered in the literature, which are calledrouting models. If no further restriction is imposed on the solution of a swithcbox routing problem then it is said to belong to the unconstrained model. In this dissertation we only consider one of the above mentioned routing models, the Manhattan model. Its definition is motivated by the fact that for certain technologies it is advantageous not to have long parallel wire segments on two consecutive layers. Therefore there are many results that provide routings in this model. (We also consider edge-disjoint routing in Section 3.6, where the wires are required to be edge-disjoint only, but that is not a restriction of switchbox routing according to the definition we gave above.)

Definition 5 A solution of a switchbox routing problem is said to belong to the Manhattan model if consecutive layers contain wire segments of differ-ent directions only. That is, layers with horizontal (east-west) and vertical (north-south) wire segments alternate.