In the process of automatic design for printed circuit boards (PCBs), the phase following cell placement is routing. On the other hand, routing process is a notoriously difficult problem, and even the simplest routing problem which consists of a set of twopin nets is known to be NPcomplete. In this research, our routing region is first tessellated into a uniform
In electronic design automation (EDA), wire routing or simply called routing is one of the most important steps in the design of VLSI integrated circuits and robot path planning. The connections for each pair of pins (sometimes called terminals or nodes) on the circuit must satisfy the design rules. High quality routing will give a great impact on the chip performance. Due it its importance and pervasive applications, researchers have shown a high interest in this problem and are studying extensively to improve the optimality and efficiency. An optimal routing should provide minimum cost, shortest distance, or lowest running time.
Suppose we are given a netlist and each net in the list consists of a pair of processing elements. This processing element is also sometimes referred to as node, processing node, or pin in the literature. For
However, it is almost impossible to have all
Routing problem is an interesting topic and is being studied extensively among researchers. Several problems that have been addressed in this field include providing deadlockfree routing scheme [
This paper can be organized as follows. Section
Routing in printed circuit board (PCB) is a process of determining and prescribing paths between various electronic components in order to establish a connection between given source point and its target. Routing in modern chip is a notoriously difficult problem, and even the simplest routing problem which consists of a set of twopin nets is known to be NPcomplete [
In this problem, our routing region is assumed to be divided uniformly into
Partitioned layout into
Suppose we are given a set of routing requirements which consist of twopin nets
Minimizing energy level is also one of the objectives. In order to calculate the energy level in the routing region, we simply replace
Complete wiring on this mesh network should obey the design rules and satisfy the necessary conditions as follows.
Consider
For each
All paths can cross but should not overlap each other.
Each connection will be made using the communication links with no specific direction. This allows for a simpler representation of the routing configuration, even though it reduces freedom during routing.
As a result of its importance to the industry, we are motivated to produce significant method to perform optimal routing. Figure
Routing region of size
The major features of this grid model are described as follows.
We define
All pins can communicate with each other to the left, right, upward, or downward direction as long as the path is not overlapped.
Each connection is independent of other connections.
Each pin will belong to only one net.
Only one pin could log data in a given subbus at a time. This operation was performed sequentially and depended highly on the net ordering. Therefore, earlier connection would block later paths.
For the sake of simplicity, each link in the network held a value of 1 as its weight.
Shortest path problem is one of the components in our research work. Basically, this problem seeks the solution to this question: How can processor
In our problem, it is important to have all pins connected in shortest way since reducing the energy level in routing region is one of our objectives. In this way, we can provide larger routing space to route remaining nets, thus maximizing number of successive nets on each layer. Several shortest path algorithms have been proposed in literature such as Dijkstra’s algorithm which solves singlesource problem [
Our connected graph which is in the form of rectangular array will not use negative values as its weight.
We only need to find a single path connecting processors
In Dijkstra’s algorithm, suppose we are given a connected directed or undirected graph
Traditionally, routing in rectangular array can be performed sequentially or concurrently. Sequential routing is perhaps the most straightforward strategy where one has to select specific net ordering and route the nets one by one according to the order. In this research, we would like to apply the sequential routing approach. Therefore, the quality of the routing solution will greatly depend on the net ordering and the task to find such net ordering has proven to be NPhard [
In this research, a heuristic method called simulated annealing is proposed to produce better quality net ordering. It is a probabilistic method which is first simulated by Metropolis et al. and Kirkpatrick et al. [
This method is motivated from the theory of annealing in solids. The term simulated annealing derives from the roughly analogous physical process of heating and then slowly cooling a substance to obtain a strong crystalline structure [
Initial permutation
Initial temperature
Final temperature
Temperature reduction rules are
Moves are based on pairwise interchange for two nets randomly.
Only one solution is chosen as neighbouring solution at a time.
Stopping criteria are
During the simulation, the temperature will be lowered gradually until the system “freezes” and no further changes occur. At each temperature, the simulation must proceed long enough for the system to reach steady state or thermal equilibrium. This method avoids being trapped at local minima by accepting sometimes uphill moves. This acceptance is determined by using Boltzman probability:
Determine an initial sequence for all to be routed nets, called
Then Dijkstra’s algorithm is applied to compute shortest path for each net. For each
Mark all nodes as unvisited. Set the initial node as current. For the current node, consider all of its unvisited neighbors and calculate their tentative distances. Compare the newly calculated tentative distance to the current assigned value and assign the smaller one.
When we are done considering all of the neighbors of the current node, mark the current node as visited. A visited node will never be checked again.
If
Compute initial energy,
From
Set
If
If
If
Apply Boltzmann’s probability. If
Accept the candidate sequence as a current solution, and set
Through the objective function in (
Calculation for maximizing number of
















 



 











 




For example, suppose we are given a routing region of size
Calculation of energy level in a routing region.




























 



 

















 









Notice that
Number of connections at all iterations for
Figure
Energy level improvements among
Further, our program has been tested to a bigger data set which has 64 pins and 32 nets on
(a) Number of connections at all iterations. (b) Number of connections among acceptable moves.
Recall, our objective is to maximize number of connections while minimizing the energy level. However, move that resulting to maximum connections is always accepted, neglecting its energy level. But if current value of
The algorithm gradually decreases the energy level among
Then the annealing process is repeated to find maximum matching on second layer among remaining 10 nets. Figure
Number of connections at all iterations on second layer.
A clear result of accepting several worst moves with condition results to a lower energy level and this is summarized in Figure
Minimization of energy level.
Figure
Final wiring tracks on each layer.
1st layer
2nd layer
Our proposed algorithm manages to produce high number of connections in various network sizes with less congestion level throughout the region. Therefore, it suggests that this method is suitable for adoption into real problem.
This paper has described a basic routing model which usually uses rectangular grid array as routing layout. This routing graph can be modeled as
The authors declare that there is no conflict of interests regarding the publication of this paper.
The authors would like to thank the Ministry of Education Malaysia for the scholarship given and Universiti Teknologi Malaysia for supporting this research under Vote number 04H43.