Hi,
I am using the Xilinx ISEWebPack 8.1i together with a Spartan 3 Starter Kit (Digilent, bought from Xilinx). Now, from time to time I get an error message about failed program download to the FPGA from the Xilinx download tool.
The procedure I use for download is always the same: generate .bit file, Initialize chain (first select .bit for the Spartan, then bypass the PROM), then right click on the Spartan Icon, select "Program". Mostly then, "Success" is signaled, but, seemingly randomly, "Failed" is returned as a big red warning sign. In these cases I usually reset to the PROM-configuration and try the cycle beginning with Init-Chain above again, sometimes I shorten it to just doing the "Program" with right-click-select. After a couple of tries, this seemed to work at all times.
Now my question: What is the reason of these errors? Are they just random mishaps or can they be caused by errors in my design? Are especially timing errors in the design a possible source of download errors? (I ask this last question, because I have just completed a little state machine, that lets my processor interact with the SRAM as if it were synchronous. I used what I thought was a conservative and safe design with comfortable timing margins, but afterwards had two paths with 2.7ns "slack?" on a 10ns clock. As I inspected the paths in the post PAR timing analyzer, they seemed to me falsely analyzed and I decided to make a .bit file and download anyway. Superficially it seems to work (my cpu is correctly executing an endless loop writing to screen and copying memory blocks in the SRAM) but first I got repeatedly these "programming failed" messages, chance?).
Thanks in advance for all answers!
Jürgen