I decided to brush the dust off my Xilinx Spartan-3A starter board that I got a while back, and learn to use Verilog. So with the help of Pong Chu's book FPGA Prototyping By Verilog Examples: Xilinx Spartan-3 Version
I got a simple program written and compiled using the Xilinx ISE.
I then launched their IMPACT tool so I could download the program to the board. After a few false starts, I was able to get everything configured (I thought) and download the program to the FPGA, and it ran. But of course if I restarted the board, the demo program that came with the board was loaded off the PROM and started running again.
So I then tried to program the PROM instead. Even thought the IMPACT console says the part is programmed (see below), when I restart the board I still get the original demo program running again.
Best Answer
You've got the wrong device.
In order to program the SPI Flash using the indirect JTAG method, you need to right click on the FPGA and select
Add BPI/SPI Flash
. It'll ask for the device type and your programming files. The type should be SPI FlashM25P16
according to this document, page 106. Then highlight the SPI Flash you just added and select the Program operation. When the Programming Properties comes up, Xilinx recommends you tick theVerify
andErase before programming
options.These instructions, and more, are available in the Spartan-3A FPGA Starter Kit Board User Guide, the programming instructions for the indirect method start on page 103.
Note:
If the above doesn't work, check your Jumper settings. Taken from the User Guide. Page 103.