Methods and apparatuses to automatically modify a circuit design according
to the possible deviation in the subsequent implementation of the
circuit. In one aspect, a method to design a circuit includes:
determining whether a design constraint is likely to be violated during a
subsequent routing implementation of a design of the circuit; and,
modifying the design of the circuit to reduce likelihood of the design
constraint being violated during a subsequent implementation. For
example, a route for a net with a number of fanout larger than two and on
a timing critical or near-critical path may be considered sensitive to
route topology such that an alternative routing path may lead to a
violation in timing constraint; to reduce the possibility of a timing
problem in a subsequent routing solution, a transformation can be
selectively applied to the circuit design to an extent not worsening a
cost function.