A Survey of Path Search Algorithms
A Survey of Path Search Algorithms
Detailed Routing
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