比如说Altera
FPGA,对于大部分芯片都可以同时采用2种编程方法,即AS+配置芯片方式以及JTAG方式,下载电缆都可以通用,比如ByteBlasterII;
用AS+配置芯片方式,就是可以将程序下载到配置芯片中,配置芯片(如EPCS系列)就是一块EPROM,它可以在每次系统上电的时候,都自动将程序烧写到FPGA中,这样一来FPGA就用不着每次上电都重新烧写了,跟使用CPLD时是一样的。这种方式下采用的下载文件时POF文件。
用JTAG方式的话,就是直接将程序下载到FPGA中,由于FPGA中是基于SRAM结构的,所以每次断电之后程序就没有了,所以必须每次上电都重新下载。用JTAG方式的好处在于便于调试,比如我们可以用QuartusII中的SignalTapII嵌入式逻辑分析仪进行FPGA
I/0引脚上信号的实时观测,非常的方便。这种方式下采用的下载文件时SOF文件。
另外,如果使用了某些没有License的IP
Core资源的话,那么必须在JTAG方式下,把下载线连在FPGA上才能使用,而且通常有时间限制,超过时限之后,就需要重新编译程序,产生新的SOF下载文件。
----------------------------------------------------------
AS模式:FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程。
PS模式:EPCS作为控制器件,把FPGA当做存储器,把数据写人到FPGA中,实现对FPGA的编程。该模式可以实现对FPGA在线可编程。
在下载配置的时候对于cycloneII的器件,如ep2c8,在JTAG下载方式对应.sof,AS下载方式对应
.pof.
JTAG是直接烧到FPGA里面的
由于是SRAM 断电后要重烧,AS是烧到FPGA的配置芯片里保存的
每次上电就写到FPGA里