FPGA不同下载方式的区别【扫盲】以及如何利用AS模式固化程序(转载)
主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式:
AS由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,EPCS系列.如EPCS1,EPCS4配置器件专供AS模式,目前只支持 Cyclone系列。使用Altera串行配置器件来完成。Cyclone期间处于主动地位,配置期间处于从属地位。配置数据通过DATA0引脚送入 FPGA。配置数据被同步在DCLK输入上,1个时钟周期传送1位数据。(见附图)
PS则由外部计算机或控制器控制配置过程。通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,在PS配置期间,配置数据从外部储存部件,通过DATA0引脚送入FPGA。配置数据在DCLK上升沿锁存,1个时钟周期传送1位数据。(见附图)
JTAG接口是一个业界标准,主要用于芯片测试等功能,使用IEEE Std 1149.1联合边界扫描接口引脚,支持JAM STAPL标准,可以使用Altera下载电缆或主控器来完成。
AS PS JTAG的区别:
AS模式: 烧到FPGA的配置芯片里保存的,FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程;
PS模式:EPCS作为控制器件,把FPGA当做存储器,把数据写人到FPGA中,实现对FPGA的编程。该模式可以实现对FPGA在线可编程;
JTAG:直接烧到FPGA里面的,由于是SRAM,断电后要重烧;
.pof文件可以通过AS方式下载(保证byteblasterII/usb blaster连接正确);
.sof文件或者转换的.jic可以通过JTAG方式下载。
FPGA在正常工作时,它的配置数据存储在SRAM中,加电时须重新下载。在实验系统中,通常用计算机或控制器进行调试,因此可以使用PS。在实用系统中,多数情况下必须由FPGA主动引导配置操作过程,这时FPGA将主动从外围专用存储芯片中获得配置数据,而此芯片中fpga配置信息是用普通编程器将设计所得的pof格式的文件烧录进去。
专用配置器件:epc型号的存储器
常用配置器件:epc2,epc1,epc4,epc8,epc1441(现在好象已经被逐步淘汰了)等
对于cyclone cycloneII系列器件,ALTERA还提供了针对AS方式的配置器件,EPCS系列.如EPCS1,EPCS4配置器件也是串行配置的.注意,他们只适用于cyclone系列.
除了AS和PS等单BIT配置外,现在的一些器件已经支持PPS,FPS等一些并行配置方式,提升配置了配置速度。当然所外挂的电路也和PS有一些区别。还有处理器配置比如JRUNNER 等等,如果需要再baidu吧,至少不下十种。比如Altera公司的配置方式主要有PassiveSerial(PS),Active Serial(AS),Fast Passive Parallel(FPP),Passive ParallelSynchronous(PPS),Passive Parallel Asynchronous(PPA),Passive SerialAsynchronous(PSA),JTAG等七种配置方式,其中Cyclone支持的配置方式有PS,AS,JTAG三种.
一般在做FPGA实验板,(如cyclone系列)的时候,用AS+JTAG方式,这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用 AS模式把程序烧到配置芯片里去,
关于工程中不同后缀名的文件的适用范围:
sof(SRAMObject File)当直接用PS模式下将配置数据下到FPGA里用到,USB BLASTER,MASTERBLASER,BBII,BBMV适用,quartusII会自动生成,所有其他的配置文件都是由sof生成的.
pof(Programmer Object File)也是由quartusII自动生成的,BBII适用,AS模式下将配置数据下到配置芯片中
rbf(Raw Binary File)用于微处理器的二进制文件.在PS,FPP,PPS,PPA配置下有用处
rpd(Raw Programing Data File)包含bitstream的二进制文件,可用AS模式配置,只能由pof文件生成
hex(hexadecimal file)这个就不多说了,单片机里很多
ttf(Tabular Text File)适用于FPP,PPS,PPA,和bit-wide PS配置方式
sbf(Serial Bitstream File)用PS模式配置Flex 10k和Flex6000的
AS模式下载:即生成pof文件,通过Activeserial programming方式下载:
1.首先设置配置芯片的类型。以使其编译时能够产生pof文件。
2.编译后进行下载设置:
选择下载模式为Active serial programming后,出现如图所示的对话框,选择“是”
通过 add file 添加pof文件
添加后在verify和blank check选项中画上勾(因为我们使用的为USB blaster 下载,所以需要校验)
在下载之前将usb下载开关拨到pROG,然后才能点击下载按钮进入下载 页面下载程序。
固化下载(间接JTAG下载)的另外一种下载方式:
(先编译生成SOF文件,也就是JTAG方式下的下载文件,然后)
1 在“文件”里选择“Convert Programming Files”,出现对话框后
2 在programming file type里选.jic( file name选择转换文件)
3 在configuration device里选择相应的串行配置器件
4 选sof data,单击add file选择sof文件
5 flash loader单击add device选择FPGA器件
6.配置完后:
然后点击“generate”生成JIC文件,后面的事情跟JTAG下下载一样(将USB开关拨到run),只是将文件类型选为JIC文件。