A Spartan-II device does not configure properly with every configuration attempt. The following devices are affected by this failure:
XC2S15-5CES (all packages)
XC2S30-5CES (all packages)
XC2S150-5C with a date code of 0045 or earlier (all packages)
If your Spartan-II device is on the list above, the PWRDWN_B pin is a probable root cause.
On these devices, a PWRDWN pin must be connected or pulled-up to VCC. See (Xilinx Answer 10500) for more information. If the pin is left unconnected, or is left to be pulled High with the internal weak pull-up, the device can unexpectedly enter a power-down mode and configuration will not complete.