从FPGA的工艺整理FPGA多种下载方式。
ROM
EEPROM和EPROM以及FLASH都是非易失性存储器,可对器件多次编程。
1、 EEPROM与EPROM
EEPROM电擦除,可在线编程
EPROM擦除方式复杂,需用紫外线擦除,或者专门的擦除器,只能离线写入程序。
2、 EEPROM 与Flash
l EEPROM可以按“位”擦写,FLASH按“块”擦写
l EEPROM容量不大,FLASH容量大
l EEPROM写入速度慢,FLASH写入速度快
SRAM
SRAM是易失性存储器,掉电后数据丢失,读写速度快,可以按字节改写
FPGA的工艺
FGPA按工艺分主要有SRAM工艺和Flash(类似EEPROM)工艺两类。
1、 SRAM工艺的FPGA
FPGA最大的特点是掉电数据会丢失,无法保存,所以它们的系统除了一个FPGA以外,外部还需要增加一个配置芯片用于保存编程数据,比如EPCS4,EPCS16,每次上电的时候都需要从这个配置芯片将配置数据流加载到FPGA,然后才能正常的运行;
2、 Flash工艺的CPLD
掉电不会丢失数据,无需配置芯片EPCS4,上电即可运行
FPGA的下载配置
FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和JTAG配置方式。CPLD只有JTAG配置方式。
1、 AS模式
下载pof文件,配置EPCSx,掉电不丢失
将配置数据烧到FPGA配置芯片(EPCS)中保存,FPGA器件每次上电时把EPCS的数据读入FPGA中,实现对FPGA的编程配置。数据通过DATA0引脚送入 FPGA,配置数据被同步在DCLK输入。
专用配置器件:EPC型号的存储器,EPCS系列只适用于cyclone系列。
2、 PS模式
由外部计算机或控制器控制配置过程。通过加强型配置器件(EPC16,EPC8,EPC4)等配置器件来完成,EPCS作为控制器件,把FPGA当作存储器,把数据写人到FPGA中,实现对FPGA的编程。该模式可以实现对FPGA在线可编程。
在实验系统中,通常用计算机或控制器进行调试,因此可以使用PS。
调试时必须隔离缆线与配置芯片的信号。调试完成以后,才把程序烧在配置芯片中。
3、 JTAG
下载sof文件,掉电丢失;可以将sof转换为jic文件,用EPCSx配置,掉电不丢失。
JTAG是直接烧到FPGA里面中的RAM里。 由于是SRAM 故断电后要重烧。
关于JTAG的原理,可以参考OPEN-JTAG 开发小组写的《ARM JTAG 调试原理》。JTAG实际上是将仿真功能嵌入到芯片内部,接上比较简单的调试工具就可以进行开发了,省掉了高价的仿真器。
JTAG 调试用到了 TCK、TMS、TDI、TDO 和 TRST这几个脚。
4、 一般调试方法AS+JTAG
这样可以用JTAG方式调试,而最后程序已经调试无误了后,再用 AS模式把程序烧到配置芯片里去,而且这样有一个明显的优点,就是在AS模式不能下载的时候,可以利用Quartus II自带的工具生成JTAG模式下可以利用的.jic文件来验证配置芯片是否已经损坏
转换过程如下:
l 使用汇编器产生一个包含FPGA配置数据的SRAM目标文件(.sof)。
l 选择转换编程文件(File->Convert Programming Files)。
在Output programming file:.jic
Configuration device选择目标EPCS配置器件。
File name:output_file.jic把output_file换成你想要的名字
指定 .sof文件,在Input files to convert下面选择SOF Data,点击Add File...
指定FPGA目标器件,选择Flash Loader项,点击Add Device。
generate
l Programmer 选择JTAG模式,添加新生成的JIC文件到编程列,START
5、 下载电缆
Altera下的下载电缆分为ByteBlaster和ByteBlasterMV,以及ByteBlaster II,现在还推出了基于USB-blaster.由于BB基本已经很少有人使用,而USB-Blaster现在又过于昂贵,这里就说一下BBII和 BBMV的区别.
l BBII
支持多电压供电5.5v,3.3v,2.5v,1.8v;
BBII支持三种下载模式: AS,可对Altera的As串行配置芯片(EPCS系列)进行编程;PS可对FPGA进行配置 ;JTAG,可对FPGA,CPLD,即Altera配置芯片(EPC系列)编程;
l BBMV
只支持PS和JTAG。
文章评论(0条评论)
登录后参与讨论