Cells are placed into an integrated circuit floorplan by creating clusters
of cells in modules, each cluster being composed of cells in a path
connected to at least one flip-flop in the module, or of cells that are
not in a path connected to any flip-flop. Regions are defined in the
floorplan for placement of modules, and the clusters are placed into
optimal locations in modules and placing the modules into optimal
locations in the regions. The coordinates for the wires, modules and
clusters are selectively recalculated. The clusters are moved in the
floorplan for more uniform density, and the modules are assigned to
regions based on module coordinates.