《Altera编程与配置.ppt》由会员分享,可在线阅读,更多相关《Altera编程与配置.ppt(51页珍藏版)》请在三一办公上搜索。
1、第六章 Altera 编程与配置,主要内容,配置又称编程或下载,是指经过用户设计输入并经过 开发系统编译后产生的配置数据文件,将其装入FPGA芯片内部的可配置存储器的过程,简称FPGA的下载。只有经过逻辑配置后,FPGA才能实现用户需要的逻辑功能。配置altera FPGA配置文件单板设计及调试注意事项,FPGA配置,JTAG配置端口,FPGA,PS配置端口,PC机,配置适配电路,配置器件或配置电路,AS配置端口,专用FLASH配置器件,PC机,FPGA,应用电路系统,CPU/CPLD,大容量ROM/EPROM/FLASH芯片,FPGA,应用电路系统,CPU/CPLD,RAM,方案1,方案2,
2、1、通用编程器2、通用仿真器3、虚拟仪表,主系统通用10针标准配置/下载接口,目标板10针标准配置接口,PIN1,OTP配置器件插座,6.1配置altera FPGA,配置方式下载电缆配置过程,6.1.1 配置方式,根据FPGA在配置电路中的角色,其数据可以用以下3种方式下载到目标芯片中:主动配置方式被动配置方式最常用的(JTAG)配置方式,主动配置方式,由FPGA来主动输出控制和同步信号(包括配置时钟)给FPGA的串行配置芯片(EPCS系列),配置芯片收到命令后,把配置数据发给FPGA,完成配置过程。Altera FPGA所支持的主动方式,只能与Altera公司提供的主动串行芯片(EPCS系
3、列)配合使用,因此又称主动串行(AS)模式。目前只支持stratix和 Cyclone系列。,AS专用器件配置方式,AS多片配置方式,AS配置器件的在线编程,FPGA被动方式,被动模式下,由系统的其他设备发起并控制配置过程,这些设备可以是配置芯片(EPC系列),或者单板的微处理器、CPLD等。FPGA在配置过程中完全处于被动地位,只是输出一些状态信号来配合配置过程。被动配置方式可细分为PS(被动串行)、FPP(快速被动并行)、PPS(被动并行同步)、PPA(被动并行异步)以及PSA(被动串行异步),PS(被动串行),所有的Altera FPGA都支持这种模式。由Altera的下载电缆、增强型配
4、置器件(EPC4、EPC8和EPC16)和配置器件(EPC1441、EPC8和EPC2),或智能主机(如微处理器和CPLD)来配置。在做PS配置时,FPGA配置数据从存储器读出,写入到FPGA的DATA0接口上。数据在DCLK时钟管脚的上升沿打入FPGA,每一个DCLK时钟周期输入1比特数据,PS:单片机软件方式配置,单片机产生配置时序、读取EPROM中的配置数据,EPROM中放置多个不同功能的配置文件,对FPGA进行配置,PS:使用下载电缆配置,FLEX、ACEX、APEX系列FPGA 配置电路,对FPGA配置,10针标准配置/下载接口,通过配置电路后与PC机的并行接口相接,主系统通用10针
5、标准配置/下载接口,目标板10针标准配置接口,PIN1,OTP配置器件插座,PS:使用专用配置芯片配置,PS:ASIC/CPLD硬件高速配置方案,缺点:1、电路面积比较大,快速被动并行(FPP),只有Stratix系列和APEX中支持。可由Altera的增强型配置器件(EPC4、EPC8和EPC16)或智能主机(如微处理器和CPLD)来配置。在做FPP配置时,FPGA配置数据从存储器中读出,写入到FPGA的DATA7:0输入接口上。数据在DCLK时钟管脚的上升沿打入FPGA,每一个DCLK时钟周期输入1字节数据,FPP:使用增强型配置器件,被动并行同步(PPS),只有较老的器件支持这种模式,如
6、APEX20K、Mercury、ACEX1K和FLEX10K。可由智能主机(如微处理器和CPLD)来配置。在做PPS配置时,FPGA配置数据从存储器中读出,写入到FPGA的DATA7:0输入接口上。在第一个DCLK时钟信号的上升沿处,将一个字节的数据锁存到FPGA中,然后由随后的8个DCLK时钟的下降沿将该字节数据一位一位移到FPGA中。,被动并行异步(PPA),只有Stratix 系列、APEX、APEX20K、Mercury、ACEX1K和FLEX10K支持。可由智能主机(如微处理器和CPLD)来配置。在做PPA配置时,FPGA被配置控制器当作一个异步存储器。在作PPA配置时,FPGA配置
7、数据从存储器中读出,写入到FPGA的DATA7:0输入接口上。在配置过程由一些异步控制信号来控制。,PPA配置方式,被动串行异步(PSA),只有FLEX6000支持。可由智能主机(如微处理器和CPLD)来配置。在做PSA配置时,FPGA配置数据从存储器中读出,写入到FPGA的DATA0输入接口上。在配置过程由一些异步控制信号来控制。,JTAP配置方式,使用JTAG进行配置可以使用Altera的下载电缆,或者通过智能主机模拟JTAG的时序来进行配置;JTAG接口由四个必须的信号TDI、TDO、TMS和TCK,以及一个可选的TRST构成。TDI:用于测试数据的输入TDO:用于测试数据的输出TMS:
8、模式控制管脚,决定了JTAG电路内部的TAP状态机的跳转。TCK:测试时钟,其它信号都必须与之同步TRST:可选信号,如果JTAG电路不用,可以将其连到GND,用JTAG接口配置FPGA,多片级联方式,模式选择,FPGA在正常工作时,它的配置数据存储在SRAM中,加电时须重新下载。在实验系统中,通常用计算机或控制器进行调试,因此可以使用PS。在实用系统中,多数情况下必须由FPGA主动引导配置操作过程,这时FPGA将主动从外围专用存储芯片中获得配置数据,而此芯片中fpga配置信息是用普通编程器将设计所得的pof格式的文件烧录进去。,FPGA的配置过程,在FPGA的配置之前,首先要借助于FPGA开
9、发系统,按某种文件格式要求描述设计系统,编译仿真通过后,将描述文件转换成FPGA芯片的配置数据文件。选择一种FPGA的配置模式,将配置数据装载到FPGA芯片内部的可配置存储器(SRAM单元),FPGA芯片才会成为满足要求的芯片系统。FPGA的配置流程包括复位、芯片配置芯片初始化、等几个过程。,同步配置波形图,配置数据压缩,Stratix和Cyclone器件支持配置数据的压缩,这样可以支持配置存储器的空间和配置时间。一般,配置数据经过压缩,可以减小到35%-55%,启动压缩功能(方法一),选择assignment/device,启动压缩功能(方法二),1 执行File/convert progr
10、amming files命令2 选择编程文件类型,如POF、HEXOUT、RBF或TTF;3 为POF输出文件选择一个配置器件;4 在【input files to convert】栏选中SOF文件5 单击add file 按钮,增加一个SOF文件6 选中加入的SOF文件,单击properties按钮7 选中compress对话框,8 回到主窗口,单击ok按钮,远程升级,Stratix系列FPGA还可以通过一个内嵌的NIOS处理器,对FPGA进行远程升级。,6.1.2 Altera公司的下载电缆,针对FPGA器件不同的内部结构,Altera公司提供了不同的器件配置方式。Altera FPGA的
11、配置可通过编程器、JATG接口在线编程及Altera在线配置等方式进行。Altera器件编程下载电缆的有:ByteBlasterII并行下载电缆ByteBlasterMV并行下载电缆MasterBlaster串行USB通信电缆BitBlaster串口下载电缆,1.ByteBlasterII并行下载电缆,ByteBlaster并行下载电缆是一种连接到 PC机 25针标准口(LPT口)的硬件接口产品。ByteBlaster并行下载电缆可以对FLEX10K、FLEX8000和 FLEX6000进行配置,也可以对 MAX9000(包括MAX9000A)、MAX7000S和MAX7000A进行编程。By
12、teBlaster为FPGA提供了一种快速而廉价的配置方法,设计人员的设计可以直接通过ByteBlaster下载电缆下载到芯片中去。,若使用ByteBlasterII下载电缆,支持的配置方式有以下3种:AS方式:对AS配置芯片(ECPS系列)进行编程;PS方式:可以对FPGA进行配置;JTAG方式:可以对FPGA、CPLD以及Altera配置芯片(EPC系列)编程。,2 MasterBlaster串行/USB通信电缆,特点(1)在Quartus软件中支持SignalTap嵌入式逻辑分析器。(2)MasterBlaster串行/USB通信电缆允许PC机和UNIX用户完成下列功能:可配置APEX、
13、APEX20K、FLEX10K、FLEX3000A、FLEX8000和FLEX6000系列器件及Excalibur嵌入式微处理器解决方案。在线可编程MAX9000、MAX7000S、MAX7000B、MAX7000A和EPC2器件。,(3)工作电压VCC支持5.0 V、3.3 V或2.5 V。(4)为在线编程提供快速廉价的方法。(5)可从Quartus开发软件和MAX+PLUS9.3及以上版本中下载数据。(6)具有RS-232串行接口或USB接口。(7)使用10针电路板连接器(与ByteBlasterMV并口下载电缆兼容)。,MasterBlaster串行/USB通信电缆示意图,MasterB
14、laster电缆提供两种下载模式:被动串行模式(PS)用于配置APEX、APEX20K和FLEX系列器件;JTAG模式具有IEEE 1149.1工业标准的JTAG接口,用于编程具有JTAG能力的MAX系列器件和在线串行配置器件(如EPC2)或配置APEX、APEX20K和FLEX系列器件。连接 MasterBlaster电缆通过一个串行接口或USB接口与计算机相连,与电路板相连的是标准10针插座。数据从串口或USB口通过MasterBlaster电缆下载到电路板。,配置芯片,增强型配置器件:EPC16、EPC8、EPC4 支持:对大容量FPGA的单片配置,由JTAG接口进行在系统编程,FPP快
15、速配置方式AS串行配置器件:EPCS64、EPCS16、EPCS4、EPCS1 低成本配置芯片,支持芯片:Stratix、cyclone和cyclone器件,可由下载电缆或其它设备进行重复编程普通配置器件:EPC2、EPC1和EPC1441 容量相对较小,只有EPC2可重复编程。支持大容量FPGA配置,需多片级联使用。,配置文件及软件支持,一 配置模式及配置器件选择选择assignment/device,选择settings-files选项,单击device&pin options按钮,在对话框中选择configuration选项卡,可以选择配置方案,配置器件,及配置模式二 复用管脚处理 用作
16、普通的IO用作三态输入用作输出到地用作输出到未指明的信号,配置文件说明,FPGA开发软件可以生成多种不同类型的配置文件,用户可以根据不同的应用环境选用这些配置文件.sof:选择配置模式为JTAG或PS方式,使用ALTERA的下载电缆对FPGA进行配置,需要使用。.pof:对各种Altera配置芯片进行编程的文件,需要在开发工具中设置器件类型。.rbf:二进制配置文件,只包含配置数据的内容。通常被用在外部的职能配置设备上。.rpd:用外部编程设备对AS串行配置芯片进行在系统编程的文件。.hex:是一个ASCLL码格式文件,以INTEL的十六进制格式存放了FPGA的编程内容,可以用在外部的配置设置
17、上。.ttf:与rbf内容一样的ASCLL码格式文件,在每个配置数据之间用逗号隔开。.sbf:用BitBlaster来通过PS方式配置的FLEX10K和FLEX6000系列器件将使用该文件.jam:是一种以jam编程语言描述的ASCLL码格式文件。,配置的可靠性,1 配置过程的CRC校验2 掉电重配置保护3 Configration RAM数据的CRC校验,单板设计要点,1 DCLK处理方式:当作告诉信号处理2 多片配置信号处理:在有多片FPGA的配置链中,一般建议将多片FPGA器件的DCLK、DATAO(DATA7:0)、nCONFIG、nSTATUS和CONF_DONE信号连在一起。3 驱
18、动高扇出信号:在多器件的配置链中,配置信号往往需要被重新驱动来保持良好的信号完整性和防止时钟偏斜等问题。4 配置器件的延时:要保证nCS和CONF_DONE之间的走线不要太长,PCB走线负载不能太大,防止CONF_DONE上升时间超时,导致芯片配置不正常。,调试建议,一 对于所有配置模式1 配置文件和器件的一致性2 电平兼容3 配置管脚连接遵循手册4 不同配置方式,管脚的连接要合理5 需干净的DLCK信号6 检测INIT_DONE信号7 配置完成后CONF_DONE信号要被拉高,二 多器件配置链 1 合成配置文件 2 sof配置文件与单板上的器件顺序一致三 使用外部配置设备 1 使用.rbf配置文件,注意先送出最低位 2 DATA和DCLK或nWS信号满足建立保持时间关系 3 不同的配置方式,注意nRS信号的电平,四 使用Altera配置芯片1 确保配置芯片已被正常编程2 使用配置芯片时,要注意FPGA上电在配置器件上电之前3 注意FPGA的nSTATUS信号和配置芯片的OE信号的电平4 正常处理所有的管脚,五 用JTAG配置方式 1 JTAG管脚按手册连接 2 正确处理所有的配置芯片 3 前级芯片输出的TDO的电平可以满足下级芯片TDI的域值要求 4 把TCK信号当作一个高速信号 5 保证一个干净的TCK信号。,