Hi!
I've tried to explore the BPI (Byte Peripheral Interface) configuration mode on the Spartan-3E starter kit without success.
I've followed the "EDK Flashwriter.ppt" I got from Xilinx and I've managed to burn uClinux images and bin-files anywhere I want in the StrataFlash, but my Spartan-3E Starter boards (rev c) never configure themselves from the Intel StrataFlash device:
- I have strapped MODE(2:0) to "010" (BPI/UP) as well as "011" (BPI/DOWN).
- I have stored my BIN-files generated from my bit-files with the "promgen -p bin -c FF -o output.bin -u 0x0 input.bit" and "promgen -p bin -c FF -o output.bin -d 0xFFFFF input.bit" commands at offset 0x2000 (BPI/UP) as well as offset 0xFBAA9F (BPI/DOWN) in the StrataFlash.
- When I configure the FPGA with bit-files via JTAG the MicroBlaze starts executing the bootloader application from internal BRAM, moving the uClinux image from the StrataFlash to the DDR SDRAM and then starts to execute from there, but this never succeeds with my design stored in StrataFlash.
There is a small CPLD (XC2C64) on the board connected to XC-A(23:20), XC-DONE, etc. I believe this device has to drive A(24:20) high or low during FPGA configuration in order to have the FPGA fetch the bitstream from the top/bottom of the StrataFlash. I don't have access to sourcecode for this CPLD, but obviously have relied on it to do it's job. I guess that the question is if it does so on a std revC Spartan-3E Starter board?
I've read the S3E/StrataFlash article
Regarding the configrate setting I haven't changed it since I believe that the default configrate=6 => 1,5 MHz should be ok with the 110 -
150 ns accesstime of the StrataFlash.I guess that offset 0x2000 and 0xFBAA9F applies for XC3S500E devices. What offset values applies for XC3S1200E and XC3S1600E devices ..... or can I use almost any offset in the StrataFlash since an S3E-device in BPI-mode will search the StrataFlash until it finds the right "initialization sequence" and then successfully configure from there?
The board:
I'm using EDK8.2i (SP1) and ISE8.2i (SP2) and Rev C boards.
Please help.