7. A method for placement of a plurality of cells of a user design on an integrated circuit (IC), the method comprising: at a satisfiability solver: receiving a placement for the plurality of cells on a plurality of sites on the IC from a placer; receiving, from the placer, a set of placement constraints for the received placement, the received placement violating one or more placement constraints in the set of placement constraints; moving a cell in the plurality of cells from a first site on the IC to a second site on the IC to identify a placement for the plurality of cells; receiving a revised set of placement constraints for the identified placement from the placer; determining whether the identified placement satisfies the revised set of placement constraints; when the identified placement satisfies the revised set of placement constraints, sending the identified placement to the placer as the placement for the plurality of cells without attempting to find another placement solution that satisfies the set of placement constraints; and configuring the integrated circuit with configuration data that includes the identified placement that satisfies the revised set of placement constraints.
7. A method for placement of a plurality of cells of a user design on an integrated circuit (IC), the method comprising: at a satisfiability solver: receiving a placement for the plurality of cells on a plurality of sites on the IC from a placer; receiving, from the placer, a set of placement constraints for the received placement, the received placement violating one or more placement constraints in the set of placement constraints; moving a cell in the plurality of cells from a first site on the IC to a second site on the IC to identify a placement for the plurality of cells; receiving a revised set of placement constraints for the identified placement from the placer; determining whether the identified placement satisfies the revised set of placement constraints; when the identified placement satisfies the revised set of placement constraints, sending the identified placement to the placer as the placement for the plurality of cells without attempting to find another placement solution that satisfies the set of placement constraints; and configuring the integrated circuit with configuration data that includes the identified placement that satisfies the revised set of placement constraints. 10. The method of claim 7 , wherein determining whether the identified placement satisfies the revised set of placement constraints comprises determining whether the identified placement satisfies a set of congestion constraints.