4. Problem formulation and implementation

The challenge of global routing problem of a VLSI Physical design rests in two objectives. First in minimizing power dissipation and secondly increase the speed of signaling among the partitions or blocks in VLSI layout which can be achieved by reducing the complete wire length of interconnected terminals or blocks. The Global routing problem can be formally stated where N={N1,N2,N3…Nm} be the set of nets denoting interconnections among blocks in the VLSI layout and the estimated wirelength of net Ni, 1< i < m is denoted by Di. The problem function can be expressed such that overall total wirelength P<sup>m</sup> <sup>i</sup>¼<sup>1</sup> Diis minimized. Global routing formulation is done by mapping the required VLSI layout in classical graph theory as Grid Graph model. Here the grid graph model is regarded as to execute the above proposed algorithms. The grid graph, G ¼), is an exemplification of a routing region layout where region is carved into a number of unit square cells as shown in Figure 1. Each cell representing routing areas between blocks as empty area is signified by vertex a vi and the edge eij, linking the two neighboring vertices vi and vj. The vertices resemble to the nodes and edges resemble to the routing paths between blocks in a VLSI layout.

To obtain the solution of the VLSI routing problem for a multi-terminal net, the primary assignment is to articulate it as the problem of obtaining an RMST (Rectilinear Minimum Spanning Tree) from a Graph. The Minimum spanning tree of the interconnected terminal nodes is generated using graph algorithms results in measuring the minimum cost of interconnected length. With introduction of random Steiner nodes along with the terminal nodes of multi-terminal VLSI layout the cost or the overall wirelength is further reduced generating the minimum Steiner tree cost (length) in the graph. Depending on the position and the number of Steiner nodes the cost or overall length can be further minimized. With large number of terminal nodes the probability of determining the number of Steiner nodes and desired positioning of these Steiner node become computationally hard and hence the PSO algorithm is used to select probable number of Steiner nodes and generate these random position in order to optimize the Steiner cost.

The algorithm commenced with random generation of swarms size of z particles and they are placed in required graph of nxn dimension. Each of the swarm consists at most (p-2) randomly generated Steiner points drawn from Steiner set S with ð Þ njj2–p points where p is

Figure 1. Routing region layout in grid graph.

these parameters can be monitored in two distinct ways, mentioned underneath, to accomplish

In this algorithm PSO-ST [20], the acceleration constants both c<sup>1</sup> and c<sup>2</sup> are reduced linearly throughout the time steps in the range of 2 to 1.49. At the beginning, the algorithm is primed with c1=c<sup>2</sup> =2. By this changing of linear decrement, both exploration and exploitation abilities of the swarm can be preserved efficiently for velocities updating and can deliver a swift convergence to the algorithm. This algorithm turns out to be competent to obtain optimal

An algorithm PSO-SAAC is introduced where the two acceleration constant parameters c<sup>1</sup> and c<sup>2</sup> have been assorted in such a style that they got enhanced influence over the trade-off in between global exploration and local exploitation. The algorithm commences with highest exploration and lowest exploitation aptitudes of swarm, which have eventually been altered in every time step over the entire iteration process. Therefore the particles of the swarm are capable of dispersing all over the search space consistently, motivated by the social component of the velocity vector at the first phase of experiment. Since the cognitive component outpace the social component in the subsequent phase of the experiment, the swarm accomplish the local search process entered on the assessed results of the Global search process with the intention of obtaining the finest local optima. Throughout the whole searching process this self-adaptive procedure can be effectual in producing most significant gbest value and thus in this manner heightening the optimization rate.

A fresh algorithm is presented where the principle of Genetic Algorithm is featured in PSO [21]. The algorithm after utilizing some time steps initiates with selection of swarms from existing generation in the first phase. The swarms with high fitness probability get selected

> P j N <sup>j</sup>¼<sup>1</sup> <sup>f</sup> <sup>j</sup>

where, ψ is the randomization factor and ξ is the mutant fitness factor.

4. Problem formulation and implementation

fitness factor is extracted from the selected pool generating a mutant in the second phase. This enhanced knowledge of high fitness property is induced in the position vector Eq. (2) to evolve a new generation of swarms causing mutation in PSO [22]. The proposed position vector in

The challenge of global routing problem of a VLSI Physical design rests in two objectives. First in minimizing power dissipation and secondly increase the speed of signaling among the

, where N is the population size. The high

Xi,tþ<sup>1</sup> ¼ ð Þþ ψ∗Xi,t þ ξ Vi,tþ<sup>1</sup> (7)

superior result in perspective of path minimization of VLSI global routing.

3.4.1. Self-tuned

3.4.2. Self-adaptation

3.5. PSO with mutation

Eq. (7) is given below.

where the probability of selection factor is <sup>f</sup>

result with lofty convergence rate.

68 Particle Swarm Optimization with Applications

the number of terminal nodes with designated vertex Vi, i = {1,2,3,…r} and thereby Steiner subset Q<sup>j</sup> ⊆S, where j = {1, 2, 3……, z} is formed. 100 100 search space is used. The defined destination nodes or terminal nodes are represented by 1 to generate the problem matrix. Rows & Columns without the destination nodes are eliminated to reduce computational complexity generating the reduced matrix Steiner points are introduced in a randomly in the problem space, is denoted by 1. The reduced matrix and the corresponding Steiner matrix, are shown in Figure 2.

For implementation of PSO, mapping is done with the creation of swarm particles where each these Steiner matrix is considered as a particle. One such particle with the destination nodes is shown is Figure 3. Fitness Fi for each particle seed is calculated by evaluating Minimum Rectilinear Steiner Tree (MRST) cost using objective function MST(Gi) and also MIN (MST(Gi)) which



is minimum among all MST(Gi) is calculated. PSO parameter are initialized and maximum iterations are fixed. Evaluation of pbest and gbest values are made using PSO velocity equations with acceleration coefficient tuned either in linear decreasing or in self-adaptive mode as described earlier and the corresponding position equation either in classical mode or with mutation factor is evaluated. When maximum iteration is reached the corresponding gbest value generated or the best swarm particle, is the optimized RMST cost. The optimized RMST cost on termination of the PSO algorithm is the minimum overall length of the interconnected terminal nodes in the VLSI system and thereby minimum wire length routing path of VLSI layout is

Performance Comparison of PSO and Its New Variants in the Context of VLSI Global Routing

http://dx.doi.org/10.5772/intechopen.72811

71

achieved. The flow chart of the PSO algorithms and its variants are shown in Figure 3.

Generate an initial population of particles Xi ¼ f g X1; X3;……; Xn

Evaluate c1 and c2 according to any of the variants mentioned in this chapter.

Evaluate Inertia Weight (w) as in Eq. (4) or evaluate Constriction Factor (χ) as in Eq. (6)

Calculate particle velocity Vi,tþ<sup>1</sup> according to the velocity equation as in Eq. (3) or Eq. (5)

Update the particle position Xi,tþ<sup>1</sup> in accordance to position equation as in Eq. (2) or

Search space and terminal nodes are defined Swarm size and Max-iterations are defined

Calculation of f Xð Þ <sup>j</sup>□j<sup>i</sup> and MINð Þ f Xð Þ <sup>j</sup>□j<sup>i</sup>

Set pbest =f Xð Þ <sup>j</sup>□j<sup>i</sup> and gbest <sup>=</sup>MINð Þ f Xð Þ <sup>j</sup>□j<sup>i</sup>

Update the particle position as in Eq. (7)

Evaluate f Xð Þ <sup>j</sup>□j<sup>i</sup> and MINð Þ f Xð Þ <sup>j</sup>□j<sup>i</sup>

Update pbest and gbest

Post processing the results and visualization

Optimized result of MINð Þ f Xð Þ <sup>j</sup>□j<sup>i</sup>

Input:

Initialization:

Output:

Begin:

end for n

end while

t ¼ t þ 1

While (t < max iter)

for i=1: n (for particles)

The pseudo code of the PSO algorithm and modifications for implementation is given below.

Figure 2. Matrix generated from reduced graph and corresponding Steiner matrix.

Figure 3. Flow chart of PSO algorithm and its variants.

is minimum among all MST(Gi) is calculated. PSO parameter are initialized and maximum iterations are fixed. Evaluation of pbest and gbest values are made using PSO velocity equations with acceleration coefficient tuned either in linear decreasing or in self-adaptive mode as described earlier and the corresponding position equation either in classical mode or with mutation factor is evaluated. When maximum iteration is reached the corresponding gbest value generated or the best swarm particle, is the optimized RMST cost. The optimized RMST cost on termination of the PSO algorithm is the minimum overall length of the interconnected terminal nodes in the VLSI system and thereby minimum wire length routing path of VLSI layout is achieved. The flow chart of the PSO algorithms and its variants are shown in Figure 3.

The pseudo code of the PSO algorithm and modifications for implementation is given below.

Input:

the number of terminal nodes with designated vertex Vi, i = {1,2,3,…r} and thereby Steiner

destination nodes or terminal nodes are represented by 1 to generate the problem matrix. Rows & Columns without the destination nodes are eliminated to reduce computational complexity generating the reduced matrix Steiner points are introduced in a randomly in the problem space, is denoted by 1. The reduced matrix and the corresponding Steiner matrix, are

For implementation of PSO, mapping is done with the creation of swarm particles where each these Steiner matrix is considered as a particle. One such particle with the destination nodes is shown is Figure 3. Fitness Fi for each particle seed is calculated by evaluating Minimum Rectilinear Steiner Tree (MRST) cost using objective function MST(Gi) and also MIN (MST(Gi)) which

Figure 2. Matrix generated from reduced graph and corresponding Steiner matrix.

Figure 3. Flow chart of PSO algorithm and its variants.

⊆S, where j = {1, 2, 3……, z} is formed. 100 100 search space is used. The defined

subset Q<sup>j</sup>

shown in Figure 2.

70 Particle Swarm Optimization with Applications

Search space and terminal nodes are defined Swarm size and Max-iterations are defined

Initialization:

```
Generate an initial population of particles Xi ¼ f g X1; X3;……; Xn
```

```
Calculation of f Xð Þ j□ji and MINð Þ f Xð Þ j□ji
```
Output:

```
Optimized result of MINð Þ f Xð Þ j□ji
```
## Begin:

While (t < max iter)

Evaluate c1 and c2 according to any of the variants mentioned in this chapter.

Evaluate Inertia Weight (w) as in Eq. (4) or evaluate Constriction Factor (χ) as in Eq. (6)

Set pbest =f Xð Þ <sup>j</sup>□j<sup>i</sup> and gbest <sup>=</sup>MINð Þ f Xð Þ <sup>j</sup>□j<sup>i</sup>

for i=1: n (for particles)

Calculate particle velocity Vi,tþ<sup>1</sup> according to the velocity equation as in Eq. (3) or Eq. (5)

Update the particle position Xi,tþ<sup>1</sup> in accordance to position equation as in Eq. (2) or

Update the particle position as in Eq. (7)

Evaluate f Xð Þ <sup>j</sup>□j<sup>i</sup> and MINð Þ f Xð Þ <sup>j</sup>□j<sup>i</sup>

Update pbest and gbest

end for n

t ¼ t þ 1

end while

Post processing the results and visualization
