2
\$\begingroup\$

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 !

\$\endgroup\$
  • \$\begingroup\$ isn't the Spartan 3AN a flash-based FPGA from Xilinx? iirc it has two pages for programs \$\endgroup\$ – JonRB Nov 13 '15 at 13:18
  • 3
    \$\begingroup\$ I disagree with this question being marked a duplicate. I assume Cabs already knows about volatile FPGA memory, and is instead asking why the program isn't in flash. \$\endgroup\$ – W5VO Nov 13 '15 at 14:22
  • \$\begingroup\$ Yes, I have some bugs with that code, the program that go in flash isn't the same that when I program FPGA only... \$\endgroup\$ – Cabs Nov 18 '15 at 15:30
3
\$\begingroup\$

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

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.