第五章FPGA配置和Flash编程课件_第1页
第五章FPGA配置和Flash编程课件_第2页
第五章FPGA配置和Flash编程课件_第3页
第五章FPGA配置和Flash编程课件_第4页
第五章FPGA配置和Flash编程课件_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于FPGA的SOPC设计信息学院李贞妮二一三年五月1第五章 FPGA配置和FLASH编程2本章将首先介绍FPGA配置方式和配置过程,然后简单介绍了配置芯片、配置文件的种类以及配置电路设计要点,本章最后讲述了配置文件下载、Flash编程等方面的内容,其中Flash编程包括NOR Flash的编程、EPCS的编程。通过本章的内容读者将理解并掌握FPGA配置以及Flash编程、NiosII程序装载等的相关内容。 主要内容3第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编程设计4第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 Progra

3、mmer 编程5.12 创建目标板Flash编程设计55.1 FPGA配置配置(configuration)是对FPGA的内容进行编程的过程。每次上电后都需要进行配置是基于SRAM工艺FPGA的一个特点,也可以说是一个缺点。FPGA配置过程如下:FPGA配置器件外部电路将配置数据载入片内配置RAM中外部电路FPGA配置完成配置RAM配置RAM中的配置数据:用于控制FPGA内部可编程的内部逻辑、内部寄存器和I/O寄存器初始化,I/O驱动器使能等。之后FPGA进入用户模式。65.1 FPGA配置FPGA配置方式根据FPGA在配置电路中的角色,可以将配置方式分为三类:1.FPGA主动串行(AS)方式

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

5、串行方式(PS) 快速被动并行(FPP)方式 被动并行异步(PPA)方式 被动并行同步(PPS)方式 被动串行异步(PSA)方式85.1 FPGA配置配置方式器件类别Stratix IIStratix ,Stratix GXCyclone IICycloneAPEX IIAPEX20K,APEX20KE,APEX20KCMercuryACEX 1KFLEX10K,FLEX10KE,FLEX10KAFLEX6000被动串行(PS)主动串行(AS)快速被动并行(FPP)被动并行同步(PPS)被动并行异步(PPA)被动串行异步(PSA)JTAG仅支持边界扫描测试Altera FPGA配置方式列表95

6、.1 FPGA配置Cyclone FPGA配置方式表配 置 方 式描 述主动串行配置(AS)采用串行配置器件(EPCS1、EPCS4、EPCS16、EPCS64)被动配置(PS)1采用专用配置器件(EPC1、EPC2、EPC4、EPC8、EPC16);2采用配置控制器(单片机、CPLD等)配合Flash;3下载电缆。JTAG配置通过JTAG进行配置105.1 FPGA配置FPGA配置过程FPGA的配置包括3各阶段:复位、配置和初始化。复位配置初始化进入用户模式配置过程波形图115.1 FPGA配置FPGA配置过程FPGA的配置包括3各阶段:复位、配置和初始化。复位配置初始化进入用户模式配置数据

7、写入到器件中器件内部逻辑和寄存器初始化,I/O缓冲使能配置过程波形图12FPGA配置过程FPGA 配置流程图13第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编程设计145.2 Cyclone及Cyclone II FPGA配置Cyclon

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

9、种方式的MSEL0、MESL1设置如下表所列:165.2 Cyclone及Cyclone II FPGA配置MSEL1MSEL0配置方式备注00AS主动(串行配置器件)20MHz10快速AS主动(串行配置器件)40MHz,只限Cyclone II01PS被动(CPLD控制)00或1JTAG配置配置方式设置说明:在上表中,如果只采用一种配置方式,则可以直接将MSEL0、MESL1连接到VCC(注意要与FPGA的IO口的供电VCCIO相同)或GND;如果需要多种配置方式,那么MSEL要用控制器(单片机、CPLD等)来控制以进行切换;MSEL管脚在配置开始前必须处于一个固定的状态,因此不能将MSEL

10、管脚悬空。175.2 Cyclone及Cyclone II FPGA配置另外,不同型号FPGA的配置文件大小不同,下表中列出了FPGA在不压缩情况下二进制配置文件(.rbf)的最大大小。设计者可以根据配置文件的大小来选择合适的配置器件和其它存储器。并可使用压缩功能,来减小配置文件的大小。说明:同型号的FPGA配置文件会因所使用的单元不同而不同,配置文件越小下载速度和配置速度越快。185.2 Cyclone及Cyclone II FPGA配置器件类型器件型号数据大小(Bits)数据大小(Bytes)CycloneEP1C3627,37678,422EP1C4924,512115,564EP1C6

11、1,167,216145,902EP1C122,326,528290,816EP1C203,559,608444,951Cyclone IIEP2C51,265,792152,998EP2C81,983,536247,974EP2C203,892,496486,562EP2C356,858,656857,332EP2C509,963,3921,245,424EP2C7014,319,2161,789,902Cyclone FPGA 二进制文件(.rbf)大小19主动串行配置主动串行配置方式(AS)是将配置数据事先存储在串行配置器件EPCS中,然后在系统上电时Cyclone及Cyclone II

12、 FPGA通过串行接口读取配置数据(如果是压缩数据,还会进行解压缩处理)对内部的SRAM单元进行配置。因为上述配置过程中FPGA控制配置接口,因此通常称为主动配置方式。5.2 Cyclone及Cyclone II FPGA配置20主动串行配置主动串行配置的电路原理图说明:因为FPGA上的nSTATUS、CONFIG_DONE管脚都是开漏结构,所以都要接上拉电阻。FPGA的片选脚nCE必须接地。用于对EPCS的编程5.2 Cyclone及Cyclone II FPGA配置21主动串行配置复位配置初始化进入用户模式配置数据写入到器件中器件内部逻辑和寄存器初始化,I/O缓冲使能配置过程波形图22主动

13、串行配置串行时钟(DCLK)在配置结束后内部振荡器关闭。下表列出了DCLK的输出频率。对于Cyclone II FPGA,通过MSEL可以选择时钟为20MHz或40MHz。配置的时间与配置文件大小以及DCLK的频率有关,关于AS方式配置时间的估算请见下一小节。器件最小典型最大单位Cyclone141720MHzCyclone II1013202026405.2 Cyclone及Cyclone II FPGA配置23主动串行配置用户可以在QuartusII软件中选择,用哪一个时钟来进行FPGA寄存器和用户I/O口的初始化、以及是否在配置出错后重新开始配置等内容。如下图所示的弹出窗口:5.2 Cy

14、clone及Cyclone II FPGA配置功能服用引脚设置24主动串行配置(AS)的配置时间估算主动串行配置时间为串行配置器件数据传送到FPGA的时间,这取决于DCLK的频率以及配置文件的大小。以Cyclone EP1C6器件为例,非压缩的.rbf格式配置文件的大小为1167216位、DCLK最低频率为14MHz(71ns),则最大配置时间为:1167216*71ns82872336ns83ms当DCLK的典型频率为17MHz(59ns)时,配置时间为:1167216*59ns=68865744ns 69ms5.2 Cyclone及Cyclone II FPGA配置25主动串行配置(AS)

15、的配置时间估算如果允许配置数据压缩,由于配置时要对数据进行解压缩,需要增加配置时间,一般要增加50的配置时间,即EP1C6器件在采用压缩数据进行配置时需要约103.5ms的时间。此外,在配置完成后紧接着的FPGA寄存器和用户I/O口初始化也需要消耗一定的时间(Cyclone为136个时钟周期,Cyclone II为299个时钟周期),当不采用CLKUSR管脚时钟,而使用FPGA内部10MHz时钟时,Cyclone EP1C6消耗13.6us的初始化时间。5.2 Cyclone及Cyclone II FPGA配置26JTAG配置通过JTAG接口,利用Quartus II软件可以直接对FPGA进行

16、单独的硬件重新配置。Quartus II软件在编译时会自动生成用于JTAG配置的.sof文件。如果同时使用AS方式和JTAG方式来配置FPGA,JTAG配置方式拥有最高的优先级,此时AS方式将停止,而执行JTAG方式配置。5.2 Cyclone及Cyclone II FPGA配置JTAG配置的电路原理图27JTAG配置5.2 Cyclone及Cyclone II FPGA配置管脚描述功 能TDI测试数据输入指令、测试以及编程数据的串行输入。数据在TCK的上升沿移入。如果电路板上的JTAG不需要,可以将该管脚连接到VCC。TDO测试数据输出指令、测试以及编程数据的串行输出。数据在TCK的下降沿移

17、出。在没有数据移出时,该管脚是高阻态。如果电路板上的JTAG不需要,可以不连接该管脚。TMS测试模式选择控制信号输入管脚,控制信号决定测试访问端口控制状态的转换。状态的转换出现在TCK的上升沿。因此,TMS必须在TCK上升沿之前建立。如果电路板上的JTAG不需要,可以将该管脚连接到VCC。TCK测试时钟输入边界扫描测试(BST)电路的时钟输入。一些操作发生在其上升沿,一些发生在下降沿。如果电路板上的JTAG不需要,可以将该管脚连接到GND。28JTAG配置利用Quartus II软件和USB Blaster、ByteBlaster II等下载电缆可下载配置数据到FPGA。Quartus II软

18、件可以验证JTAG配置是否成功。JTAG配置通过下载电缆使用SOF、Jam或者JBC文件直接对FPGA进行配置,这种配置方式只能用于调试阶段,因为,掉电后FPGA中的配置数据将丢失。 5.2 Cyclone及Cyclone II FPGA配置ByteBlaster IIUSB Blaster29第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

19、用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计30Altera FPGA的配置芯片可以分为3类:增强型配置器件:EPC16、EPC8、EPC4;主动串行配置器件:EPCS64、EPCS16、EPCS4和EPCS1;普通配置器件:EPC2、EPC1、EPC1441。5.3 配置芯片315.3 配置芯片器件存储容量(bits)片上解压缩支持在系统编程(ISP)支持可重编程操作电压(V)EPC1616,777,216YesYesYes3.3EPC88,388,608YesYesYes3.3EPC44,194,304YesYesYes3.

20、3EPCS6467,108,864 NoNoYes3.3EPCS1616,777,216 NoNoYes3.3EPCS44,194,304NoNoYes3.3EPCS11,048,576NoNoYes3.3EPC21,695,680NoYesYes3.3或5EPC11,046,496NoNoNo3.3或5EPC1441440,800NoNoNo3.3或5各配置芯片的属性如下表所示:32第5章 目录5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的软件设置5.5 配置文件5.6 配置可靠性及电路设计注意事项5.7 下载配置文件到FPGA

21、5.8 下载配置文件到EPCS5.9 IDE Flash Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计335.4 配置的软件设置配置方式及配置芯片选择在Quartus II软件中,可以设置配置方式和配置芯片。配置选项卡345.4 配置的软件设置配置方式及配置芯片选择在Quartus II软件中,可以设置配置方式和配置芯片。配置方式(AS、PS)选择配置模式(本地或远程)选择配置器件(EPCS系列、EPC系列)压缩配置选项卡355.4 配置的软件设置复用配置引脚处理当用户选择了一种配置方式后,在【

22、Dual-Purpose Pins】选项卡中将自动把这种方式下可复用为IO口的管脚列出。用户可选择如何处理这些引脚。复用配置引脚处理365.4 配置的软件设置复用配置引脚处理【General】选项卡,用于有关于配置的通用选项。功能复用引脚设置37第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

23、ogrammer 编程5.12 创建目标板Flash编程设计385.5 配置文件配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。SRAM目标文件(.sof).sof文件一般是在调试时通过下载电缆和JTAG直接下载到FPGA中的SRAM中。SOF文件在Quattus II软件编译时自动生成。所有其他配置文件都是由SOF文件转换生成的。395.5 配置文件配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。编程目标文件(.pof).pof文件用于对各种Altera配置芯片进行编程。当在Quartus II中设置好配置芯片类型后,软件会

24、在编译时为用户生成对应器件类型的POF文件。多个FPGA的sof文件可放到一个POF文件中,形成一个配置文件。Quartus II也可以将配置文件分到几个配置芯片中。405.5 配置文件配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。原始二进制文件(.rbf)RBF是原始二进制配置数据的文件,只包含配置数据的内容。RBF文件通常被用于外部带微处理器的配置电路中。在被动配置方式(PS)时,可以将.rbf文件存储在大容量存储器中(如NOR Flash),然后通过微控制器读取二进制数据并装载到FPGA中去。415.5 配置文件配置文件的格式Quartus II开发软

25、件能生成一个或多个用于配置电路的配置文件。原始编程数据文件(.rpd)RPD是包含Cyclone器件二进制位流配置数据的二进制文件。该文件存储在串行配置器件中,用于带嵌入式处理器环境,但在Quartus II软件以外Cyclone FPGA主动配置方式的配置。RPD文件的大小等于目标串行配置器件存储容量大小。但不同于RBF文件,它只给单一的配置器件提供配置。每个字节的低位LSB应先写入串行配置器件。425.5 配置文件配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。十六进制文件(.hex)HEX文件是Intel HEX格式的ASCII文件。微控制器或外部主机可

26、使用HEX文件来存储和传送配置数据。该文件也可以用于第三方的编程器对Altera公司的配置器件进行编程。435.5 配置文件配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。文本列表文件(.ttf)文本列表文件是一种提供了逗号分隔的列表ASCII文件。TTF文件可以允许用户将配置数据以包含或源命令行的形式作为微控制器的源代码,微控制器能从配置器件和大容量存储器中访问这些数据并下载到目标器件(FPGA)。445.5 配置文件配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。JAM文件(.jam)JAM文件是用来存储器件编程信息的AS

27、CII文本文件。这些文件在QusrtusII编程器和带嵌入式处理器的环境中常用于一个或多个器件的编程、校验、查空。455.5 配置文件配置文件的格式Quartus II开发软件能生成一个或多个用于配置电路的配置文件。字节编码文件(.jbc)JBC文件是同JAM文件内容一样的二进制文件。此外还有串行位流文件(.sbf)是用于FLEX 10K和FLEX6000器件的配置。465.5 配置文件配置文件设置和转换Quartus II软件中指定生成哪种格式的配置文件。配置过程波形图475.5 配置文件配置文件设置和转换用Quartus II软件可对SOF和POF文件进行转换,生成其它格式的文件。编程文件

28、的转换485.5 配置文件配置文件设置和转换SOF文件RBF文件转换步骤如下: 编程文件的转换495.5 配置文件配置文件的压缩Quartus II 为Cyclone、Cyclone II以及StratixII提供了配置数据可压缩特性,用户可以为FPGA选择容量较小的EPCS器件,以节省成本。ALTERA给出对配置数据的压缩率可达到35到60%。当在Quartus II软件中使能压缩特性时,软件自动采用压缩配置数据来生成POF配置文件。通过压缩后的配置文件减小了对配置器件或Flash的存储空间需求。505.5 配置文件配置文件的压缩有两种方法来使用压缩特性:在用户设计编译前,可在编译设置菜单中

29、来选择压缩特性;在用户设计编译后,可利用File菜单中的文件转换器Convet Programming Files进行压缩。通过文件转换可利用SOF文件生成各种格式的压缩文件。515.5 配置文件配置文件的压缩方法一:编译前选择压缩特性方法二:用文件转换器进行压缩52第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 使用I

30、DE Flash Programmer 编程5.12 创建目标板Flash编程设计535.6 配置可靠性及电路设计注意事项配置的可靠性Altera的FPGA结构中设计了一些保护电路来减小电源上电和数据噪声的影响,使基于SRAM工艺的FPGA可靠性大大提高。为了提供可靠性主要采取了以下几个方面:1在配置过程中,采用CRC电路对输入到FPGA中的每一帧配置数据进行校验,确保配置数据的正确性;2Altera FPGA提供了保护电路要求在系统在掉电后重新配置,以保证FPGA在系统掉电时的高可靠性。545.6 配置可靠性及电路设计注意事项电路设计注意事项在配置电路设计时,通常应该注意下面几点:1在设计D

31、CLK和TCK时,要将其当作高速的时钟信号来处理;2在有多片FPGA配置链中,一般建议将各片FPGA的DCLK、DATA0(DATA7.0、nCONFIG、nSTATUS、和CONF_DONE信号连在一起。这样可以确保各FPGA配置同时开始和结束;3确保FPGA配置管脚的电平和配置器件的电平兼容;4确保所有配置管脚按照FPGA的数据手册进行连接。55第5章 目录5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的软件设置5.5 配置文件5.6 配置可靠性及电路设计注意事项5.7 下载配置文件到FPGA5.8 下载配置文件到EPCS5.9

32、 IDE Flash Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计565.7 下载配置文件到FPGA要使用JTAG下载配置数据到FPGA,首先要生成可用于JTAG下载的配置数据文件,这些配置数据文件包括:.sof、.Jam以及.JBC。一般来说,JTAG方式利用SOF文件即可,JAM和JBC可以不用。利用JATG接口和ByteBlasterII电缆下载配置数据到FPGA的过程,如下:575.7 下载配置文件到FPGAJTAG下载配置数据过程585.7 下载配置文件到FPGAByteBlaster

33、 II 下载电缆安装59第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编程设计605.8 下载配置文件到EPCS使用AS方式对Cyclone FPGA配置前,必须将配置文件写入串行配置器件EPCS。写入的方法有3种:在QuartusII的P

34、rogrammer中,通过专门与EPCS连接的AS下载接口来下载.pof文件到EPCS;在QuartusII的Programmer中,使用JTAG接口,通过FPGA中间通道来间接对EPCS进行编程;使用Nios II IDE中的Flash Programmer对EPCS进行编程。615.8 下载配置文件到EPCSAS接口的EPCS直接编程利用ByteBlasterII、AS接口、.pof配置文件以及QuartusII的Programmer可直接对EPCS进行编程,这种方式速度快,但需要专门的AS接口。下载过程如下:625.8 下载配置文件到EPCSEPCS的AS编程635.8 下载配置文件到E

35、PCSJTAG接口的EPCS间接编程JTAG接口的EPCS间接编程是指利用Quartus II的Programmer、FPGA的JTAG接口以及Altera提供的用于编程时配置FPGA的Serial FlashLoader(SFL)来对EPCS进行编程。EPCS编程示意图(a) 传统通过AS接口对AS接口对EPCS编程(a) 通过SFL和JTAG接口对EPCS编程645.8 下载配置文件到EPCS利用JTAG和SFL对EPCS的编程过程示意图.jic或.jam655.8 下载配置文件到EPCSSOF文件转换为JIC文件SOF文件转换为JIC文件的过程如下所示:665.8 下载配置文件到EPCS

36、文件转换对话框675.8 下载配置文件到EPCS选择器件685.8 下载配置文件到EPCS选择添加被转换文件695.8 下载配置文件到EPCS设置转换配置文件压缩窗口705.8 下载配置文件到EPCSJIC文件转换为JAM文件要使用JAM文件,用户必须首先将SOF文件转换为JIC文件,然后再将JIC文件转换为JAM文件。转换步骤如下:715.8 下载配置文件到EPCS选择添加进行转换的JIC文件725.8 下载配置文件到EPCS735.8 下载配置文件到EPCSJIC和JAM文件的内容SFL的配置映像。这个配置映像是在文件转换时当用户选择目标FPGA时(见图5.21)由QuartusII软件创

37、建的;在对串行配置器件进行编程之前,SFL配置映像要对FPGA进行配置;串行配置器件的配置数据。这个配置数据来源于用户选择的SOF文件,在编程过程中这些配置数据将被写入串行配置器件EPCS。745.8 下载配置文件到EPCS使用JIC文件和Quartus II Programmer对EPCS编程通过前面的方法将SOF文件转换成JIC文件。可以利用JIC文件和Qusrtus II Programmer 对串行配置器件EPCS进行编程,步骤如下:选中SFL映像对FPGA进行配置选中配置数据写入EPCS开始编程使用JIC和Quartus II Progrmmer 进行EPCS编程755.8 下载配置

38、文件到EPCS使用JAM文件和Quartus II Programmer对EPCS编程JIC文件转成JAM文件,可以利用JAM文件和Quartus II Programmer对串行配置器件EPCS进行编程,步骤如下:使用JAM和Quartus II Progrmmer 进行EPCS编程76第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 用户程

39、序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计775.9 IDE Flash Programmer介绍Nios II IDE 提供了Flash Programer工具来对目标板上遵守CFI(common flash interface)规范的Flash进行编程。IDE的Flash Programer通过使用Altera的下载电缆能够方便的对目标板上连接在FPGA上的Flash进行编程。IDE的Flash Programer除了能对连接在FPGA上的Flash进行编程外,还能对连接在FPGA上的串行配置器件EPCS进行编程。785.9 I

40、DE Flash Programmer介绍IDE Flash Programmer编程工作过程IDE Flash Programmer通过2个过程将数据写入Flash。第一步:使用Flash编程设计对FPGA进行配置第二步:传送编程内容到Flash器件795.9 IDE Flash Programmer介绍Flash编程设计Flash编程设计实际就是一个由SOPC Builder系统生成的最小FPGA设计。Flash编程设计是IDE Flash Programmer的关键组成部分。除此之外,还必须包括:与主机(PC机)通讯的JTAG接口;由主机提供的写入Flash的编程数据。不同的电路板(目标

41、板)往往使用不同的Flash器件,并且Flash与FPGA的管脚连接及FPGA型号也不相同。因此,每个Flash编程设计都与具体的目标板相联系,不能用于其它的目标板。805.9 IDE Flash Programmer介绍目标板Flash编程设计一个目标板Flash编程设计是一组SOPC Builder文件,这些文件包含了用户使用电路板的一些特有信息,其中必须指明FPGA与Flash的连接关系。包含下列信息:每一个连接到电路板FPGA上的Flash的参考元件标号,如U7;Flash器件在Flash编程设计中的基地址;主机上用于配置电路板上FPGA的Flash编程设计的SOF文件。参考元件标号用

42、于区分设计中不同的Flash器件。电路板上的Flash器件在设计时的命名和基地址可能不同,但参考元件标号总是相同的。815.9 IDE Flash Programmer介绍Flash编程内容的类型用户软件:由NIOSII IDE生成,以.elf为后缀,将用户软件写入Flash;FPGA的配置数据:以.sof为后缀,NIOS II IDE允许用户使用FPGA配置数据对Flash进行编程;任意内容:指所有用户想写入FLASH中的二进制类型数据文件(.bin),例如:图片,声音等。825.9 IDE Flash Programmer介绍Flash文件所有要通过IDE Programmer写入Flas

43、h中的数据文件都要转换为能被Flash Programmer读取的.flash文件。Flash文件通过其后缀.flash来识别。IDE Flash Programmer在后台提供了elf2flash、sof2flash、bin2flash三个命令来分别将这三种文件转换为flash文件,这三个命令在IDE Flash Programmer后台自动调用执行而不需用户干预,当然用户也可以在Nios II SDK shell中通过命令行来执行文件转换。83第5章 目录5.1 FPGA配置 5.2 Cyclone及Cyclone II FPGA配置5.3 配置芯片5.4 配置的软件设置5.5 配置文件5

44、.6 配置可靠性及电路设计注意事项5.7 下载配置文件到FPGA5.8 下载配置文件到EPCS5.9 IDE Flash Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计84FPGA5.10 用户程序引导用户程序可以存放在Flash中,也可以存放在EPCS,因此用户程序可以从Flash引导,也可以从EPCS中引导。用户程序FlashEPCS用户程序用户引导程序855.10 用户程序引导从CFI Flash引导FPGA上电或复位配置成功后,如果配置中包含的Nios II处理器复位地址指向Flash的地

45、址空间,那么程序将从Flash引导。SOPC Builder指定复位地址为Flash865.10 用户程序引导从串行配置器件EPCS引导如果使用串行配置器件EPCS,且配置数据的容量小于EPCS的容量,那么剩余的存储空间可用来存放用户程序。EPCS控制器结构框图Boot-LoaderROMEPCS控制器配置存储空间通用存储空间EPCS配置器件Avalon总线NiosIICPU片内外设Altera FPGA存储FPGA配置数据剩余空间可用于存储用户非易失性数据。1KB的片内存储器875.10 用户程序引导从串行配置器件EPCS引导IDE的Flash Programmer能将配置数据文件(.sof

46、)和用户程序(.elf)写入到EPCS中。当用户程序存放在EPCS中时,如果想从EPCS中引导程序,在SOPC Builder中必须添加EPCS控制器,且必须在SOPC Builder中指定Nios II处理器的复位地址指向EPCS控制器(epcs_controller)。885.10 用户程序引导从串行配置器件EPCS引导SOPC Builder指定复位地址为epcs_controller895.10 用户程序引导引导复制程序(Boot-copier Program)Alter提供了引导复制程序,它能根据用户在IDE中设置的用户程序文件(.elf)连接地址来重新装载程序,然后跳过.elf文件

47、的连接地址执行程序。引导复制程序是IDE Flash Programmer在后台执行elf2flash命令时判断并自动加入完成的。Boot CopierMy_sw.elfMy_sw.flash加入Boot Copier 示意图905.10 用户程序引导用户程序ELF文件连接设置在Nios II IDE中工程的属性页控制了工程中的程序与硬件系统的相互影响关系以及IDE怎样编译连接该应用工程。用户IDE工程库属性设置对话框局部图915.10 用户程序引导用户程序引导小结通过SOPC Builder和IDE用户工程库属性页中的不同设置,可实现用户程序的不同引导和在不同存储空间运行,现总结于下表。SO

48、PC Builder中Reset AddressIDE中.elf连接存储空间程序运行情况FlashSDRAM从Flash中复制到SDRAM运行Onchip_RAM从Flash中复制到Onchip_RAM运行Onchip_ROMOnchip_ROM (2)FlashFlash (3)Epcs_controllerEpcs_controller (4)Epcs_controllerSDRAM从EPCS中复制到SDRAM运行Onchip_RAM从EPCS中复制到Onchip_RAM运行Onchip_ROMOnchip_ROM (2)FlashFlash (5)92第5章 目录5.1 FPGA配置 5

49、.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编程设计935.11 使用IDE Flash Programmer 编程选择目标板Flash编程设计945.11 使用IDE Flash Programmer 编程从SOPC Builder启动 Nios II IDE编译连接用户

50、工程建立软件工程后,进行编译连接955.11 使用IDE Flash Programmer 编程打开IDE Flash ProgrammerFlash Programmer 对话框启动Flash Programmmer界面965.11 使用IDE Flash Programmer 编程Flash Programmer 对话框97第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

51、Programmer介绍5.10 用户程序引导5.11 使用IDE Flash Programmer 编程5.12 创建目标板Flash编程设计985.12 创建目标板Flash编程设计目标板编程设计对Flash编程必不可少,其提供了Flash Programmer对Flash进行编程所需的全部信息,包括Flash的容量以及flash的引脚连接等等。目标板Flash编程设计包含下列内容:每个在电路板上连接到FPGA的Flash芯片上的参考标号;Flash芯片在Flash编程设计中的基地址 ;一个针对用户板,经过裁剪的Flash编程设计;一个用户板的Flash编程设计的配置文件(.sof ) 。

52、只有Nios 开发套件 7.1版本以下才需要用户自己创建目标板Flash编程设计。Nios 7.1及其以上版本已经集成,用户编译完 即可自动下载。995.12 创建目标板Flash编程设计一个用户板包含下列文件:class.ptf-描述连接到FPGA的Flash,并且指出用户板Flash编程设计的存放位置;.ptf-Flash编程设计的SOPC Builder系统文件;.qpf-Flash编程设计的Quartus II工程文件;.sof-Flash编程设计的FPGA配置文件。1005.12 创建目标板Flash编程设计每一个Flash编程设计都包含下列元件:Nios II CPU;JTAG UART;如果采用EPCS串行配置器件,则需要Active serial memory interface(ASMI);Tri-state bridge;CF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论