FPGA配置和Flash编程.ppt
《FPGA配置和Flash编程.ppt》由会员分享,可在线阅读,更多相关《FPGA配置和Flash编程.ppt(115页珍藏版)》请在三一办公上搜索。
1、基于FPGA的SOPC设计,信息学院李贞妮,二一三年五月,第五章 FPGA配置和FLASH编程,本章将首先介绍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 配置文件5.6 配置可靠性及电路设
2、计注意事项5.7 下载配置文件到FPGA5.8 下载配置文件到EPCS5.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 下载配置文件到FPGA5.8 下载配置文件到EPCS5.9 IDE Flash Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Pr
3、ogrammer 编程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配置方式根据FPGA在配置电路中的角色,可以将配置方式分为三类:1.FPGA主动串行(AS
4、)方式 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仅输出响应信号,FPGA被动(Passive)方式,3,被动方式可分为下列几种方式:被动串行方式(PS)快速被动
5、并行(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各阶段:复位、配置和初始化。,复位,配置,初始化,进入用户模式,配置数据写入到器件中,器件内部逻辑和寄存器初始化,I/O缓冲使能,配置过程波形图,FPGA配置过程,FPGA 配置流程图
6、,第5章 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的软件设置5.5 配置文件5.6 配置可靠性及电路设计注意事项5.7 下载配置文件到FPGA5.8 下载配置文件到EPCS5.9 IDE Flash Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计,5.2 Cyclone及Cyclone II FPGA配置,Cyclone 以及Cyclone IIFPGA使用SRAM单元来存储配置数据。FPGA中的SRAM是易失性的,每次上电
7、之前,配置数据(或压缩的配置数据)必须重新下载到FPGA中。下面的2个条件均可使FPGA产生一次配置请求:给FPGA重新上电;FPGA的nConfig引脚上产生一个低电平到高电平的上升沿。,5.2 Cyclone及Cyclone II FPGA配置,Cyclone及Cyclone II FPGA的配置方式包括:FPGA主动串行(AS)配置方式;FPGA被动(Passive)配置方式;JTAG配置方式。用户可以通过设置FPGA上的MSEL0、MESL1两个引脚的状态来选择配置方式。各种方式的MSEL0、MESL1设置如下表所列:,5.2 Cyclone及Cyclone II FPGA配置,配置方
8、式设置,说明:在上表中,如果只采用一种配置方式,则可以直接将MSEL0、MESL1连接到VCC(注意要与FPGA的IO口的供电VCCIO相同)或GND;如果需要多种配置方式,那么MSEL要用控制器(单片机、CPLD等)来控制以进行切换;MSEL管脚在配置开始前必须处于一个固定的状态,因此不能将MSEL管脚悬空。,5.2 Cyclone及Cyclone II FPGA配置,另外,不同型号FPGA的配置文件大小不同,下表中列出了FPGA在不压缩情况下二进制配置文件(.rbf)的最大大小。设计者可以根据配置文件的大小来选择合适的配置器件和其它存储器。并可使用压缩功能,来减小配置文件的大小。,说明:同
9、型号的FPGA配置文件会因所使用的单元不同而不同,配置文件越小下载速度和配置速度越快。,5.2 Cyclone及Cyclone II FPGA配置,Cyclone FPGA 二进制文件(.rbf)大小,主动串行配置主动串行配置方式(AS)是将配置数据事先存储在串行配置器件EPCS中,然后在系统上电时Cyclone及Cyclone II FPGA通过串行接口读取配置数据(如果是压缩数据,还会进行解压缩处理)对内部的SRAM单元进行配置。因为上述配置过程中FPGA控制配置接口,因此通常称为主动配置方式。,5.2 Cyclone及Cyclone II FPGA配置,主动串行配置,主动串行配置的电路原
10、理图,说明:因为FPGA上的nSTATUS、CONFIG_DONE管脚都是开漏结构,所以都要接上拉电阻。FPGA的片选脚nCE必须接地。,用于对EPCS的编程,5.2 Cyclone及Cyclone II FPGA配置,主动串行配置,复位,配置,初始化,进入用户模式,配置数据写入到器件中,器件内部逻辑和寄存器初始化,I/O缓冲使能,配置过程波形图,主动串行配置串行时钟(DCLK)在配置结束后内部振荡器关闭。下表列出了DCLK的输出频率。对于Cyclone II FPGA,通过MSEL可以选择时钟为20MHz或40MHz。配置的时间与配置文件大小以及DCLK的频率有关,关于AS方式配置时间的估算
11、请见下一小节。,5.2 Cyclone及Cyclone II FPGA配置,主动串行配置用户可以在QuartusII软件中选择,用哪一个时钟来进行FPGA寄存器和用户I/O口的初始化、以及是否在配置出错后重新开始配置等内容。如下图所示的弹出窗口:,5.2 Cyclone及Cyclone II FPGA配置,功能服用引脚设置,主动串行配置(AS)的配置时间估算主动串行配置时间为串行配置器件数据传送到FPGA的时间,这取决于DCLK的频率以及配置文件的大小。以Cyclone EP1C6器件为例,非压缩的.rbf格式配置文件的大小为1167216位、DCLK最低频率为14MHz(71ns),则最大配
12、置时间为:1167216*71ns82872336ns83ms当DCLK的典型频率为17MHz(59ns)时,配置时间为:1167216*59ns=68865744ns 69ms,5.2 Cyclone及Cyclone II FPGA配置,主动串行配置(AS)的配置时间估算如果允许配置数据压缩,由于配置时要对数据进行解压缩,需要增加配置时间,一般要增加50的配置时间,即EP1C6器件在采用压缩数据进行配置时需要约103.5ms的时间。此外,在配置完成后紧接着的FPGA寄存器和用户I/O口初始化也需要消耗一定的时间(Cyclone为136个时钟周期,Cyclone II为299个时钟周期),当不
13、采用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配置方式拥有最高的优先级,此时AS方式将停止,而执行JTAG方式配置。,5.2 Cyclone及Cyclone II FPGA配置,JTAG配置的电路原理图,JTAG配置,5.2 Cycl
14、one及Cyclone II FPGA配置,JTAG配置利用Quartus II软件和USB Blaster、ByteBlaster II等下载电缆可下载配置数据到FPGA。Quartus II软件可以验证JTAG配置是否成功。JTAG配置通过下载电缆使用SOF、Jam或者JBC文件直接对FPGA进行配置,这种配置方式只能用于调试阶段,因为,掉电后FPGA中的配置数据将丢失。,5.2 Cyclone及Cyclone II FPGA配置,ByteBlaster II,USB Blaster,第5章 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置
15、芯片5.4 配置的软件设置5.5 配置文件5.6 配置可靠性及电路设计注意事项5.7 下载配置文件到FPGA5.8 下载配置文件到EPCS5.9 IDE Flash Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计,Altera FPGA的配置芯片可以分为3类:增强型配置器件:EPC16、EPC8、EPC4;主动串行配置器件:EPCS64、EPCS16、EPCS4和EPCS1;普通配置器件:EPC2、EPC1、EPC1441。,5.3 配置芯片,5.3 配置芯片,各配置芯片的属性如下表所示:,第5章
16、 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的软件设置5.5 配置文件5.6 配置可靠性及电路设计注意事项5.7 下载配置文件到FPGA5.8 下载配置文件到EPCS5.9 IDE Flash Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计,5.4 配置的软件设置,配置方式及配置芯片选择在Quartus II软件中,可以设置配置方式和配置芯片。,配置选项卡,5.4 配置的软件设置,配置方式及配置芯片选择在Quartus II软
17、件中,可以设置配置方式和配置芯片。,配置方式(AS、PS)选择,配置模式(本地或远程)选择,配置器件(EPCS系列、EPC系列),压缩,配置选项卡,5.4 配置的软件设置,复用配置引脚处理当用户选择了一种配置方式后,在【Dual-Purpose Pins】选项卡中将自动把这种方式下可复用为IO口的管脚列出。用户可选择如何处理这些引脚。,复用配置引脚处理,5.4 配置的软件设置,复用配置引脚处理【General】选项卡,用于有关于配置的通用选项。,功能复用引脚设置,第5章 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的软件设置
18、5.5 配置文件5.6 配置可靠性及电路设计注意事项5.7 下载配置文件到FPGA5.8 下载配置文件到EPCS5.9 IDE Flash Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计,5.5 配置文件,配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。,SRAM目标文件(.sof).sof文件一般是在调试时通过下载电缆和JTAG直接下载到FPGA中的SRAM中。SOF文件在Quattus II软件编译时自动生成。所有其他配置文件都是由SOF文件转换生成的。,5.
19、5 配置文件,配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。,编程目标文件(.pof).pof文件用于对各种Altera配置芯片进行编程。当在Quartus II中设置好配置芯片类型后,软件会在编译时为用户生成对应器件类型的POF文件。多个FPGA的sof文件可放到一个POF文件中,形成一个配置文件。Quartus II也可以将配置文件分到几个配置芯片中。,5.5 配置文件,配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。,原始二进制文件(.rbf)RBF是原始二进制配置数据的文件,只包含配置数据的内容。RBF文件通常被用于
20、外部带微处理器的配置电路中。在被动配置方式(PS)时,可以将.rbf文件存储在大容量存储器中(如NOR Flash),然后通过微控制器读取二进制数据并装载到FPGA中去。,5.5 配置文件,配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。,原始编程数据文件(.rpd)RPD是包含Cyclone器件二进制位流配置数据的二进制文件。该文件存储在串行配置器件中,用于带嵌入式处理器环境,但在Quartus II软件以外Cyclone FPGA主动配置方式的配置。RPD文件的大小等于目标串行配置器件存储容量大小。但不同于RBF文件,它只给单一的配置器件提供配置。每个字节
21、的低位LSB应先写入串行配置器件。,5.5 配置文件,配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。,十六进制文件(.hex)HEX文件是Intel HEX格式的ASCII文件。微控制器或外部主机可使用HEX文件来存储和传送配置数据。该文件也可以用于第三方的编程器对Altera公司的配置器件进行编程。,5.5 配置文件,配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。,文本列表文件(.ttf)文本列表文件是一种提供了逗号分隔的列表ASCII文件。TTF文件可以允许用户将配置数据以包含或源命令行的形式作为微控制器的源代码,微控
22、制器能从配置器件和大容量存储器中访问这些数据并下载到目标器件(FPGA)。,5.5 配置文件,配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。,JAM文件(.jam)JAM文件是用来存储器件编程信息的ASCII文本文件。这些文件在QusrtusII编程器和带嵌入式处理器的环境中常用于一个或多个器件的编程、校验、查空。,5.5 配置文件,配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。,字节编码文件(.jbc)JBC文件是同JAM文件内容一样的二进制文件。此外还有串行位流文件(.sbf)是用于FLEX 10K和FLEX6000器
23、件的配置。,5.5 配置文件,配置文件设置和转换Quartus II软件中指定生成哪种格式的配置文件。,配置过程波形图,5.5 配置文件,配置文件设置和转换用Quartus II软件可对SOF和POF文件进行转换,生成其它格式的文件。,编程文件的转换,5.5 配置文件,配置文件设置和转换SOF文件RBF文件转换步骤如下:,编程文件的转换,5.5 配置文件,配置文件的压缩Quartus II 为Cyclone、Cyclone II以及StratixII提供了配置数据可压缩特性,用户可以为FPGA选择容量较小的EPCS器件,以节省成本。ALTERA给出对配置数据的压缩率可达到35到60%。当在Qu
24、artus II软件中使能压缩特性时,软件自动采用压缩配置数据来生成POF配置文件。通过压缩后的配置文件减小了对配置器件或Flash的存储空间需求。,5.5 配置文件,配置文件的压缩有两种方法来使用压缩特性:在用户设计编译前,可在编译设置菜单中来选择压缩特性;在用户设计编译后,可利用File菜单中的文件转换器Convet Programming Files进行压缩。通过文件转换可利用SOF文件生成各种格式的压缩文件。,5.5 配置文件,配置文件的压缩,方法一:编译前选择压缩特性,方法二:用文件转换器进行压缩,第5章 目录,5.1 FPGA配置 5.2 Cyclone及Cyclone II FP
25、GA配置5.3 配置芯片5.4 配置的软件设置5.5 配置文件5.6 配置可靠性及电路设计注意事项5.7 下载配置文件到FPGA5.8 下载配置文件到EPCS5.9 IDE Flash Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计,5.6 配置可靠性及电路设计注意事项,配置的可靠性Altera的FPGA结构中设计了一些保护电路来减小电源上电和数据噪声的影响,使基于SRAM工艺的FPGA可靠性大大提高。为了提供可靠性主要采取了以下几个方面:1在配置过程中,采用CRC电路对输入到FPGA中的每一帧配
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 配置 Flash 编程
链接地址:https://www.31ppt.com/p-5431450.html