My design failed during placement, and I see the following error message:
"ERROR:Place:120 - There were not enough sites to place all selected components. Some of these failures can be circumvented by using an alternate algorithm (though it may take longer run time). If you would like to enable this algorithm, please set the environment variable XIL_PAR_ENABLE_LEGALIZER to 1 and try again"
What is the Legalizer and why do I have to set an environment variable to enable it? Shouldn't it be run automatically?
The Legalizer is a placement algorithm that can be very effective at finding a placement solution for hard-to-fit designs when the standard fitting attempts have failed. When it was first introduced, it was found to cause very long run times (hangs) on a few designs, and so a decision was made to guard it with an environment variable so that it never runs by default. There are no negative ramifications for using this algorithm when placement is otherwise failing, except for the possible waste of time, and it will often produce a successful placement that was not otherwise possible. As the run time issues are sorted out, this algorithm can be returned to default usage.
For more general information about setting ISE environment variables, see (Xilinx Answer 11630).