GASP: a Genetic Algorithm for Standard cell Placement

  • Authors:
  • K. Shahookar;P. Mazumder

  • Affiliations:
  • University of Michigan, Ann Arbor, MI;University of Michigan, Ann Arbor, MI

  • Venue:
  • EURO-DAC '90 Proceedings of the conference on European design automation
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes the implementation of the Genetic Algorithm for Standard-cell Placement, GASP-1. As opposed to simulated annealing, which normally uses pairwise interchange for transforming the layout configuration, in a genetic algorithm, the crossover operator is used to combine two current configurations to generate a new configuration (similar to reproduction in living organisms). The traditional genetic crossover operator, as proposed by Holland, cannot be applied to the cell placement problem without modification, because it occasionally results in illegal placement. A great deal of effort has there fore been directed towards finding an efficient crossover operator for this problem domain. Three powerful crossover operators have been implemented, and their performance in reducing the interconnect length has been compared. The results of this comparison were conclusively in favor of Cycle crossover. Besides crossover, two other genetic operators --- mutation and inversion --- have been used to improve the efficiency of the search process. In order to benchmark the performance of GASP-1, the best possible compromise of the parameters was picked, and the algorithm was run to place five industrial circuits consisting of 100 to 800 cells. The results were very encouraging. The total number of configurations examined by GASP-1 was 19 to 50 times less than that for Timber Wolf 3.3 and the run time was marginally better. The percentage improvement in the wire length was better in three out of five circuits The overall conclusion from this research is that adaptive search based on the genetic algorithm yields results comparable to simulated annealing, both in the final result quality and computation time required.