When adding data files to mcs for ISF of Spartan-3AN in the PROM File Formatter, Power-of-2 addressing is not applied if selected in the GUI.
Even if Power-of-2 addressing is selected in the iMPACT GUI, the window to add data files to the mcs shows the addresses in default address mode. The resulting .prm file shows that the data file was not added at the correct address.
For example, for a Spartan-3AN 1400AN device, if you were to create an mcs file with 2 bitstreams and one data file, then these files should be stored at the following locations (in decimal):
Bitstream 1 Bitstream 2 Data file
Default: 00000000 675840 1351680
Power-of-2: 00000000 655360 1310720
However, when creating this file in the iMPACT GUI with Power-of-2 set, the address for the data file is given as 1351680, not 1310720.
The work-around is to use the -data_file in PROMGen from command line to create the .mcs file. An example of the command to run (for the above example) is given below (addresses converted to hex):
promgen -w -p mcs -c FF -o my_mcs -s 2048 -u 0 test1.bit -u a0000 test2.bit -data_file up 140000 executable.elf -spi
The hex addresses can be found on page 25 of UG333, for the 1400AN, or on the previous pages for smaller devices.