Xilinx FPGAs can load from a variety of devices, based on the setting of the Mode pins. They can take serial downloads from serial PROMs that have address counters in them, or parallel PROMS, that is called master mode, where the FPGA provides the serial clock Or, there is slave mode, where a micro provides the clock. It is all described in a Xilinx tech document, and they tell you what makes of serial PROMS they support.
I use an SST serial PROM (I think now made my Atmel) because it is about $0.86 in small quantity, and the Spartan 2E and 3 FPGAs support the initialization of the PROM. I'm pretty sure the Spartan 7 also support it. I made a custom programmer for it, it is just a serial protocol.
Jon