0% found this document useful (0 votes)
3 views

A Survey of Path Search Algorithms

Uploaded by

Fabricio
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

A Survey of Path Search Algorithms

Uploaded by

Fabricio
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

A Survey of Path Search Algorithms for VLSI

Detailed Routing

Stèphano M. M. Gonçalves, Leomar S. da Rosa Jr., Felipe de S. Marques


Technology Development Center
Federal University of Pelotas
Pelotas, Brazil
{smmgoncalves, leomarjr, felipem}@inf.ufpel.edu.br

Abstract—The path search problem is very common in Lee’s algorithm [1]. Later, Rubin [2] used the A* search [3]
computing. One of its applications is in the VLSI routing. Since technique to improve Lee’s algorithm, making the search
most of the path search algorithms used today are old, their converge more quickly to the target point. Soukup [4] also
evaluation took place in out of date scenarios, such as small 2D proposed an algorithm that combined both breadth first search
grid graphs. Thus, this work presents some path search
(BFS) and depth first search (DFS), aiming to improve the
algorithms, as well as an experiment comparing them in a
scenario similar to detailed routing of integrated circuits. The performance of Lee’s algorithm.
presented algorithms are Soukup’s, A*, LCS* and Hetzel’s. We The first line probe algorithm was proposed by Mikami
used ISPD 2008 benchmarks and FastRoute4 in order to create and Tabuchi [5]. Later, Hightower [6] proposed a modification
the input for the detailed routing experiment. The results show
that Hetzel’s algorithm is faster than the compared algorithms,
on this algorithm. Finally, Hetzel [7] united the advantages of
and since it is optimal, it is a better choice for a path search both classes of algorithms, proposing a line probe algorithm
algorithm in detailed routing. based on the A* search. The algorithm was shown to be faster
than A* in the experiments held in [7], and it is optimal,
Keywords—path search; detailed routing; VLSI unlike [5] and [6]. Later, the algorithm was generalized in [8]
and [9] to handle more generic scenarios.
I. INTRODUCTION Among the maze algorithms there is also the subclass of
The task of building VLSI circuits consists in a large and the bidirectional search. Basically, these algorithms perform
complex procedure, containing many steps. One of these steps two simultaneous searches, one starting from the source and
is called routing. The goal of routing is to find the routes of all the other starting from the target. Although this approach
wires that interconnect the circuit components, while tends to result in a lesser search space, there are several
minimizing the total wire length, power and delay. The routing drawbacks that compensate the search space reduction. There
is yet subdivided into 2 steps: global and detailed routing. were several propositions of bidirectional algorithms
While global routing aims to provide an orientation on where [10][11][12] that tried to beat the A* search. However, A*
the wires should be placed, detailed routing determines the was still better on average. Johann [13] proposed the LCS*,
exact location of wires. In detailed routing, path search which is an improvement over BS* [12] that uses the
algorithms are commonly used to find the wire routes. information of both search fronts to improve the heuristic
power. The experiments in [13] showed that LCS* was
The path search problem can be generically defined by slightly faster than A* on average.
finding a path between two sets of points S and T (source and
target sets) in a graph. Some algorithms can handle multiple Although all these path search algorithms have been
source-target (s-t) points, while others can handle only a single evaluated in some way, there was never a comparison of them
s-t pair. In addition, the path cost is commonly desired to be using the same benchmarks. Moreover, since they are old,
minimized. In VLSI routing, the graph is either a 2D grid for their evaluation involved the needs of their era, which are
some global routing methodologies or a 3D grid for other greatly different of today’s needs. For example, LCS* was
global routing approaches and for detailed routing. compared against A* in a 200x200 2D grid, and Hetzel
compared his algorithm to A* using ISPD98 benchmarks,
There are two classes of path search algorithms in VLSI which are very small in comparison to the current
routing: the maze and the line probe algorithms. The maze benchmarks. Thus, in order to identify a good path search
algorithms work by expanding the search point by point, while algorithm for detailed routing, it is indispensable the
the line probe algorithms use line segments. Usually, the maze realization of an experiment that gathers the path search
algorithms guarantee the optimal path, but they are slow, algorithms with more potential and evaluates them under the
while the line probe algorithms are usually fast but don’t same benchmarks, according to the current needs, which
guarantee the optimal path. The first maze algorithm was consists in using global routing to restrict detailed routing

978-1-4673-6853-7/17/$31.00 ©2017 IEEE


search space in huge tridimensional grid graphs. The detailed to avoid this behavior, the A* search can be used to direct the
routing search space reduction may interfere in their behavior, search towards the target point. This is illustrated in Fig. 1(c).
as well as the grid size, presenting different results of path
In the A* algorithm, each node n stores the cost of the
searches performed in a different scope. Considering that no
known path from n to the source point, and an estimated cost
published work has ever performed such experiment, the goal
from the node itself to the target point. These costs are
of this work is to present it, using the ISPD2008 benchmarks
denoted respectively by g(n) and h(n). The sum of this costs is
[14] and FastRoute4 [15] as the global router.
denoted by f(n), and it represent n’s potential cost. In order to
direct the search to the target point, the nodes with the lower
II. PATH SEARCH ALGORITHMS f(n) are expanded first. These nodes belong to the open set,
This section presents the algorithms chosen for and they are called open nodes, since they are available for
comparison. Concerning maze algorithms, the A* was chosen expansion. The open set is analog to Lee’s wavefront,
for been optimal and fast, and Soukup’s algorithm was chosen differing that the nodes are ordered by f(n). When a node is
for its speed. Of the line probe algorithms, Hetzel’s algorithm expanded, it is removed from the open set and put into the
was chosen for been optimal and for handling 3D grids, unlike closed set. The closed set holds the nodes already expanded,
[5] and [6]. Regarding the bidirectional algorithms, LCS* was which are called closed nodes. The nodes generated by an
chosen, since it achieved better results than A* in the expansion are only put into the open set if there is no closed
experiments held in [13]. node sharing the same point, or if there is no other open node
of the same point with a better (or equal) cost. The procedure
A. Soukup’ Algorithm
stops when the node of the target point is selected or when the
Soukup’s algorithm is a modification over [1]. Lee’s open set becomes empty.
algorithm starts the search in the source point, expanding the
search to the neighboring nodes. These nodes form the frontier The A* algorithm guarantees that a path is found, if one
of the search, called wavefront. Then, each node in the exists, and it is optimal. The algorithm can handle multi
wavefront is expanded, that is, its neighbors are added into the sources and targets. In a grid with uniform cell costs, like in
Fig. 1, this algorithm may behave similarly to Soukup’s
next wavefront. This BFS behavior, show in Fig. 1(a), makes
algorithm.
the search expand in all directions, until the target point is
reached.
C. LCS*
Soukup’s algorithm uses both BFS and DFS (Fig. 1(b)). The LCS* [13] algorithm, illustrated in Fig. 1(d), is an
When a node n is expanded, if a neighbor n’ is closer to the improvement over BS* [12], which is an improvement over
target point than n, the algorithm starts a DFS in n’ direction. BHPA [11]. The BHPA algorithm basically consists in two A*
All nodes generated in the DFS are put into the current searches, one starting from the source point and the other
wavefront. The neighbors of n that turn away from the target starting from the target point. There is also a variable, called
are added in the next wavefront. According to [4], Soukup’s amin that stores the cost of the best path that passes through a
algorithm is 10-50 times faster than Lee’s algorithm. It node closed in both searches. These nodes are called meeting
guarantees that a path is found if there is a feasible one, but it nodes, since they represent the intersection of both searches.
does not guarantee that the path found is optimal. The Note that in bidirectional search, when a meeting node is
algorithm handles single source-target points. found, it does not mean that the best path has been found. The
search ends when amin is lesser or equals to any node’s cost in
B. A* both open sets. The path is obtained by the meeting node
Lee’s algorithm does not have any criterion to select nodes corresponding to amin. The BS* algorithm introduces four new
for expansion. It simply expands all nodes in the current concepts: nipping, pruning, trimming and screening. When a
wavefront, generating another wavefront. This behavior makes node is selected for expansion, if it is closed in the opposed
the search expand in all directions. However, this is very search, it is not necessary to expand it, since it does not hold a
inefficient, since it may result in unnecessary effort. In order path that is better than any other already found. In this case,

(a) (b) (c) (d) (e)


Fig. 1. Examples of the search behavior of the path search algorithms: Lee (a), Soukup (b), A* (c), LCS* (d), and Hetzel (e). The blue dots are the source and
target points (from left to right, respectively). Grey represents the visited search space. Black represents obstacles. In (b), red denotes the DFS. (e) illustrates the
expansion of the grey (closed) interval, generating the green (open) ones.
the node is closed and it is not expanded. This is called routing. Note that this algorithm does not store the graph
nipping. A nipped node in the opposed search may have explicitly. Instead, it stores sets of intervals used in the search.
successors in the open set that are unnecessary for the search. The grid obstacles are also stored as a set of line segments.
The removal of such nodes from the open set is called
Hetzel’s algorithm, proposed in [7], had some limitations,
pruning. When a meeting node is found, it is possible that
and thus, it was generalized in [8] and [9]. The resulting
there are many nodes in the open sets that have a cost greater
algorithm, called GeneralizedDijkstra, did not improve the
or equals to meeting node’s cost. Since these nodes cannot
algorithm speed in any way, but made it able to work not only
lead the algorithm to find a path better than the meeting node’s
on intervals, but also in generic sets of nodes in general
path, they can be removed from the search. This process is
graphs. Note that by mentioning “Hetzel’s algorithm”, we
called trimming. Screening is a preemptive trimming. It is the
refer to GeneralizedDijkstra applied on intervals, which the
act of do not add, in the open sets, the nodes that have costs
pseudocode is presented in [16]. This algorithm is optimal,
greater than or equals to meeting node’s cost.
and supports multi source-target points.
The mechanics of the LCS* algorithm are the same of
BS*, and the four introduced concepts in BS* are kept. The III. EXPERIMENTS
novelty of the algorithm is in the fact that it uses the
information of the opposed search in order to improve the A. Methodology
heuristic functions, making the algorithm terminate earlier. The goal of the experiments is to evaluate the speed and
This is accomplished by having two variables, Py and ȍ, for the path quality of the presented algorithms in a detailed
each search front. Py is the cost of the node of least cost in the routing scenario. Since the comparison regards path search
bounds of the closed set (the parents of the open nodes). The algorithms, we consider only the detailed routing peculiarities
variable ȍ is the least penalty to be added to the cost of an that are relevant for the comparison. The main detailed routing
estimation from a node outside the closed set, targeting the restriction is tunneling, since it drastically reduces the search
origin node of the closed set search tree. The node costs in the space. Also, we consider specific costs for vias and jogs. We
open sets are given just as the A* algorithm. These variables do not consider any other design rules, since they should be
are used to make the algorithm stop early or to avoid threated outside the core of the search algorithm (due to
unnecessary expansions. The LCS* guarantees to find the complexity and performance reasons). Thus, this should have
optimal path and handle single source-target points. little or no impact in the algorithmic comparison. Rip-up and
D. Hetzel’s Algorithm Reroute is also not considered.
This algorithm has the same basic mechanic of A*. The The experiments were run on the ISPD 2008 benchmarks
main difference is that instead of using nodes associated with [14], in a Linux machine with 132Gb RAM, CPU AMD
points, it uses line segments (or intervals). Thus, it can be Opteron 2.2 Ghz. The algorithms were implemented in Java.
viewed as an A* search on intervals. Fig. 1(e) illustrates an The experimental methodology was as follows. First, the
interval expansion. FastRoute4 [15] global routing tool was run for each
In the A* algorithm, it is very common that a row of nodes benchmark. The FastRoute4 output is a set of 3D rectilinear
Steiner trees, each one representing the global net routes. The
in the same line share the same cost. Therefore, these nodes
second step represents the detailed routing stage. Each net of a
can be merged in a single interval that is labeled with the
given benchmark was decomposed in two pin nets. For each
node’s cost. In a generic graph, the only way to create such
two pin net, Hetzel’s algorithm was run on the Steiner tree
interval is to traverse a set of nodes. In this case, this interval
labeling is not worthy. However, in a grid graph it is possible tunnels in order to find the route that interconnects the two
to know such intervals with a simple O(1) geometric pins. Notice that until now, the routes are in global routing
coordinates (G-cells). This route connecting both pins is a
calculation. Thereby, Hetzel’s algorithm is supposed to be
tunnel, and it is used to restrict the search area of the path
applied only in grid graphs, which is the case of the detailed

TABLE I. EXPERIMENTAL RESULTS

Time (hours) WL Over


Benchmark Grid Size # Searches (%)
Hetzel A* Soukup LCS*
adaptec1 11340 x 11340 674,203 1.6 24.9 14.2 18.1 1.21
adaptec2 14840 x 14840 741,761 1.8 15.9 15.2 11.9 0.98
adaptec3 23220 x 23220 1,298,090 3.1 71.9 54.5 37.6 0.57
adaptec4 23220 x 23370 1,270,890 2.6 60.1 71.6 34.6 0.50
bigblue1 11350 x 11350 762,031 3.8 99.2 78.4 67.3 0.69
bigblue2 18720 x 18840 1,365,883 4.6 63.6 58.3 48.3 3.02
newblue1 11970 x 11970 822,002 1.1 5.6 2.9 4.9 1.96
newblue2 27850 x 23150 1,199,989 4.3 58.4 25.3 31.3 1.09
newblue3 38920 x 50240 1,230,489 4.5 182.7 80.2 53 0.69
search algorithm used to find the actual route between the to use it as a pathfinder in detailed routing. However, if the
pins. Then, the chosen path search algorithm is run, and grid allows variable cell costs by layer, in preferred
some search statistics are obtained. After that, a pre- direction, then this algorithm may behave differently, since
computed path (see ahead) for this search is marked on the it was supposed to work on layers with uniform cell costs
grid data structure. This procedure was performed for each (although different layers may have different costs). LCS*
search algorithm. The first execution was using Hetzel’s has shown considerable better results against A* than the
algorithm. The resulting paths were added in the grid, as experiments in [13]. This shows why it is very relevant to
well as stored in disk. For the other three algorithms, the perform new experiments with these old algorithms in order
Hetzel’s algorithm paths were loaded in memory and were to identify their effectiveness in detailed routing nowadays.
used as the “pre-computed paths” mentioned before. Thus,
As future works we intend to include other algorithms
for each search of each algorithm, they were all executed on
and variations in the comparison, such as Hightower
the exact same grid. Since LCS* and Soukup’s algorithms
algorithm, adapted to 3D space, and BS*, which is the
do not mention multi source-target treatment, single source-
predecessor of LCS*, aiming to confirm if LCS* variable
target was used.
updates are still worth the effort in the detailed routing
The use of tunnels imposes a new lower bound in a path scenario.
cost, because a tunnel usually has many detours. Therefore,
there is no reason to not use the tunnel information to ACKNOWLEDGMENT
improve the heuristic function of the algorithms that use it This research is partially supported by the following
(A*, LCS* and Hetzel’s). When the tunnel is obtained, a Brazilian funding agencies: CAPES and CNPq.
simple preprocessing is done in the tunnel. When running,
the algorithms use the stored information to calculate the h
function. Hetzel’s algorithm also uses the tunnel REFERENCES
information to direct the expanded segments to the right [1] C. Y. Lee, “An Algorithm for Path Connections and Its Applications”
way. Soukup’s algorithm also uses this information to guide in IRE Trans. on Electronic Computers, vol. EC-10, pp. 346–365,
the depth first search. Sept 1961.
[2] F. Rubin, “The Lee Path Connection Algorithm” in IEEE Trans. on
Comput., vol. C-23, pp. 907-914, 1974.
B. Results
[3] P. E. Hart, N. J. Nilsson, B. Raphael, “A Formal Basis for the
The Table 1 presents the results. Since all algorithms Heuristic Determination of Minimum Cost Paths” in IEEE Trans. on
were run on the same grid, the total path cost of the optimal Syst. Sci. and Cybern., vol. 4, pp. 100–107, July 1968.
algorithms were the same. Thus, Table 1 do not show such [4] J. Soukup. “Fast maze router” in Proc. ACM/IEEE Design
Automation Conf., pp. 100–102, 1978.
information. Instead, the column “WL Over” shows the
increment of Soukup’s total path cost relative to the optimal. [5] K. Mikami, K. Tabuchi, “A computer program for optimal routing of
printed circuit connectors” in Proc. Int. Federation for Inform.
The “# Searches” column represents the total number of Process., vol. H47, pp. 1475–1478, 1968.
path searches (two pin nets). The “Grid Size” column [6] D. Hightower. 1969. A solution to line routing problems on the
represents the horizontal and vertical dimensions of the grid. continuous plane. Proc. ACM/IEEE Design Automation Conference.
All grids have 6 layers. [7] A. Hetzel, “A sequential detailed router for huge grid graphs” in
Design, Automation and Test in Europe, pp. 332–338, Feb 1998.
In almost all benchmarks, Soukup was faster than A. [8] J. Humpola. 2009. Schneller Algorithmus für kürzeste Wege in
The DFS’s tend to make the algorithm expand less nodes, at irregulären Gittergraphen. Doctoral Thesis, University of Bonn.
the cost of path quality. However, A* may be faster when [9] S. Peyer, D. Rautenbach, J. Vygen. 2009. A generalization of
avoiding a high cost area (e.g. an area only reached by jogs) Dijkstra’s shortest path algorithm with applications to VLSI routing.
Journal of Discrete Algorithms. (Dec. 2009), 377-390.
that does not lead to any path, while Soukup exhaustively
[10] T.A.J. Nicholson, “Finding the shortest route between two points in a
explores the area with DFS’s. LCS* did better than A*, but network”., in Comput. J. 9, pp. 275-280, 1966.
A* can handle multiple sources and targets, which is a [11] I. Pohl. “Bidirectional search”, in: Machine Intelligence 6, pp. 127-
relevant factor in detailed routing, since the pins occupy 140, 1971.
multiple grid points. Finally, Hetzel’s algorithm was very [12] J. B. H. Kwa, “BS*: An Admissible Bidirectional Staged Heuristic
faster than LCS*, presenting an average speedup of 10. Search Algorithm”, in Artificial Inteligence, pp. 95-109, 1989.
[13] M. Johann, R. Reis, “Net by Net Routing with a New Path Search
IV. CONCLUSIONS AND FUTURE WORKS Algorithm” in 13th Symposium on Integrated Circuits and Systems
Design, pp. 144-149, 2000.
This work presented a survey of some path search [14] ISPD Global Routing Contest 2008. http://archive.sigda.org
algorithms that can be applied in VLSI detailed routing. The /ispd2008/contests/ispd08rc.html.
algorithms were evaluated in a similar detailed routing [15] Y. Xu, Y. Zhang, C. Chu. “FastRoute 4.0: global router with efficient
scenario. Hetzel’s algorithm was very faster than the other via minimization” in Proc. of the 2009 Asia and South Pacific Design
algorithms, presenting an average speedup of 10 with Automation Conference (ASP-DAC), pp. 576-581, 2009.
reference to LCS*, which was the second faster algorithm. [16] M. Gester, D. Müller, T. Nieberg, C. Panten, C. Schulte, J. Vygen.
2013. BonnRoute: Algorithms and data structures for fast and good
At first, considering this algorithm is faster, optimal and can VLSI routing. ACM Trans. on Design Automation of Electron.
handle multiple sources and targets, there is no motive not Syst.(Mar. 2013), 1-24.

You might also like