OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

gpl: add random noise to initial locations

Open ramezmoussa opened this issue 3 years ago • 0 comments

During global placement, all cells are initially placed at the center. This turned out to be problematic for identical cells connected in parallel because such cells would experience the exact same wirelength and density forces and consequently they will always remain on top of one another.

This was discovered while investigating an issue in OpenROAD-flow-scripts where a small design (<200 cells) failed to converge because 30+ identical buffers were connected in parallel. These buffers would always end up at the same location, causing large overflow in their bin, preventing convergence.

To avoid this, we add a random noise between -1 and 1 microns to both the x and y coordinates of each cell to prevent cells from starting at the exact same position.

ramezmoussa avatar Sep 14 '22 17:09 ramezmoussa