My understanding is that ST’s M25P10-A, M25P40, M25P16 and M25P64 can replace Altera's EPCS1, EPCS4, EPCS16 and EPCS64. A few years back I replaced an EPCS4 in a Terasic/Altera DE1 board (Cyclone II) with a M25P40. Quartus II/USB Blaster programmed it without problems. The DE0-CV (Cyclone V) uses a Spansion FL064P. The DE1-SoC (also a Cyclone V) uses the Spansion FL128SA. The M25P40 has been discontinued, but the W25Q40 looks very similar...
My video scalers used ST's as bootproms with a Cyclone III EP3C55, program fine with both altera's USB Blaster and third party clones + I also successfully integrated self re-programming of the boot-proms + used the spare space on the proms for software apps, with 1 caveat, when designing a self-modifying firmware for the boot-prom, make sure you have a power supply fault detector feeding the nConfig/Global reset. Without this, sometimes during loss of power, if you have large caps slowly discharging the rails of the FPGA, if your code accidentally begins a write cycle due to corrupt functionality during the power drop, you may corrupt the data on your boot-prom.
That bug took me over a month to discover why my boot-prom sometimes corrupted after less than 1% of power down/power up cycles.
It drove me mad.
Quartus also gave me a little headache configuring the boot-prom lines as IOs for my SPI interface, but I managed to get it to work.