Does iMPACT support indirect BPI programming for Spartan-3E devices?
iMPACT does not support Indirect BPI programming for Spartan-3E devices.
To work around this issue, you can use EDK FlashWriter with the following procedure to program both the bitstream and EDK software, if needed:
Procedure to Program a BPI Flash with a bitstream and software for a MicroBlaze processor
1. Create the ELF file for the software in EDK. 2. Convert the ELF file to the SREC format, using EDK FlashWriter. 3. Consult the Spartan-3 FPGA Generation Configuration User Guide (UG332) to find the bitstream size to avoid overwriting the bitstream to be programmed into the flash at offset 0x0000. Use EDK FlashWriter to configure the MicroBlaze processor into the flash. FlashWriter does not erase the entire flash, so you can run it multiple times. Take the bootloader application from FlashWriter and check that the offset is set to match the one you used in FlashWriter. 4. Create the BIT file for the FPGA with the EDK bootloader loaded in the block RAM. 5. Convert the BIT to BIN by using the PromGen command line. Alternatively, you can use the iMPACT (10.1) PROM File Formatter to create a BIN for a Xilinx PROM; this will create the correct format.
Example of BPI-UP promgen command line (always starts at 0x00000) promgen -p bin -u 0x000000 <filename>.bit
Example of BPI-DOWN promgen command line for a 1 MB PROM. promgen -p bin -d 0xFFFFF <filename>.bit
6. Run EDK FlashWriter again (with offset = 0x0000) to program the BIN into the flash ready for BPI-UP configuration. 7. Power Cycle or pulse PROG to test.