guozs1984 发表于 2014-2-10 10:38:05

FPGA不同下载方式的区别【扫盲】


主动配置方式(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文件
   
5flash loader单击add device选择FPGA器件
   
6.配置完后:

然后点击“generate”生成JIC文件,后面的事情跟JTAG下下载一样(将USB开关拨到run),只是将文件类型选为JIC文件。

chp019479 发表于 2014-2-10 10:40:13

感谢楼主扫盲{:biggrin:}

guozs1984 发表于 2014-2-10 11:12:24

1.        FPGA下载时,可以生成 .sof.pof 两种格式,其中 .sof下载掉电程序消失,而.pof掉电后程序不消失。下载到fpga的ram中。
2.        下载方式有2种,其中 使用jtag下载程序丢失,而使用 AS下载程序掉电不消失。下载到片外flash中。
下载如下2图所示

1). jtag 下载 .sof格式程序


2). as下载 .pof格式程序


hyhezhen 发表于 2014-2-11 23:38:24


这个是LATTICE的烧录选项,比较多。

guozs1984 发表于 2014-2-12 09:32:13

楼上,你这个Lattice xp2 啥东西?quarts II里面的么?

hyhezhen 发表于 2014-2-12 12:41:13

FPGA 有三大厂商, ALTERA   XILINXLATTICE.
我手头的LATERA 开发板都有ASJTAG两种接口。
XILINX 和 LATTICE只有固定的一排引脚
当然LATTICE 份额小
据说 LATTICE的安全性较好

Lattice xp2-5E 是一款LATTICE 的FPGA 型号,上图是烧录软件DIAMONDprogrammer 的截图

guozs1984 发表于 2014-2-12 15:05:18

我说嘛,我没见过那个界面。呵呵
页: [1]
查看完整版本: FPGA不同下载方式的区别【扫盲】