热度 18
2015-1-16 13:51
912 次阅读|
0 个评论
从 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 。