Patent ID: 8091059
Filing Date: 2012-01-03
Classification: G06F

Abstract:
1. A computer-performed method of controlling placement of cells in an integrated circuit design comprising: partitioning the integrated circuit design into a number of bins having a predetermined shape and size; calculating, within a computer system, a corresponding density value for the bins according to the number of cells in the corresponding bin; first determining a corresponding horizontal simulated diffusion velocity value for each bin by computing a first difference in density between a first pair of bins adjacent to the bin along a horizontal coordinate and dividing the first difference in density by twice the density of the bin; second determining a corresponding vertical simulated diffusion velocity value for each bin by computing a second difference in density between a second pair of bins adjacent to the bin along a vertical coordinate and dividing the second difference in density by twice the density of the bin; first setting the determined horizontal velocity to zero if the bin is located on a fixed boundary; first setting the determined vertical velocity to zero if the bin is located on a fixed boundary; first interpolating a horizontal cell velocity for each cell from the horizontal velocity for the two bins having centers closest to the cell and located on either side of the cell along the horizontal coordinate; second interpolating a vertical cell velocity for each cell from the vertical velocity for the two bins having centers closest to the cell and located on either side of the cell along the vertical coordinate; computing a new positions for each cell by multiplying the corresponding horizontal cell velocity by a predetermined time interval and the corresponding vertical cell velocity by the predetermined time interval to obtain a horizontal and vertical displacement for each cell and then adding the horizontal and vertical displacements to the horizontal and vertical position of each cell to relocate the cells; repeating the calculating, first determining, second determining, first setting, second setting, first interpolating, second interpolating and computing for multiple repetitions of the predetermined time interval, whereby cells located in bins having a high density value are relocated at a higher rate than other cells located in bins having a lower density value; and storing a result of the relocation of the cells in a memory of the computer system.