Electronic – FPGA non-volatile progamming

cyclonefpgajtagnon-volatile-memory

I recently bought a Cyclone II FPGA here. I have been able to program it with a USB Blaster cable and the Altera Quartus Software. The problem is that when I disconnect power, I lose the program. How do I program it so it will continue its operation after power is lost?

Note: this question is similar to this one, but the name of the question made it hard to search for, so I agree with "The Photon" that this one should be kept open.

Best Answer

An FPGA (with some exceptions, which don't include the Cyclone family) does not have non-volatile storage, so it will lose its configuration when power is removed.

However, it can be programmed (by pull-up/down connections on its pin) to automatically reload a configuration data from another device on the PCB as soon as it's powered up.

You will need to look at the Configuration User Guide (sorry, that's the Xilinx name, Altera will have something similar) for your device to determine how to set your FPGA up to automatically re-load its program on power up.

And you will need to look at the design of your demo board to find out what kind of non-volatile storage device is provided for the FPGA to be programmed from.

Then you'll need to program your bitstream into the nonvolatile storage device, and reset the FPGA, to have your FPGA reconfigure automatically on power-up.