Cell overlap is removed from rows during a cell placement procedure for an
integrated circuit chip. The rows are partitioned into subrows so that
cells in each subrow have a common characteristic vector. Cell overflow is
removed from each of the subrows by moving a cell of an overflowed row or
exchanging two cells, at least one of which is in the overflowed subrow.
The half-cells of the dual height cells are moved to cell positions in a
suitable pair of rows based on a calculated movement penalty. The movement
is accomplished to align the half-cells and minimize the penalty. In
preferred embodiments, the process is carried out by a computer under
control of a computer program.