^{1}

^{*}

^{2}

^{1}

^{1}

Floorplanning is a prominent area in the Very Large-Scale Integrated (VLSI) circuit design automation, because it influences the performance, size, yield and reliability of the VLSI chips. It is the process of estimating the positions and shapes of the modules. A high packing density, small feature size and high clock frequency make the Integrated Circuit (IC) to dissipate large amount of heat. So, in this paper, a methodology is presented to distribute the temperature of the module on the layout while simultaneously optimizing the total area and wirelength by using a hybrid Particle Swarm Optimization-Harmony Search (HPSOHS) algorithm. This hybrid algorithm employs diversification technique (PSO) to obtain global optima and intensification strategy (HS) to achieve the best solution at the local level and Modified Corner List algorithm (MCL) for floorplan representation. A thermal modelling tool called hotspot tool is integrated with the proposed algorithm to obtain the temperature at the block level. The proposed algorithm is illustrated using Microelectronics Centre of North Carolina (MCNC) benchmark circuits. The results obtained are compared with the solutions derived from other stochastic algorithms and the proposed algorithm provides better solution.

VLSI physical design automation process plays an important role in fabrication of ICs. In the physical design cycle, floorplanning is a significant step because it affects the successive process such as placement and routing. It is the process of arranging the modules in the layout such that each module has their fixed position in the layout and no modules overlap with each other. To handle the design complexity, Intellectual Property (IP) modules are widely used. This makes the floorplanning problem as Non-Deterministic Polynomial time (NP) hard problem. From literature [

To represent non-slicing floorplan, different representations are proposed: tree-based approach [^{2}) and computational complexity O(n). Since VLSI floorplanning is an NP-hard problem, different stochastic algorithms [

PSO based approach for VLSI floorplanning is proposed, exhibits rapid convergence, leads to more optimal solutions and gives reasonable solutions only on the hard IP modules placement problem. Memetic Algorithm (MA) [

Hybridization of PSO and GA [

High packing density of the transistor with miniaturization in size leads to an increase in power density of the chip. As the power density of the chip increases, heat dissipation also increases, which is also an important metric to be considered for floorplanning problem. Different methods have been proposed to handle thermal aware VLSI floorplanning. Most of the research confined to optimizing area and temperature. So, research pertaining to exploiting the features of PSO and HS algorithm for floorplanning to optimize area, wire length and temperature is rarely found in the literature. Hotspot, a fast thermal modelling tool [

Hence, hybridizing these two algorithms that are individually good at exploration (PSO) [^{2} and computational complexity O(n)), PSO and HS algorithm (for their best global and local search mechanism) for soft modules, hotspot tool (for thermal modelling) is proposed in this paper.

The paper is structured as follows. Section 2 provides the problem statement. Section 3 depicts the proposed methodology. Section 4 illustrates the application of MCL algorithm, PSO-HS algorithm and hotspot tool for thermal aware VLSI floorplanning. Section 5 provides the results. Finally, Section 6 concludes the paper.

Let there are “N” number of modules in the floorplan given as

The objective of the floorplanning is to place the module without overlap in the layout and to optimize the cost metric such as area, wirelength and temperature with the following constraints:

1) Modules lies parallel to their x and y-coordinates.

2) No two modules overlap with each other.

3) Satisfying the Shape functions of floorplanning.

The fitness function of the proposed work is given as

Normalized

Weighted sum technique is used to merge multiobjective function into a scalar objective function. Each objective in the fitness function is calculated in different units (area―mm^{2}, wirelength―mm & temperature―˚C). So to get a linear objective function, each term in the fitness function is normalized. According to designer’s specification and priority, values are assigned to the weights in the fitness function.

The process of hybridizing PSO and HS algorithm to optimize the floorplan fitness function is proposed in the following steps:

Step 1: Load the modules and initialize the parameters of the PSO algorithm.

Step 2: Generate an initial population with particle dimension corresponding to the number of modules to be optimized and initialize its positions.

Step 3: Calculate the fitness value of each particle using MCL placement strategy (area) and HPWL (wirelength) and then assign the fitness values to its corresponding particles. Let the initial global best be the lowest Pbest value.

Step 4: Update the velocity of the particle.

Step 5: In the consecutive iterations check every particle. If its fitness value is better than its corresponding previous Pbest, then update its Pbest along with the fitness value and particle.

Step 6: Update Gbest for each and every iteration. If the earlier Gbest is higher than the Gbest obtained in current iteration, then update newer one as the final Gbest.

Step 7: Repeat step 3 to step 6 till the termination condition is reached. The termination condition or stopping criteria may be the end of number of iteration or the repetitive occurrence of the same output for certain number of iterations specified by the user.

Step 8: If termination condition is satisfied, then pass on the Pbest particle as the input harmonies to the HS algorithm.

Step 9: Initialize the Pbest particles obtained from the PSO as initial harmonies of the HS algorithm.

Step 10: Evaluate the fitness value of the harmonies and update the harmonies in HM.

Step 12: Repeat the process, till the termination condition is reached.

CL is a sequence-based representation used to represent the initial floorplan [

The description of the above steps and MCL placement strategy is shown in

PSO is a bio-inspired algorithm based on population [

The position of each and every particle is updated for all iteration by using a velocity term that is defined by the following Equation (2) and Equation (3):

where, V_{id} denotes velocity of the particle, X_{id} denotes current position of the particle, c_{1} & c_{2} is used to determine the relative influence of the cognitive and social components, rand() denotes random number generated between 0 and 1, P_{id} denotes Personal best (pbest) of the particle i, P_{gd} represents Global best (gbest) of the group, t denotes iteration index, d denotes number of dimensions (variables), w denotes inertia weight.

HS algorithm [

explained above. The HMCR value varies between 0 and 1; it is rate of selecting a particular value from the already stored values in HM, whereas (1-HMCR) is the rate of choosing a fresh value (random value) within the available possible limit (

Every solution vector obtained is further considered in order to determine whether it should be adjusted based on its pitch value. Pitch adjustment is done using the PAR parameter. It controls the amount of pitch to be adjusted as shown in Equation (5).

where, BW represents an arbitrary bandwidth and rand( ) is a random number generated between 0 and 1.

For calculation of temperature several models of hotspot are available. In this work, due to simplicity and high speed, block model (base model) is used. This trace level simulator takes floorplan file (.flp) and power trace file (p_{trace}) as inputs and the output is the corresponding transient temperature of each individual module (T_{trace}). The tool considers p_{trace} and .flp file (generated by HPSOHS) as arguments and produces the corresponding peak temperature of the respective floorplan. Interfacing of hotspot tool and the proposed algorithm is shown in

As shown in the

In hybrid PSO-HS algorithm, each particle and harmonies corresponds to a potential solution.

Each particle/harmony is assigned a random number and concatenates it with module number. After initializa- tion of particle/harmony, sort the columns of each particle/harmony either in ascending or descending order. By this method, modules of each particle/harmony are reordered and a new sequence of module will be generated for each and every particle/harmony. Based on the new order of module, by using MCL representation the floor- plan is generated. Next, evaluate the fitness value of each particle/harmony from MCL representation for the respective sequence of modules.

The performance of HPSOHS algorithm for VLSI non-slicing floorplanning is analyzed and compared with existing algorithms (reported in the literature). The results are shown in the following sections. By empirical analysis, parameter setting for PSO and HS algorithm is shown in

To evaluate the effectiveness of HPSOHS algorithm, standard MCNC benchmark circuits are considered and compared with the existing algorithms reported in the literature. Characteristics of MCNC Benchmark Circuits are shown in

Different weight values have been assigned to the weight factor in the objective function and simulations are being carried out based on both single objective and multi-objective optimization. Tables 4-6 compare the performance of the proposed HPSOHS with that of other algorithm [

Particle/harmony | 20.4 | 2.5 | 4.2 | 7.6 | 5.9 | 6.9 | 15.3 | 17.5 | 8.2 |
---|---|---|---|---|---|---|---|---|---|

Module sequence | 9 | 1 | 2 | 5 | 3 | 4 | 7 | 8 | 6 |

Parameter | Configuration | Description |
---|---|---|

Population size | 50 | |

N | 200 | Number of generations |

c_{1} | 2 | Cognitive component |

c2_{ } | 2 | Social component |

W | 0.9 | Initial opposing force applied to control the movement of the particles (inertia weight) |

HM | 50 | Population size |

N | 200 | Number of Iterations |

HMCR | 0.9 | Probability of solution vector considered during improvisation. |

PAR | 0.3 | Controls the amount of pitch to be adjusted. |

Problem | Benchmark type | Modules | Nets | Pins | Total Areas of all modules (mm^{2}) |
---|---|---|---|---|---|

apte | MCNC | 9 | 97 | 287 | 46.5616 |

xerox | MCNC | 10 | 203 | 698 | 19.3503 |

Hp | MCNC | 11 | 83 | 309 | 8.8306 |

ami33 | MCNC | 33 | 123 | 522 | 1.1564 |

ami49 | MCNC | 49 | 408 | 953 | 35.4454 |

Algorithm | apte | xerox | hp | ami33 | ami49 |
---|---|---|---|---|---|

Area (mm^{2}) | Area (mm^{2}) | Area (mm^{2}) | Area (mm^{2}) | Area (mm^{2}) | |

SA (Parquet-1) | 47.07 | 19.83 | 9.14 | 1.19 | 37.27 |

Enhanced O-tree | 46.92 | 20.21 | 9.16 | 1.24 | 37.73 |

SA with SP | 48.12 | 20.69 | 9.93 | 1.31 | 38.84 |

PSO | 46.92 | 19.55 | 9.22 | 1.28 | 41.01 |

GA | 46.90 | 20 | 9.03 | 1.22 | 37.50 |

HPSOGA | 46.92 | 19.83 | 9.01 | 1.20 | 36.5 |

HPSOHS | 46.9 | 19.8 | 8.98 | 1.18 | 36.2 |

Algorithm | apte | xerox | hp | ami33 | ami49 | |||||
---|---|---|---|---|---|---|---|---|---|---|

Area mm^{2} | Wire mm | Area mm^{2} | Wire mm | Area mm^{2} | Wire mm | Area mm^{2} | Wire mm | Area mm^{2} | Wire mm | |

O-tree | 51.9 | 321 | 20.4 | 477 | 9.50 | 153 | 1.28 | 51 | 39.6 | 689 |

Enhanced O-tree | 52.0 | 321 | 20.4 | 381 | 9.40 | 152 | 1.30 | 52 | 39.9 | 703 |

TCG | 48.5 | 378 | 20.4 | 385 | 9.50 | 152 | 1.24 | 50 | 38.2 | 663 |

CS | 48.5 | 380 | 20.4 | 381 | 9.60 | 149 | 1.25 | 48.1 | 38.2 | 690 |

HSA | 47.12 | 480 | 20.89 | 513 | 9.47 | 144 | 1.21 | 61.2 | 37.8 | 1020 |

FastSA | 50.30 | 541 | 20.41 | 421 | 9.60 | 214 | 1.29 | 59.9 | 40.36 | 816 |

GA | 46.90 | 191 | 20.20 | 500 | 9.85 | 68.30 | 1.29 | 46.20 | 39.5 | 912 |

PSO | 47.31 | 263 | 20.20 | 477 | 9.50 | 136 | 1.28 | 69 | 38.80 | 880 |

HPSOGA | 47.44 | 463 | 20.2 | 497 | 9.47 | 144 | 1.24 | 48.4 | 38.6 | 673 |

HPSOHS | 47.44 | 263 | 20.1 | 462 | 9.40 | 152 | 1.23 | 49.28 | 37.8 | 725 |

Algorithm | Performance parameter | Benchmark circuits | ||||
---|---|---|---|---|---|---|

apte | xerox | Hp | ami33 | ami49 | ||

GA | Area (mm^{2}) | 47.52 | 20.26 | 9.44 | 1.27 | 39.16 |

Wire (mm) | -NR- | -NR- | -NR- | -NR- | -NR- | |

Peak temperature (˚C) | 118.10 | 88.2 | 120.5 | 103.05 | 121.2 | |

HGA-SA | Area (mm^{2}) | 48.1 | 20.2 | 9.99 | 1.22 | 39.8 |

Wire (mm) | 251 | 602 | 141 | 44 | 1093 | |

Peak temperature (˚C) | 77.8 | 79.3 | 81 | 121 | 89.6 | |

SA | Area (mm^{2}) | 48.66 | -NR- | 9.78 | 1.27 | 38.86 |

Wire (mm) | 417 | -NR- | 162 | 68 | 898 | |

Peak temperature (˚C) | 78 | -NR- | 89 | 87 | 95 | |

HPSOGA | Area (mm^{2}) | 47.44 | 20.2 | 9.50 | 1.24 | 38.6 |

Wire (mm) | 480 | 502.8 | 155.6 | 51.6 | 703 | |

Peak temperature (˚C) | 73.61 | 84.38 | 114.8 | 101.14 | 96.26 | |

HPSOHS | Area (mm^{2}) | 47.44 | 20.1 | 9.48 | 1.25 | 38.5 |

Wire (mm) | 263 | 478 | 165 | 53.8 | 786 | |

Peak temperature (˚C) | 73.5 | 82.6 | 109.6 | 99.5 | 95.8 |

The results obtained are compared with the solutions derived from other stochastic algorithms. The MCL based algorithm explores the search space and the HPSOHS algorithm balances global exploration and local exploitation. Reduction of dead space with HPSOHS and SA algorithm and amount of improvements are: apte: 2.52%, xerox: 4.21%, hp: 10.79%, ami33: 9.73% and ami49: 6.66%. There is a considerable reduction in dead space (PSO vs HPSOHS) and amount of improvement for MCNC benchmarks are: hp: 2.56%, ami33: 7.65% and ami49: 11.42%. Performance of the algorithm is also analyzed using (Gigascale Systems Research Centre) GSRC circuits. Simulation result of GSRCn100 using HPSOHS is shown in ^{2} and the dead space (unused space) in the floor plan is only 0.122%. Simulation result shows that the proposed algorithm woks better for larger number of modules.

The hotspot simulation result of MCNC apte with 9 modules and total area occupied by modules is 47.4 mm^{2} and dead space as 6.294% is shown in

HS is a divergence free algorithm and has the advantage of escaping from local optima. Hence, hybridization of HS with PSO handles the problem of balancing global exploration and local exploitation. The simulation results for MCNC benchmark circuit demonstrate that the proposed algorithm achieves the optimal solution especially for larger number of modules. HPSOHS for a thermal aware floor planning by employing the thermal framework hotspot tool is implemented. There is a considerable reduction in peak temperatures of circuits in MCNC benchmarks for floor planning applications with minimal increase in area and wire length when compared to previous research. The data structure of hotspot tool is modified, so that it accepts the output from HPSOHS and returns temperature of each block which is considered as one of the parameters in the fitness function. On the other hand, the penalty in increase in area is only 2% as compared to HPSOHS

Sivaranjani Paramasivam,Senthilkumar Athappan,Eswari Devi Natrajan,Maheswaran Shanmugam, (2016) Optimization of Thermal Aware VLSI Non-Slicing Floorplanning Using Hybrid Particle Swarm Optimization Algorithm-Harmony Search Algorithm. Circuits and Systems,07,562-573. doi: 10.4236/cs.2016.75048