Electronic – Save a program into a Spartan 3AN

fpgaxilinx

I would like to "save" a program into my spartan 3AN, I explain :

Currently, I can program my FPGA and use it but when I shut down the board and power it, the program isn't there yet and I've to program my chip again…

Can someone tell me the solution to save my program somewhere in the FPGA?

Thank you !

Best Answer

The Spartan 3AN has a on-chip flash memory to store your "program". You need to ensure you program the flash not the SRAM via JTAG to ensure your program is non-volatile

http://www.xilinx.com/support/documentation/user_guides/ug333.pdf

Spartan-3AN FPGAs include abundant In-System Flash (ISF) memory. The ISF memory array appears to a Spartan-3AN FPGA application as SPI-based serial Flash memory. The ISF memory is primarily designed to automatically configure the FPGA when power is applied or whenever the PROG_B pin is pulsed Low. However, the ISF memory array is large enough to storeā€¦

Make sure the mode select pins are configured to make use of the internal FLASH

http://www.xilinx.com/support/documentation/user_guides/ug332.pdf

Mode Select Pins, M[2:0] The Spartan-3AN FPGA family is generally designed to be pin and function compatible with the Spartan-3A/3A DSP FPGA families. The Spartan-3AN FPGA family supports all the same configuration modes as the Spartan-3A/3A DSP FPGAs and adds the ability to configure from the internal In-System Flash memory. To configure from Internal Master SPI Flash mode, the FPGA mode select pins must be set to M[2:0] = <0:1:1>. Furthermore, the VCCAUX supply must be 3.3V.

http://www.xilinx.com/support/documentation/data_sheets/ds557.pdf