The Vivado Design Suite is capable of programming the SPI flash attached to the FPGA by downloading an indirect programming bitstream to the target FPGA that contains an SPI controller. The Vivado tools communicate with the SPI controller via a JTAG cable to transfer the programming file into the SPI flash. This in-system programming feature can enable the testing and debugging of multiple design iterations in the prototyping phase and for debugging. This feature is not intended for high-volume production programming. For production programming, consider solutions from BPM Microsystems or Data I/O.