你好,首先你要了解fpga的程序下载方式,一般有3中,ASD(主动式),psd(被动式),和JTAG,一般在程序调试的过程中 用的是JTAG模式,不需要片外配置芯片,他是直接将你编写的程序下载到FPGA的片内ram内,ram,你懂的,是掉电不保存数据的,因此你的数据就丢失了。而一般在程序确保调试成功之后,就使用ASD方式,将数据下载到一块片外配置芯片内,例如altera的cyclone系列采用的是EPCS系列的专用配置芯片,实际上就是EEPROM,rom,你又懂得,他是断电不丢失的,不知道你明白了没有~~~
再补充一点,ASD模式中,FPGA作为控制器件,来引导配置过程,每次上电后,来控制EPCS中的数据传入自己的RAM中,而psd模式下,外部计算机和EPCS是控制者,FPGA芯充当一个外部存储器,psd模式我没怎么用过,研究不深。
用AS模式,下载后掉电也不会丢失程序。
JTAG模式,掉电的话会丢失程序,不知道你用的什么。
因为是写在ram里面的。掉电丢失数据。JTAG也可以下载不掉电,可以看看EDN中特权的深入浅出的那本书的资料。博客里有免费的。