fpga配置和flash编程

上传人:第*** 文档编号:71625410 上传时间:2019-01-21 格式:PPT 页数:113 大小:3.91MB
返回 下载 相关 举报
fpga配置和flash编程_第1页
第1页 / 共113页
fpga配置和flash编程_第2页
第2页 / 共113页
fpga配置和flash编程_第3页
第3页 / 共113页
fpga配置和flash编程_第4页
第4页 / 共113页
fpga配置和flash编程_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《fpga配置和flash编程》由会员分享,可在线阅读,更多相关《fpga配置和flash编程(113页珍藏版)》请在金锄头文库上搜索。

1、第5章 FPGA配置方式和配置过程,-片上系统嵌入式基础教程 郑州大学出版社出版 郑州坤升电子技术有限公司 徐江峰等编著,本章将首先介绍FPGA配置方式和配置过程,然后简单介绍了配置芯片、配置文件的种类以及配置电路设计要点,本章最后讲述了配置文件下载、Flash编程等方面的内容,其中Flash编程包括NOR Flash的编程、EPCS的编程。通过本章的内容读者将理解并掌握FPGA配置以及Flash编程、NiosII程序装载等的相关内容。,主要内容,第5章 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置 5.3 配置芯片 5.4 配置的软件设置 5.5 配

2、置文件 5.6 配置可靠性及电路设计注意事项 5.7 下载配置文件到FPGA 5.8 下载配置文件到EPCS 5.9 IDE Flash Programmer介绍 5.10 用户程序引导 5.11 使用IDE Flash Programmer 编程 5.12 创建目标板Flash编程设计,第5章 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置 5.3 配置芯片 5.4 配置的软件设置 5.5 配置文件 5.6 配置可靠性及电路设计注意事项 5.7 下载配置文件到FPGA 5.8 下载配置文件到EPCS 5.9 IDE Flash Programmer介绍

3、 5.10 用户程序引导 5.11 使用IDE Flash Programmer 编程 5.12 创建目标板Flash编程设计,5.1 FPGA配置,配置(configuration)是对FPGA的内容进行编程的过程。每次上电后都需要进行配置是基于SRAM工艺FPGA的一个特点,也可以说是一个缺点。FPGA配置过程如下:,外部电路将配置数据载入片内配置RAM中,外部电路,FPGA配置完成,配置 RAM,配置RAM中的配置数据: 用于控制FPGA内部可编程的内部逻辑、内部寄存器和I/O寄存器初始化,I/O驱动器使能等。之后FPGA进入用户模式。,5.1 FPGA配置,FPGA配置方式 根据FPG

4、A在配置电路中的角色,可以将配置方式分为三类: 1.FPGA主动串行(AS)方式 2. JTAG方式 3. FPGA被动(Passive)方式,配置数据,FPGA主动串行(AS)方式,1,下载工具 或 智能主机,JTAG方式,2,FPGA仅输出响应信号,FPGA被动(Passive)方式,3,5.1 FPGA配置,FPGA配置方式 根据FPGA在配置电路中的角色,可以将配置方式分为三类: 1.FPGA主动串行(AS)方式 2. JTAG方式 3. FPGA被动(Passive)方式,配置数据,FPGA主动串行(AS)方式,1,下载工具 或 智能主机,JTAG方式,2,FPGA仅输出响应信号,F

5、PGA被动(Passive)方式,3,被动方式可分为下列几种方式: 被动串行方式(PS) 快速被动并行(FPP)方式 被动并行异步(PPA)方式 被动并行同步(PPS)方式 被动串行异步(PSA)方式,5.1 FPGA配置,Altera FPGA配置方式列表,5.1 FPGA配置,Cyclone FPGA配置方式表,5.1 FPGA配置,FPGA配置过程 FPGA的配置包括3各阶段:复位、配置和初始化。,复位,配置,初始化,进入 用户模式,配置过程波形图,5.1 FPGA配置,FPGA配置过程 FPGA的配置包括3各阶段:复位、配置和初始化。,复位,配置,初始化,进入 用户模式,配置数据写入到

6、器件中,器件内部逻辑和寄存器初始化,I/O缓冲使能,配置过程波形图,FPGA配置过程,FPGA 配置流程图,第5章 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置 5.3 配置芯片 5.4 配置的软件设置 5.5 配置文件 5.6 配置可靠性及电路设计注意事项 5.7 下载配置文件到FPGA 5.8 下载配置文件到EPCS 5.9 IDE Flash Programmer介绍 5.10 用户程序引导 5.11 使用IDE Flash Programmer 编程 5.12 创建目标板Flash编程设计,5.2 Cyclone及Cyclone II FPGA

7、配置,Cyclone 以及Cyclone II FPGA使用SRAM单元来存储配置数据。FPGA中的SRAM是易失性的,每次上电之前,配置数据(或压缩的配置数据)必须重新下载到FPGA中。下面的2个条件均可使FPGA产生一次配置请求: 给FPGA重新上电; FPGA的nConfig引脚上产生一个低电平到高电平的上升沿。,5.2 Cyclone及Cyclone II FPGA配置,Cyclone及Cyclone II FPGA的配置方式包括: FPGA主动串行(AS)配置方式; FPGA被动(Passive)配置方式 ; JTAG配置方式 。 用户可以通过设置FPGA上的MSEL0、MESL1两

8、个引脚的状态来选择配置方式。各种方式的MSEL0、MESL1设置如下表所列:,5.2 Cyclone及Cyclone II FPGA配置,配置方式设置,说明: 在上表中,如果只采用一种配置方式,则可以直接将MSEL0、MESL1连接到VCC(注意要与FPGA的IO口的供电VCCIO相同)或GND; 如果需要多种配置方式,那么MSEL要用控制器(单片机、CPLD等)来控制以进行切换; MSEL管脚在配置开始前必须处于一个固定的状态,因此不能将MSEL管脚悬空。,5.2 Cyclone及Cyclone II FPGA配置,另外,不同型号FPGA的配置文件大小不同,下表中列出了FPGA在不压缩情况下

9、二进制配置文件(.rbf)的最大大小。设计者可以根据配置文件的大小来选择合适的配置器件和其它存储器。并可使用压缩功能,来减小配置文件的大小。,说明: 同型号的FPGA配置文件会因所使用的单元不同而不同,配置文件越小下载速度和配置速度越快。,5.2 Cyclone及Cyclone II FPGA配置,Cyclone FPGA 二进制文件(.rbf)大小,主动串行配置 主动串行配置方式(AS)是将配置数据事先存储在串行配置器件EPCS中,然后在系统上电时Cyclone及Cyclone II FPGA通过串行接口读取配置数据(如果是压缩数据,还会进行解压缩处理)对内部的SRAM单元进行配置。因为上述

10、配置过程中FPGA控制配置接口,因此通常称为主动配置方式。,5.2 Cyclone及Cyclone II FPGA配置,主动串行配置,主动串行配置的电路原理图,说明: 因为FPGA上的nSTATUS、CONFIG_DONE管脚都是开漏结构,所以都要接上拉电阻。FPGA的片选脚nCE必须接地。,用于对EPCS的编程,5.2 Cyclone及Cyclone II FPGA配置,主动串行配置,复位,配置,初始化,进入 用户模式,配置数据写入到器件中,器件内部逻辑和寄存器初始化,I/O缓冲使能,配置过程波形图,主动串行配置 串行时钟(DCLK)在配置结束后内部振荡器关闭。下表列出了DCLK的输出频率。

11、对于Cyclone II FPGA,通过MSEL可以选择时钟为20MHz或40MHz。 配置的时间与配置文件大小以及DCLK的频率有关,关于AS方式配置时间的估算请见下一小节。,5.2 Cyclone及Cyclone II FPGA配置,主动串行配置 用户可以在QuartusII软件中选择,用哪一个时钟来进行FPGA寄存器和用户I/O口的初始化、以及是否在配置出错后重新开始配置等内容。如下图所示的弹出窗口:,5.2 Cyclone及Cyclone II FPGA配置,功能服用引脚设置,主动串行配置(AS)的配置时间估算 主动串行配置时间为串行配置器件数据传送到FPGA的时间,这取决于DCLK的

12、频率以及配置文件的大小。 以Cyclone EP1C6器件为例,非压缩的.rbf格式配置文件的大小为1167216位、DCLK最低频率为14MHz(71ns),则最大配置时间为: 1167216*71ns82872336ns83ms 当DCLK的典型频率为17MHz(59ns)时,配置时间为: 1167216*59ns=68865744ns 69ms,5.2 Cyclone及Cyclone II FPGA配置,主动串行配置(AS)的配置时间估算 如果允许配置数据压缩,由于配置时要对数据进行解压缩,需要增加配置时间,一般要增加50的配置时间,即EP1C6器件在采用压缩数据进行配置时需要约103.

13、5ms的时间。 此外,在配置完成后紧接着的FPGA寄存器和用户I/O口初始化也需要消耗一定的时间(Cyclone为136个时钟周期,Cyclone II为299个时钟周期),当不采用CLKUSR管脚时钟,而使用FPGA内部10MHz时钟时,Cyclone EP1C6消耗13.6us的初始化时间。,5.2 Cyclone及Cyclone II FPGA配置,JTAG配置 通过JTAG接口,利用Quartus II软件可以直接对FPGA进行单独的硬件重新配置。Quartus II软件在编译时会自动生成用于JTAG配置的.sof文件。 如果同时使用AS方式和JTAG方式来配置FPGA,JTAG配置方

14、式拥有最高的优先级,此时AS方式将停止,而执行JTAG方式配置。,5.2 Cyclone及Cyclone II FPGA配置,主动串行配置的电路原理图,JTAG配置,5.2 Cyclone及Cyclone II FPGA配置,JTAG配置 利用Quartus II软件和USB Blaster、ByteBlaster II等下载电缆可下载配置数据到FPGA。Quartus II软件可以验证JTAG配置是否成功。 JTAG配置通过下载电缆使用SOF、Jam或者JBC文件直接对FPGA进行配置,这种配置方式只能用于调试阶段,因为,掉电后FPGA中的配置数据将丢失。,5.2 Cyclone及Cyclo

15、ne II FPGA配置,ByteBlaster II,USB Blaster,第5章 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置 5.3 配置芯片 5.4 配置的软件设置 5.5 配置文件 5.6 配置可靠性及电路设计注意事项 5.7 下载配置文件到FPGA 5.8 下载配置文件到EPCS 5.9 IDE Flash Programmer介绍 5.10 用户程序引导 5.11 使用IDE Flash Programmer 编程 5.12 创建目标板Flash编程设计,Altera FPGA的配置芯片可以分为3类: 增强型配置器件:EPC16、EPC

16、8、EPC4; 主动串行配置器件:EPCS64、EPCS16、EPCS4和EPCS1; 普通配置器件:EPC2、EPC1、EPC1441。,5.3 配置芯片,5.3 配置芯片,各配置芯片的属性如下表所示:,第5章 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置 5.3 配置芯片 5.4 配置的软件设置 5.5 配置文件 5.6 配置可靠性及电路设计注意事项 5.7 下载配置文件到FPGA 5.8 下载配置文件到EPCS 5.9 IDE Flash Programmer介绍 5.10 用户程序引导 5.11 使用IDE Flash Programmer 编程 5.12 创建目标板Flash编程设计,5.4 配置的软件设置,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号