I am using ISE 14.7 for a project using a Spartan 6 (not supported in Vivado), and using IMPACT to program the Flash memory (configuration memory). The Flash chip is connected via SPI to the FPGA but not directly accessible via JTAG. But IMPACT can deal with it.
My problem is that IMPACT is a freaking disaster. While using it for configuring the FPGA works without hiccups, using it for programing the Flash is a nightmare.
It keeps giving errors. If you select the wrong kind of Flash chip, it will keep giving errors and will render the IMPACT file unusable, so you have to start it all over again.
If you select the right kind of Flash chip, it does work. While IMPACT is open. But save the IMPACT file and reopen it later, it gives the same type of error as above and renders the file unusable.
So you have to redo it all over again - extremely frustrating.
Having searched on the topic, it appears that it is a very common issue. It also appears that there is apparently no cure that works. If you run into that, you're screwed.
Running ISE 14.7 on Win 7/64 btw. ISE itself has never given me any trouble. Only IMPACT.
Xilinx have decided to burry ISE for good, not supporting it whatsoever anymore, leaving a bunch of bugs uncorrected. You're supposed to have trashed all your previous projects using the 6 series. Nice job, Xilinx!
![Face Palm :palm:](https://www.eevblog.com/forum/Smileys/default/facepalm.gif)
As I'm not holding my breath about anyone here having run into this and having solved it, does anyone know of any third-party tool that can program the Flash for a Spartan 6?
I have used OpenOCD for this in the past (with another series of FPGA), and it worked.
I tried with this board, and it fails. It doesn't recognize the Flash chip for some reason.
(I know how to do it - using this:
https://github.com/quartiq/bscan_spi_bitstreams - and have used it before on another board. But with this one, no luck. The Flash chip is a W25Q80.
I also have Digilent Adept (with an HS2 adapter), it works fine for configuring the FPGA, but not for programming the Flash. This is a known limitation, they only support their own boards for Flash programming.
So, does anyone know of another tool than OpenOCD that could do this? That would be helpful.