• 沒有找到結果。

The rest of this thesis is organized as follows. Chapter 2 introduces the previous works and basic terminology definitions first, and then formulates the OARSMT and multi-layer OARSMT problems. Chapter 3 presents our algorithm. Chapter 4 reports the experimental results. Finally, we conclude our work in Chapter 5.

Chapter 2 Preliminary

In this chapter, we introduce some previous works and problem formulation.

2.1 Previous Works

There are many works on obstacles-avoiding rectilinear Steiner minimal tree (OARSMT) problem. They can be classified into four major categories according to connection graph : (1) the grid based connection graph approach, (2) the Hanan graph based connection graph approach, (3) the Escape graph based connection graph approach, and (4) the spanning graph based connection graph approach.

The number of vertices and edges in spanning graph is smaller than others, but it means losing more solution space more than others. There are some approaches without using connection graph. [4][5][16] use lookup table to construct the routing tree, but the approach without considering obstacles. [18] is circuit simulation based obstacle-aware Steiner routing. [3] uses multi-levels approach to handle the problem on multi-layers, but their approach could only use vertical / horizontal at single layer. We can say almost all the approaches use some kind of connection graph, and then do some correction or improvement. We will talk about some approaches recently in this section.

2.1.1 Grid Based Connection Graph Approach

Figure 2.1: (a) The initial routing problem,Maze routing [12] (b) Line search is the variant of Maze routing [15])

These approaches are the ancestor of the routing. Maze routing, first proposed in [12], find a path from a source to a target on a layer by wave propagation as show in Figure 2.1 (a). It can get an optimal solution at two-pins net. However, the time complexity and memory usage grow prohibitively huge as the routing area becomes larger. Further, there are some variants [15][9]. They decide several ”escape points”

to make the computation more efficient as show in Figure 2.1(b), but they still incur unsuitable solution quality since they only handle the two-pins net.

2.1.2 Hanan Graph and Escape Graph Based Connection Graph Approach

The Hanan graph is similar with Escape graph, we can discuss them together. The Hanan graph is shown in Figure 2.2 (a) and the Escape graph is shown in Figure 2.2 (b). When an edge is blocked by obstacle, the edge could be marked the prohibited routing direction.

Ganley and Cohoon [7] introduces a strongly connected graph called the Escape Graph. They show that at least one optimal solution can be found. They also provid three approximation algorithms, namely G3S, B3S, and G4S, with time complexities O(k2n), O(nklogk2), and O(k3n2), where k is the sum of terminals and obstacle

Figure 2.2: (a) Hanan graph consists of the pins and obstacle boundaries and the lines which extended by pins and obstacle boundaries. (b)Escape graph remove the extended edges which are blocked by obstacles.

boundaries and n is the number of intersections over the Escape graph.

Tsai et al. [19] presents an algorithm to construct a escape graph , obstacle-weighted minimum spanning tree, and applies Dijkstra’s algorithm [6] to get the obstacle-avoiding rectilinear Steiner minimal tree.

2.1.3 Spanning Graph Based Connection Graph Approach

Figure 2.3: (a) Hanan graph consists of the pins and obstacle boundaries and the lines which extended by pins and obstacle boundaries. (b)The spanning graph is an undirected connected graph between the set of pins and the set of obstacles, where no edge intersects with an obstacle.

The spanning graph is an undirected connected graph between the set of pins and

the set of obstacles, where no edge intersects with an obstacle, as shown in Figure 2.3. Shen. et al. [17] proposed a clever heuristic to construct an obstacle-avoiding rectilinear minimal tree. In this heuristic, the plane is divided into four region is chosen to construct and edge. Based on this method, a single-layer obstacle-avoiding spanning graph is first constructed as shown in Figure 2.3 and Figure 2.4(a). This work [17] is effective in general, but there are some edges are missed which lead to better solutions.

Wu et al. [20] presents an approach for OARSMT problem. Their first step, construct a minimal spanning tree for all pins as shown in Figure 2.4 (a) and partition the tree into sub trees by removing edges whose two L-shaped segments both intersct obstacle as shown in Figure 2.4 (b). The second step uses the ant colony optimization to connect the sub trees as shown in Figure 2.4 (c). Their ant colony optimization is performed on the spanning graph in [13] to reduce the runtime. In the last step, the tree constructed in the previous step is transformed into an OARSMT and further improved for its wirelength as shown in Figure 2.4(d).

Recently, Lin et al. [14] proposes an algorithm for an obstacle-avoiding rectilinear Steiner tree construction. It can achieve an optimal solution for any 2-pin net and nets with more pins in many cases. Experimental results have shown that it is very effective and efficient. They construct the spanning graph with ”essential”

edges and prove the existence of a rectilinear shortest path between any two-pin net. They present an approach for multi-layer OARSMT problem at ICCAD 2007 [2]. They extend the spanning graph at [14] with some additional VIAS and edges.

This approach can construct a good connection graph for searching the solution.

Figure 2.4: (a) A minimal spanning tree for all pins (b) partition the tree into sub trees by removing edges whose two L-shaped segments both intersect obstacle (c) use the ant colony optimization to connect the sub trees (d) transform the tree into an OARSMT.

相關文件