你理解得很正确。
FPGA有两种运行模式,即下载模式和烧写模式。下载模式是在上电的情况下通过JTAG接口直接把程序(Altera平台下是.sof文件,SRAM Object File)下载到FPGA中。因为FPGA是基于SRAM结构的,因此断电后刚刚下载的程序就丢掉了,上电后必须重新下载才可以运行该程序。烧写模式是通过Blaster电缆把编译生成的目标文件(Altera平台下是.pof文件,Programming Object File)烧写到配置芯片中。配置芯片通常是和FPGA配套使用的专用Flash,EPCS后面的数字代表位宽。一旦程序烧到配置芯片中后,在板子上电的时候FPGA就自动从配置芯片下载程序,之后会有一个自动的全局复位(根据约束的上电电平)。
根据上面的说法,.sof文件的大小和FPGA的型号有关,而.pof文件的大小和配置芯片的型号有关。
通俗一点讲
1.FPGA本身并不储存程序,而是放到EPCS中,上电后在读入执行。
2.一般因为EPCS都是有寿命的,经常写会短命。所以等程序写好,调试完成才写入EPCS中的。
所以,经常使用的就是JTAG模式
1 4 16 是版本号,不同的fpga芯片配不同的epcs