...
SPI Flash can be programmed in several ways:
Direct programming by via USB controller (; it is usually done by Firmware Upgrade Tools like Python OpenFut and C# OpenFutNet).
Indirect SPI programming via FPGA pins, controlled by JTAG (can be done using Xilinx iMPACT); it is done by Xilinx iMPACT via JTAG. See Appendix A. Indirect SPI Programming using iMPACT.
Direct SPI programming by FPGA, using an SPI core (via FPGA pins; the FPGA project should contain SPI interface core and the software to work with it : only if iMPACT GUI (SPI interface and SW required are automatically created by Xilinx iMPACT tool). Only if Xilinx iMPACT tool is version 11.x or below, see Xilinx AR#36156)).
SPI Flash can be programmed using the following connection:
...